Публикую справочную информацию для подготовки к проверочной работе. В самом конце обязательное ДЗ для тех, кто не смог сделать задание в классе
Операторы цикла используются для реализации многократного выполнения одной или нескольких команд. Различают 3 типа циклов:
- цикл с параметром;
- цикл с предусловием;
- цикл с постусловием.
Все 3 типа реализованы операторами языка Pascal.
Цикл с параметром
Цикл с параметром используется тогда, когда заранее известно количество повторений и шаг постоянен. Этот тип цикла реализуется в языке Pascal оператором For, который имеет 2 варианта записи:
1) For параметр цикла:=начальное значение to конечное значение do тело цикла
2) For параметр цикла:=начальное значение downto конечное значение do тело цикла
Параметр цикла – переменная целого типа;
начальное и конечное значения – выражения того же типа;
тело цикла – простой или составной оператор.
- Цикл повторяется, пока значение параметра лежит в интервале между начальным и конечным значениями
- При каждом повторении цикла значение параметра автоматически изменяется: в первом варианте увеличивается, а во втором уменьшается на 1.
- Значение параметра цикла можно использовать, но нельзя изменять внутри цикла.
Примеры:
1. Программа выводит на экран числа от 1 до 7
Program prog1;
var i:integer;
begin
for i:=1 to 7 do writeln(i);
end.
2. Программа выводит на экран числа от 7 до 1
Program prog2;
var i:integer;
begin
for i:=7 downto 1 do writeln(i);
end.
3. Программа вычисляет S=1+2+…+N, где N - введенное целое число
Program sum1;
var i,n,s:integer;
begin
write('n=');
readln(n);
s:=0;
for i:=1 to n do s:=s+i;
writeln('s=',s);
end.
Цикл с предусловием (цикл – пока)
Цикл с предусловием – наиболее универсальная циклическая структура (с его помощью можно представить любой цикл). В языке Pascal этот вид цикла реализован оператором While:
While условие do begin тело цикла end
Оператор While выполняется следующим образом:
1. проверяется условие
2. если условие выполнено, выполняется тело цикла и происходит переход к п. 1
3. если условие не выполнено, то происходит переход к следующей команде (выход из цикла)
Особенности:
- Цикл повторяется, пока условие выполнено
- Если изначально условие не выполнено, то тело цикла не выполняется ни разу
- Оператор While может зациклиться: если изначально условие выполнено, а в теле цикла его значение не изменяется, то выхода из цикла не происходит
Примеры:
1. Программа вычисляет S=1+2+…+N, где N - введенное целое число
Program sum1;
var i,n,s:integer;
begin
write('n=');
readln(n);
s:=0; i:=1
While i<=n do
begin
s:=s+i; i:=i+1;
end;
writeln('s=',s);
end.
2. Написать программу решения уравнения ax + b = 0, если a = 1, 2, 3, 4, 5
Program ur_e;
var a:integer; b,x:real;
begin
write('введите коэффициент b');
readln(b);
a:=1;
While a <=5 do
begin
x:=-b/a;
writeln(’При a= ’, a, ’x=’, x:5:2);
a:=a+1;
end;
end.
Цикл с постусловием (цикл – до)
Цикл с постусловием реализован в языке Pascal оператором Repeat:
Repeat тело цикла until условие
Оператор Repeat выполняется следующим образом:
1. выполняется тело цикла
2. проверяется условие
3. если условие не выполнено, то происходит переход к п. 1
4. если условие выполнено, то происходит переход к следующей команде (выход из цикла)
Особенности:
- Цикл повторяется, пока условие не выполнено (до момента, когда условие выполнится)
- Тело цикла выполняется по крайней мере 1 раз
- Оператор Repeat может зациклиться: если изначально условие не выполнено, а в теле цикла его значение не изменяется, то выхода из цикла не происходит
- Если тело цикла Repeat – составной оператор, то операторные скобки не обязательны (тело цикла в этом операторе всегда ограничено ключевыми словами Repeat и Until)
Пример:
Написать программу решения уравнения ax + b = 0, если a = 1, 2, 3, 4, 5
Program ur_e;
var a:integer; b,x:real;
begin
write('введите коэффициент b');
readln(b);
a:=1;
repeat
begin
x:=-b/a;
writeln(’При a= ’, a, ’x=’, x:5:2);
a:=a+1;
end;
end.
Задание 9. Выбрать 2 функции из трех и написать программу с использованием другого (не рассмотренного на уроке) вида цикла.