Операторы повтора (циклы)

Содержание

Слайд 2

цель: Ознакомиться с операторами повтора и научиться применять их при решении

цель: Ознакомиться с операторами повтора и научиться применять их при решении

задач.

Задание:
Ознакомьтесь с теоретическим материалом выполните необходимые записи в тетраде (структуру операторов).
Наберите программы в PascalABC проверьте их работоспособность (исправив ошибки) ознакомьтесь с применением  операторов  повтора.
Вышлите скирншоты программ с результатами работы. (первые пять получат оценки в журнал)

Слайд 3

Цикл представляет собой последовательность операторов, которая выполняется неоднократно. Три разновидности цикла:

Цикл представляет собой последовательность операторов, которая выполняется неоднократно.
Три разновидности цикла:
цикл

с постусловием (инструкция repeat),
цикл с предусловием (инструкция while)
цикл со счетчиком (инструкция for).
Слайд 4

Оператор REPEAT Оператор повтора repeat состоит из заголовка (repeat), тела и

Оператор REPEAT

Оператор повтора repeat состоит из заголовка (repeat), тела и условия

окончания (until). Ключевые слова repeat, until обозначают "повторяй" и "пока" соответственно.
repeat
{ Инструкции }
until Условие выхода из цикла;
Слайд 5

Игра "Угадай число" игрок должен угадать число, назовем его comp, "задуманное"

Игра "Угадай число" игрок должен угадать число, назовем его comp, "задуманное"

компьютером — случайное число в диапазоне от О до 1000. Процесс продолжается до тех пор, пока значение переменной igrok, которая вводится с клавиатуры, не совпадет со значением переменной com

var
comp: real; { число, "задуманное" компьютером }
igrok: integer; { вариант игрока }
begin
randomize; { инициализация датчика случайных чисел } comp:=random(1000); { компьютер загадал число }
repeat writ('Введите число: ');
radln(igrok);
if igrok>comp then writln('Слишком много...');
if igrokuntil comp=igrok;
writeln('Вы выиграли!')
end.

Слайд 6

Оператор WHILE Оператор повтора while состоит из заголовка и тела цикла.

Оператор WHILE

Оператор повтора while состоит из заголовка и тела цикла. Ключевые

слова while и do обозначают "до тех пор, пока" и "выполняй" соответственно.
while Условие выполнения цикла do
begin
{ Инструкции }
end;
Слайд 7

При выполнении программа напечатает строки: 1 2 3 4 5 6

При выполнении программа напечатает строки: 1 2 3 4 5 6

7 8 9 10 10 9 8 7 6 5 4 3 2 1

var i: integer;
begin
i:=0;
while i<10 do
begin
i:=succ(i);
write (i, ‘ ‘);
end;
Writeln;
i:=10;
while i>10 do
begin
write (i, ' ‘);
i:=pred(i);
end;
end.

Слайд 8

Оператор FOR Этот вид оператора цикла называют циклом со счетчиком или

Оператор FOR

Этот вид оператора цикла называют циклом со счетчиком или циклом

с параметром. В нем важную роль играет переменная-параметр, которая на каждом шаге цикла автоматически изменяет свое значение ровно на единицу — поэтому ее и называют счетчиком.
Инструкцию for можно реализовать двумя способами.
Слайд 9

Вариант 1 (с увеличением счетчика). for Счетчик := НачальыоеЗначение to КонечноеЗначение

Вариант 1 (с увеличением счетчика).

for Счетчик := НачальыоеЗначение to КонечноеЗначение

do
begin
{ Инструкции }
end;
Ключевые слова for, do обозначают "для", "выполняй" соответственно. Строка содержащая for...do, называется заголовком цикла, оператор, стоящий после do образует его тело. Очень часто тело цикла — составной оператор. Если тело цикла представлено одиночным оператором, то begin и end не пишутся.
Слайд 10

Вариант 2 (с уменьшением счетчика). for Счетчик := НачальноеЗначение downto КонечноеЗначение

Вариант 2 (с уменьшением счетчика).

for Счетчик := НачальноеЗначение downto КонечноеЗначение do

begin
{ Инструкции }
end;
Инструкции между begin и end выполняются столько раз, сколько определяет выражение [(НачальноеЗначение - КонечноеЗначение) + 1]. Если НачальноеЗначение меньше, чем КонечноеЗначение, то инструкции между begin и end не выполняются ни разу.
Слайд 11

Вывод на экран таблицы умножения var i,j: real; { номер строки

Вывод на экран таблицы умножения

var
i,j: real; { номер строки и

столбца таблицы }
begin
for i:=l to 10 do
begin
for j:=l to 10 do
write(i*j:5);
writeln; { перевод строки }
end;
end.