Оператор цикла
Повторения в Pascal
Оператор цикла
Назначение:
оператор цикла используется том
случае, если нужно несколько раз
повторить однотипные действия
Любой цикл включает в себя:
•
действия (операторы).
• условие завершения – условие, при
цикл
выполнения
прекращает свою работу.
тело цикла – повторяющиеся
которого
цикл
Оператор цикла
Действия, выполняющиеся в теле
цикла должны обязательно влиять на
условие его завершения, в противном
выполнятся
случае
бесконечно, например:
нц пока справа свободно
вправо
кц
В
примере
робот, при отсутствии
стен
будет
двигаться бесконечно…
будет
данном
справа,
R
В данном примере робот, при отсутствии стен справа, будет двигаться бесконечно…
Оператор цикла
В циклах используют два различных
условия завершения:
• изменение состояния среды (как у
робота)
• изменение значения некоторой
переменной (переменной цикла)
Мы будем использовать в основном второй
тип условия завершения, следовательно,
при любом использовании цикла нам
нужно будет объявить хотя бы одну
переменную, значение которой и будет
меняться в цикле.
Мы будем использовать в основном второй тип условия завершения, следовательно, при любом использовании цикла нам нужно будет объявить хотя бы одну переменную, значение которой и будет меняться в цикле.
Оператор цикла
В языке Pascal (да и во всех других
языках) существует три различных
вида циклов, применяющиеся в
различных ситуациях:
•цикл с предусловием
•цикл с постусловием
•цикл со счетчиком
Рассмотрим сначала последний вариант
цикла, в котором в качестве счетчика мы и
будем
некоторую
целочисленную переменную, имя которой
традиционно принято как i.
использовать
Рассмотрим сначала последний вариант цикла, в котором в качестве счетчика мы и будем использовать некоторую целочисленную переменную, имя которой традиционно принято как i.
Оператор цикла со
счетчиком
Формат оператора цикла со счетчиком
выглядит следующим образом:
for переменная:=нач.знач. to кон.знач. do оператор;
переменная – изменяющаяся переменная
цикла (i)
нач.знач. – начальное значение переменной
цикла
кон.знач. – конечное значение переменной
Например:
цикла
оператор – оператор,
будет
for i:=1 to 5 do writeln('Hello');
повторятся
который
переменная – изменяющаяся переменная цикла (i)нач.знач. – начальное значение переменной циклакон.знач. – конечное значение переменной циклаоператор – оператор, который будет повторятсяfor переменная:=нач.знач. to кон.знач. do оператор;
Оператор цикла со
счетчиком
Особенности данного оператора
цикла:
•Перед выполнением цикла переменной
присваивается начальное значение и
сравнивается с конечным значением;
•После каждого выполнения оператора
значение
цикла
автоматически увеличивается на 1;
•Условием завершения цикла является
значение
условие,
переменной цикла превысит конечное
значение (если начальное значение сразу
больше конечного, то цикл не выполнится
переменной
при
котором
Пример задачи
Вывести на экран в строку 20
звездочек(*), т.е. получить такой
результат: ********************
program z;
var i:integer;
Начально
begin
е
значение
writeln('Программа вывода звездочек');
for i:=1 to 20 do
write('*');
end.
Конечное
значение
(повторяющийс
Тело цикла
я оператор)
Объявление
целочисленной
переменной
цикла
Вывести на экран в строку 20 звездочек(*), т.е. получить такой результат: ********************
Ещё пример задачи
В предыдущей задаче не видно, как
меняется значение переменной, поэтому,
посмотрим ещё один пример:
Вывести на экран числа от 1 до 20
program z;
var i:integer;
begin
writeln('Программа вывода чисел');
for i:=1 to 20 do writeln(i);
end.
Теперь на
каждом шаге
выводится
значение
переменной
Вывести на экран числа от 1 до 20
Простые задания
Что нужно изменить в программе,
чтобы:
нр: for i:=1 to 1 do
write(i,' ');
1. Вывести числа от 1 до 20 в строчку
for i:=30 to 50 do
2. Вывести числа от 30 до 50
for i:=17 to 5 do
3. Вывести числа от –17 до 5
4. Изменить начальное и конечное
значение, чтобы цикл выполнился
только 1 раз
5. Изменить начальное и конечное
нр: for i:=1 to 0 do
значение, чтобы цикл не выполнился
ни разу
конечное значение – начальное значение + 1
6. Вычислить в общем случае количество
Простые задания
Задача
Вывести все четные числа от
20 до 80
Проблема:
Переменная цикла автоматически
увеличивается только на 1 (а не на 2)
Алгоритм:
Нужно каждый раз проверять,
является ли переменная цикла четным
числом.
Решение:
Для проверки воспользуемся
условием!
Вывести все четные числа от 20 до 80Решение:Для проверки воспользуемся условием!
Решение
Телом цикла в нашей задаче будет
теперь не оператор вывода, а
условный оператор!
program z;
var i:integer;
begin
writeln('Программа вывода четных чисел');
for i:=20 to 80 do
if i mod 2=0 then write(i,' ');
end.
Задания
1. Вывести все трехзначные
числа, кратные 17.
4. Сделать проверку в
предыдущей задаче, чтобы a
2. Вывести все двухзначные
числа, кратные 3 и некратные
5.
3. Вывести все нечетные числа от
a до b
(a и b вводятся с клавиатуры).
Задания
Перспективы
А на следующем уроке мы научимся
находить количество чисел, их
сумму, произведение и разрешать
ситуацию, в которой нужно
повторить не один, а несколько
операторов…