Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование часть1.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
656.22 Кб
Скачать

Глава 4. Реализация циклических алгоритмов

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

Тело цикла — последовательность операторов, повторяемых в процессе выполнения оператора цикла.

4.1. Конструкция цикла со счетчиком

В том случае, когда количество повторений тела цикла известно заранее можно использовать конструкцию цикла со счетчиком (или цикл с параметром).

Возьмем очень простой пример — таблицу умножения: число 2 умножаем на числа от 1 до 10 и печатаем ответ. Какие действия повторяются? Повторяются действия умножения и вывод значения произведения на экран. При этом заметим, что второй сомножитель увеличивается при каждом действии на единицу, и операция умножения повторяется заданное количество раз. Процесс вычислений носит циклический характер, причем число повторений цикла известно к началу его выполнения, управление циклом осуществляется с помощью переменной (счетчик цикла), которая в этом циклическом процессе принимает последовательные значения от заданного начального значения до заданного конечного значения.

2 x 1 = 2

2 x 2 = 4

2 x 3 = 6

2 x 4 = 8

2 x 5 = 10

2 x 6 = 12

2 x 7 = 14

2 x 8 = 16

2 x 9 = 18

2 x 10 = 20

Для программирования повторяющихся заданное количество раз фрагментов программ в языке Турбо Паскаль имеется оператор цикла со счетчиком (часто его называют оператором цикла с параметром).

Как записать сказанное выше с помощью языка математики? Вспомним запись таблицы умножения:

Можно сократить количество строк, используя буквенные обозначения

2 x i = a

Где i изменяется от 1 до 10, а - от 2 до 20.

Итак, делаем вывод — строка 2 x i = a должна быть выполнена 10 раз, т.е. мы должны использовать оператор цикла.

Синтаксическая запись оператора цикла:

FOR i := n TO k DO

ДЛЯ i изменяющегося ОТ начального значения ДО конечного ВЫПОЛНИТЬ

Оператор;

Если требуется повторить группу действий, то оператор выглядит следующим образом.

FOR i:=n TO k DO BEGIN

оператор 1;

оператор 2;

...........

оператор n

END;

ВНИМАНИЕ!

  1. Счетчик изменяется на единицу при каждом следующем исполнении оператора цикла.

  2. Для правильной записи конструкции оператора необходимо помнить: переменные i, n, k — могут быть только переменными так называемого «порядкового типа», это тип, в котором каждое данное имеет свой номер, свое расположение среди других данных этого типа.

  3. Не забывайте, что счетчику присваивается начальное значение.

  4. Если начальное значение совпадает с конечным значением, то операторы цикла выполняются один раз.

  5. Если начальное значение счетчика больше конечного значения, то тело цикла не выполняется ни разу.

  6. При выходе из цикла значение счетчика совпадает с конечным значением, т.е. i=k.

Пример.

Вывести на экран квадраты натуральных чисел от 10 до 20.

Рис. 4.1. Схема алгоритма вывода на экран квадратов чисел.

PROGRAM N1;

USES CRT;

VAR

i: integer; {счетчик цикла}

a: integer;

BEGIN

clrscr;

FOR i:=10 TO 20 DO

BEGIN

a := i * i;

writeln('квадрат числа ', i , ' = ', a)

END; {после последнего оператора между BEGIN и END ';' не нужна}

{КОНЕЦ ЦИКЛА}

writeln('Нажмите любую клавишу для выхода...');

readln;

END.

ИЛИ

FOR i=10 TO 20 DO

writeln(‘квадрат числа i‘, i , ‘=‘, i * i)

Рассмотрим конструкцию цикла «FOR» для того случая, когда счетчик уменьшается на 1 при каждом следующем шаге.

Оператор записывается следующим образом:

FOR i:=n DOWNTO k DO

начальное вниз конечное

значение значение

оператор 1;

{или группа операторов, заключенная в операторные скобки begin и end}

Пример.

Вывести на экран натуральные числа от 19 до 10.

PROGRAM N2;

USES CRT;

VAR

i: integer; {счетчик цикла}

a: integer;

BEGIN

clrscr;

FOR i:=19 DOWNTO 10 DO

write(' ', i );

{КОНЕЦ ЦИКЛА}

writeln('Нажмите любую клавишу для выхода...');

readln;

END.