Полный набор заданий можно скачать здесь
Задание 14
При обработки данных в электронных таблицах применяются встроенные функции – заранее определенные формулы. При выполнении табличных расчетов в заданиях С19 достаточно часто используются функции:
❗Все ячейки для функции выделяются зажатой кнопкой мыши, либо прописываются вручную, на английской языке.
Список функций:
название | применение | дополнительно |
МИН(число1;число2;…) | выбор минимальго числа из диапазона | |
МАКС(число1;число2;…) | выбор максимального числа из диапазона | |
СРЗНАЧ(число1;число2;…) | среднее значение/среднее арифметическое чисел из выбранного диапазона | |
СУММ(число1;число2;…) | сумма выбранных ячеек/чисел | |
По условию | ||
СЧЁТЕСЛИ(диапазон;критерий) | подсчет КОЛИЧЕСТВА элементов по какому-либо условию |
|
СУММЕСЛИ(диапазон;критерий;диапазон_суммирования) | сумма данные по выбранному условию |
|
СРЗНАЧЕСЛИ(диапазон;критерий;диапазон_суммирования) | среднее значение по условию |
|
Более одного условия: | ||
СЧЁТЕСЛИМН(диапазон1;критерий1;диапазон2;критерий2;..) | подсчет КОЛИЧЕСТВА элементов по двум и более условиям | |
СУММЕСЛИМН(диапазон;критерий;диапазон_суммирования) | суммирование по двум и более условиям |
используется если необходимо, например, подсчитать сумму баллов по географии, среди тех, кто сдал информатику (1 диапазон), больше чем на 75 баллов (1 условие) и тех, кто получил по физике (2 диапазон) не менее 60 баллов (2 условие). Диапазон_суммирования будет столбец географии |
СРЗНАЧЕСЛИ(диапазон;критерий;диапазон_суммирования) | среднее значение по двум и более | аналогично суммеслимн |
Редко используемые функции:
И(логическое_значение1;логическое_значение2;…) - возвращает значение ИСТИНА, если все аргументы имеют значение ИСТИНА; возвращает значение ЛОЖЬ, если хотя бы один аргумент имеет значение ЛОЖЬ.
Аргументы функции - логические выражения, принимающие значения либо истина, либо ложь.
Примеры: =И(2+2=4;2+3=5) – истина(1), =И(1<A2;A2<100), =И(ИСТИНА; ЛОЖЬ) – ложь(0)
ИЛИ(логическое_значение1;логическое_значение2;…) - возвращает значение ИСТИНА, если хотя бы один из аргументов имеет значение ИСТИНА; возвращает ЛОЖЬ, если все аргументы имеют значение ЛОЖЬ.
Аргументы функции - логические выражения, принимающие значения либо истина, либо ложь.
Примеры: =ИЛИ(1+1=1;2+2=5) – ложь(0), =ИЛИ(A2>12;B2<100)
НЕ(логическое_значение) - меняет на противоположное логическое значение своего аргумента. Функция НЕ используется в тех случаях, когда необходимо быть уверенным в том, что значение не равно некоторой конкретной величине.
Аргумент функции - логическое выражение, принимающие значения либо истина, либо ложь.
Примеры: =НЕ(1+1=2) – ложь(0), =НЕ(10<8) – истина(1), =НЕ(С1=5)
ЕСЛИ(логическое_выражение;значение1;значение2) - используется при проверке условий для значений и формул.
Здесь логическое_выражение – любое выражение, построенное с помощью операций отношения и логических операций, принимающее значения ИСТИНА или ЛОЖЬ.
Если логическое_выражение истинно, то ячейка, в которую записана условная функция, принимает значение1, если ложно - значение2.
Примеры: =ЕСЛИ(D3>270;«принят»;«не принят») – решение о зачислении в университет (в текстовом формате) при сумме баллов выше 270
=ЕСЛИ(И(В2>90;С2>85);1;0) - решение о зачислении на медицинский факультет (в числовом формате) при оценке по химии (столбец В) выше 90 и оценке по биологии (столбец С) выше 85
Задание 20 состоит из двух частей - 15.1 и 15.2 решить нужно только одну из них!
Задание 15.1 - составление алгоритма для исполнителя "Робот"
Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может. У Робота есть девять команд. Четыре команды — это команды-приказы:вверх вниз влево вправо
При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑ вниз ↓, влево ← , вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится. Также у Робота есть командазакрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.
Ещё четыре команды — это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:
сверху свободно снизу свободно слева свободно справа свободно
Эти команды можно использовать вместе с условием «если», имеющим следующий вид:
если условие то
последовательность команд
все
Здесь условие — одна из команд проверки условия. Последовательность команд — это одна или несколько любых команд-приказов. Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:
если справа свободно то
вправо
закрасить
все
В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не,например:
если (справа свободно) и (не снизу свободно) то
вправо
все
Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:
нц пока условие
последовательность команд
кц
Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:
нц пока справа свободно
вправо
кц
Задание 15.2 - короткий алгоритм на языке программирования
Алгоритм использует базовые, простейшие конструкции языка Pascal - циклы, редко ветвления. Массивы для решения этих задач не нужны!
Задачи можно разделить на два типа: с использованием цикла for, с циклом while.
Подробнее с циклами можно познакомиться здесь
Цикл for
В этих задачах нам вводится сначала количество чисел.
Затем вводятся сами числа и мы их анализируем - удовлетворяют ли они условию из задачи.
Давайте вспомним базовые проверки:
- Проверка делимости. Мы говорим что одно число делится на другое, тогда когда остаток от деления равен 0.Чтобы проверить делимость числа k, например, на 5 мы должны спросить if k%5==0: Подробнее о конструкции if можно посмотреть здесь
- Проверка на что оканчивается число. В этом случае нам нужна последняя цифра в числе, то есть нам нужен остаток от деления на 10. Например, 34%10=4. Таким образом, чтобы проверить оканчивается ли число на 1 напишем: if k%10==1:
- Трехзначонсть/двухзначность и так далее. Чтобы определить является ли число двузначным, достаточно, чтобы оно было больше 9 и меньше 100, то есть на языке Python: if k>9 and k<100: Аналогично трехзначное число:if k>99 and k<1000:
- Проверка цифры на которое число начинается. Здесь надо вспомнить, как связаны разряды числа - единицы, десятки, сотни... и 10,100 и т.д. Ведь чтобы проверить начинается ли двузначное число на 4, надо поделить его на 10 и спросить равна ли целая часть 4: if k//10==4: и не забудем проверить его двузначность, то есть: if k>9 and k<100 and k//10==4:
Цикл while
Цикл while является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает true, то тело цикла выполняется, если false – то нет.
Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true. Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация false. Иначе произойдет так называемое зацикливание, одна из самых неприятных ошибок в программировании.
var
i, n: integer;
begin
write ('Количество знаков: ');
readln (n);
i := 1;
while i <= n do begin
write ('(*) ');
i := i + 1
end;
readln
end.