1 Тема 4. Циклы на языке Паскаль
2 Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл с неизвестным числом шагов (цикл с условием) Задача. Вывести на экран квадраты и кубы целых чисел от 1 до 8 (от a до b ). Особенность: одинаковые действия выполняются 8 раз. Можно ли решить известными методами? ?
3 Алгоритм начало i, i2, i3 конец нет да i
4 Алгоритм (с блоком "цикл") начало i, i2, i3 конец i2 := i * i; i3 := i2 * i; i := 1,8 блок "цикл" тело цикла
5 Программа program qq; var i, i2, i3: integer; begin for i:=1 to 8 do begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end; end. переменная цикла начальное значение конечное значение
6 Цикл с уменьшением переменной Задача. Вывести на экран квадраты и кубы целых чисел от 8 до 1 (в обратном порядке). Особенность: переменная цикла должна уменьшаться. Решение: for i:=8 1 do begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end; for i:=8 1 do begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end; downto
7 Цикл с переменной for := to do begin {тело цикла} end; for := to do begin {тело цикла} end; Увеличение переменной на 1: for := downto do begin {тело цикла} end; for := downto do begin {тело цикла} end; Уменьшение переменной на 1:
8 Цикл с переменной Особенности: переменная цикла может быть только целой ( integer ) шаг изменения переменной цикла всегда равен 1 ( to ) или -1 ( downto ) если в теле цикла только один оператор, слова begin и end можно не писать: если конечное значение меньше начального, цикл ( to ) не выполняется ни разу (проверка условия в начале цикла, цикл с предусловием) for i:=1 to 8 do writeln('Привет'); for i:=1 to 8 do writeln('Привет');
9 Тема 5. Циклы с условием
Цикл "ПОКА". Оператор цикла с предусловием While Do ; Здесь тело цикла выполняется до тех пор, пока логическое выражение возвращает значение True.
While Do ; По-русски можно прочитать так: "Пока истинно условие, выполнять оператор". Здесь, так же как в формате условного оператора, подразумевается выполнение только одного оператора. Если необходимо выполнить несколько действий, то может быть использован составной оператор. Тогда формат оператора принимает такой вид: While Do Begin ; ; ;... End;
Найти сумму квадратов всех натуральных чисел от 1 до 100 Program Ex1; Var A : Integer; S : Longint; Begin A:=1; S:=0; While A
Цикл "ДО". Оператор цикла с постусловием Repeat Until ; Здесь тело цикла выполняется до тех пор, пока логическое выражение возвращает значение False.
Repeat ; ; ;... Until ;
Program Ex2; Var A : Integer; S : Longint; Begin A:=1; S:=0; Repeat S:=S+A*A; A:=A+1 Until A>100; Writeln(S); End.