Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
P_LAB_03_Программирование циклических алгоритмо...doc
Скачиваний:
1
Добавлен:
15.11.2019
Размер:
205.82 Кб
Скачать

Волгоградский государственный социально-педагогический университет

Кафедра информатики и информатизации образования

Программирование Часть 1

Основы программирования на языке PASCAL

Лабораторная работа №3

Программирование циклических алгоритмов

Волгоград

2012

Составитель: Глазов С.Ю., доцент кафедры общей физики ВГПУ

Программирование. ч.1. Основы программирования на языке Pascal. Лабораторная работа №3. Программирование циклических алгоритмов. 2012.

Лабораторная работа №3

Основы программирования на языке PASCAL

Программирование циклических алгоритмов

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

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

Перед выполнением работы необходимо изучить различные схемы организации циклов и операторы FOR, WHILE и REPEAT, с помощью которых они программируются.

1. Цикл с параметром

FOR переменная := значение1 TO значение2 DO оператор

или

FOR переменная := значение1 DOWNTO значение2 DO оператор

Блок-схема цикла: FOR I:=A TO B DO оператор

да

Оператор FOR вызывает оператор, находящийся после слова DO, по одному разу для каждого значения в диапазоне от значения1 до значения2.

Переменная цикла, начальное и конечное значения должны иметь порядковый тип.

Со словом TO, значение переменной цикла увеличивается на 1 при каждой итерации цикла.

Со словом DOWNTO, значение переменной цикла уменьшается на 1 при каждой итерации цикла. Не следует самостоятельно изменять значение управляющей переменной внутри цикла.

Как и в случае использования оператора условного перехода, следует помнить, что синтаксис языка допускает запись только одного оператора после ключевого слова DO, поэтому, если вы хотите в цикле выполнить группу операторов, необходимо объединить их в составной оператор (окаймить операторными скобками begin ... end). В противном случае будет сделана логическая ошибка программы.

Пример1. Квадраты чисел от 2-х до 10-и.

for x:=2 to 10 do Writeln(x*x);

Пример 2. Латинский алфавит.

for ch:='A' to 'Z' do Writeln(ch);

Пример 3. Использование цикла с downto.

for i:=10 downto 1 do Writeln(i);

Пример 4. Использование составного оператора.

for x:=1 to 10 do

begin

y:=2*x+3;

WriteLn('f(',x,')=',y);

end;

2. Цикл с предусловием

WHILE выражение DO оператор

Оператор после DO будет выполняться до тех пор, пока логическое выражение принимает истинное значение (True). Логическое выражение является условием возобновления цикла. Его истинность проверяется каждый раз перед очередным повторением оператора цикла, который будет выполняться лишь до тех пор, пока логическое выражение истинно. Как только логическое выражение принимает значение ложь (False), осуществляется переход к оператору, следующему за WHILE.

Выражение оценивается до выполнения оператора, так что если оно с самого начала было ложным (False), то оператор не будет выполнен ни разу.

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

Пример 5.

eps:=0.001;

while x > eps do x:=x/2;

Цикл с постусловием Цикл с предусловием

(ЦИКЛ-ПОКА) (ЦИКЛ-ДО)

нет

нет да

да