Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 6 Циклы.doc
Скачиваний:
3
Добавлен:
02.11.2018
Размер:
199.68 Кб
Скачать

8

Лекция 6

  1. Операторы цикла

Алгоритмы решения многих задач являются циклическими, т.е. для достижения результата определенная последовательность действий должна быть выполнена несколько раз. Например, программа контроля знаний.

Оператор цикла с параметром for...

Служит для организации циклов с заранее известным числом повторений. Циклы, в которых количество повторений заранее определено, называются регулярными.

Существует 2 варианта записи оператора:

Инкрементный вариант:

for i :=<начало> to <конец> do <оператор>; // шаг = 1

Декрементный вариант:

for i :=<конец> downto <начало> do <оператор>; // шаг = -1

for - для,

to - до,

downto - вниз до,

do - делать,

i - параметр цикла – переменная счетчик числа

повторений цикла ( целого типа ).

Начало и конец - выражение или константы, определяющие начальное и конечное соответственно значение параметра цикла.

Количество повторений тела цикла можно вычислить по формуле:

N = кон_знач – нач_знач + 1

Выполняется оператор for следующим образом:

  1. Сначала вычисляется и запоминается начальное и конечное значения параметра цикла.

  2. Далее параметру цикла присваивается начальное значение.

  3. Затем значение параметра цикла сравнивается с конечным значением.

  4. Далее, пока параметр цикла  конечного значения (в 1 варианте оператора), выполняется очередная итерация цикла, в противном случае – выход из цикла.

Правила работы с оператором цикла for:

1. Если в цикле требуется выполнить несколько операторов, то их следует превратить в составной, используя операторные скобки.

for i :=1 to n do

begin

//инструкции цикла

end;

2. Переменная цикла должна быть объявлена в том же блоке, где находится оператор цикла.

3. Нельзя в теле цикла менять значение переменной цикла.

4. При естественном завершении цикла переменная цикла объявляется неопределенной.

Задача1. Вывести на экран буквы от A до Z (инкрементный вариант)

..

var

m : Char; // Объявление символьного типа

begin

for m := ' A ' to ' Z ' do

Write(m,' ');

Readln

end.

Задача2. Обратный отсчет времени перед запуском (декрементный вариант)

…….

var

Seconds : byte;

begin

Writeln ( ' Obratny otchet vremeni ' ); // Обратный отсчет времени

for Seconds := 10 downto 1 do

Writeln ( ' Ostalocy ', Seconds:3, ' Sec ' );

Writeln ( ' Start ' );

Readln

end.

Задача3. Написать программу, которая выводит таблицу квадратов первых десяти целых положительных чисел (инкрементный вариант).

program Example3;

uses

SysUtils;

var

x:integer; //число

y:integer; //квадрат числа

i:integer; //счетчик циклов

begin

writeln( ' Tables square ' );

writeln( '------------------' );

writeln( ' x | y ' );

writeln( '------------------');

x:=1;

for i:=1 to 10 do

begin

y:=x*x;

writeln(x:5,' |', y:6);

x:=x+1;

end;

writeln( '------------------');

readln;

end.

Tables square

------------------

x | y

------------------

1 | 1

2 | 4

3 | 9

4 | 16

5 | 25

6 | 36

7 | 49

8 | 64

9 | 81

10 | 100

------------------

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]