Учебник MAXIMUM Education

Интернет-энциклопедия по школьным предметам от Maximum Education. Учебник поможет решить домашнее задание, подготовиться к контрольной и вспомнить прошлые темы.

9 класс
Информатика

Простые программы с циклами

Для описания повторяющихся операций в программировании используются циклы. Смысл циклов заключается в том, что они повторяют определенный набор действий. При этом при каждом повторении что-то может меняться.

Цикл while (ПОКА)

В случае с циклом ПОКА набор команд повторяется, ПОКА что-то происходит (или пока что-то не произойдет):

Синтаксис цикла ПОКА в Python прост. Командное слово для цикла – while, а команды цикла записываются на отступе от строки, инициализирующей цикл.

В данном примере значение переменной i будет печататься всякий раз, пока она не станет больше 10-ти. Последняя строка в цикле – i +=1 – отвечает за постепенный рост величины переменной. Если бы этой строки не было, цикл выполнялся бы бесконечно – это означало бы программную ошибку (и, очевидно, ошибку на экзамене).

Цикл for (ДЛЯ)

Второй цикл, который очень часто встречается в заданиях экзамена – это цикл ДЛЯ. Его отличие от ПОКА проще показать на примере:

  1. «пишу реферат, пока не напишу до конца»

  2. «пишу реферат с 8-ми до 10-ти»

Прекращение цикла ПОКА – это логическое условие («написал весь реферат»), а у цикла ДЛЯ задаются четкие границы. Обычно эти границы задаются с помощью переменной, которая меняет свое значение с некоторым шагом, и определенное значение является условием для выхода:

В данном случае переменная i будет автоматически менять свое значение каждый раз, увеличиваясь на единицу (это внутреннее свойство и смысл цикла ДЛЯ). Такая переменная называется итерационной, т.к. она определяет итерации цикла. На Python синтаксис цикла ДЛЯ выглядит следующим образом:

# цикл запустится n раз с i = 0, 1, 2, 3, …, n-1

Конструкция for i in range() заслуживает особого внимания. С помощью функции range() в Python можно задавать диапазон значений, которые будет принимать любая численная переменная с некоторым шагом. Эту конструкцию можно использовать как для создания наборов таких значений, так и для генерации итерационной переменной. Последнее ее применение наиболее эффективно и будет крайне полезным практически во всех заданиях на программирование в ОГЭ. У функции range всего может быть три аргумента: начало, конец, шаг. Чаще всего используются только два – тогда она обозначают начало и конец с шагом 1: range(m, n). При этом при перечислении значений начало всегда ВКЛЮЧАЕТСЯ, а конец – ИСКЛЮЧАЕТСЯ из набора.

Пример.

Строка

будет генерировать значения 4, 5, 6, 7, 8 (включая 4, но не включая 9)

Пускай нам надо написать программу, которая будет считать факториал введенного числа. Факториал в математике – операция, определяемая только для натуральных чисел; факториал равен произведению всех натуральных чисел, предшествующих заданному. Например, факториал числа 4 равен 1*2*3*4 = 24, а факториал числа 7 равен 1*2*3*4*5*6*7 = 5040. Программа для расчёта факториала будет выглядеть следующим образом:

Рассмотрим пример задания экзамена.

Задание на работу с циклом.

Запишите значение переменной s, полученное в результате работы следующей программы. Текст программы приведён на пяти языках программирования.

Решение.

В программе используется цикл for, в рамках которого при каждом повторении к искомой переменной s добавляется 10. Начальное значение переменной s равно 0. Получается, что после работы программы итоговое значение переменной s можно описать формулой s = 0 +n*10, где n – это количество повторений цикла.

Определить количество повторений цикла можно из границ функции range.

for k in range (6,13): - получается, что k будет принимать значения 6, 7, 8, 9, 10, 11, 12. Всего 7 повторений цикла.

Посчитаем итоговое значение s: s = 0 +7*10 = 70.

Ответ: 70