Тема 11 · Информатика

Программирование: циклы

Цикл с переменной и цикл с условием, сумма цифр, алгоритм Евклида, проверка делимости. 100 заданий на отработку.

0
Решено
0
Правильно
0%
Точность

Простыми словами

«Сделай 10 приседаний» — повторить действие заданное число раз. «Иди, пока не дойдёшь до двери» — повторять, пока выполняется условие. В программировании это два вида циклов: for и while.

Цикл — многократное повторение группы команд. Повторяющаяся часть — тело цикла, одно выполнение тела — итерация.

Цикл с переменной (for)

for i := 1 to n do
  тело;

Переменная i по очереди принимает значения ; тело выполняется ровно раз. Если начальное значение больше конечного, цикл не выполнится ни разу. Для обратного счёта — downto. Если в теле несколько команд, их берут в begin … end.

n := 4; s := 0;
for i := 1 to n do s := s + i;
writeln(s)
—1234
013610

Выведет .

То же, но s := s + i * i при : .

Формула суммы квадратов .

Начальное значение накопителя: для суммы s := 0, для произведения p := 1. Если забыть — результат будет неверным.

Цикл с условием (while)

while условие do
  тело;

Перед каждой итерацией проверяется условие; пока оно истинно, тело выполняется. Если условие сразу ложно, тело не выполнится ни разу.

условие тело данет выход www.reknow.ru
Цикл с предусловием

Если в теле ничего не меняет условие, программа зацикливается. Это логическая ошибка — компилятор о ней не предупредит.

Классические алгоритмы

ЗадачаИдея
сумма цифр числаwhile a > 0 do begin s := s + a mod 10; a := a div 10 end
алгоритм Евклида (НОД)пока , заменяем пару на ; ответ —
проверка делимостиa mod b = 0
проверка на простотуперебор делителей от 2 до
  1. , , .
  2. , , .
  3. , , — цикл закончен. Ответ: .

mod 10 — последняя цифра числа, div 10 — число без последней цифры.

Разбор типичных циклов

ФрагментЧто делаетПример
p := 1; for i := 1 to n do p := p * 2вычисляет :
k := 0; while a > 0 do begin k := k + 1; a := a div 10 endсчитает цифры числа:
while a mod 2 = 0 do a := a div 2убирает все множители 2
for d := 2 to n - 1 do if n mod d = 0 then k := k + 1считает делители, кроме 1 и ; — число простое: делители 2, 4, 8, 16, 32 —

i := 1; while i <= 7 do i := i + 2

  1. Тело выполняется при — 4 раза.
  2. После четвёртого раза , условие ложно — выход.

НОД(25, 16): . Ответ: — числа взаимно простые.

Цикл for i := 1 to 11 выполнится ровно 11 раз — по числу значений . Сумму удобно проверять формулой : при это .

Серия: 0
Учителю

Готовые работы по теме

Собраны заранее — одним нажатием: распечатать с ключом, раздать ученикам ссылкой или QR-кодом, поменять настройки. Номер набора постоянный: по этой ссылке всегда та же работа.

Самостоятельная

10 заданий · 2 варианта · с ключом

РаспечататьРаздать ссылкойИзменить

Контрольная

15 заданий · онлайн, 40 минут

РаспечататьРаздать ссылкойИзменить

Диагностика перед темой

8 заданий · 15 минут

РаспечататьРаздать ссылкойИзменить

теория этой темы, 8 заданий по подтемам и ключ — файлом DOCX, который можно править под себя.

Учителю о теме

Что проверяется

  • Циклы

Содержание

На бумаге — не больше 25: дальше лист перестаёт быть работой на урок. Онлайн — до 40.

Не нравится задание в собранном листе — нажмите «заменить» под ним: вместо него встанет другое из той же подтемы.

Варианты

Разные задания при одинаковом наборе тем и одинаковом числе заданий.

Прохождение онлайн

Имя ученика никуда не отправляется: он вводит только номер по списку, а таблицу «номер → фамилия» видите только вы.

Оценка
Печать

Собранный лист можно скачать файлом Word — кнопка «Скачать DOCX» над листом: задания, место под решение и ключ, всё редактируется.

Печатается над каждым вариантом. Хранится только в этом браузере, в ссылку не попадает.

По одному и тому же номеру собирается та же работа — ссылку можно сохранить и вернуться к ней позже.