Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab5(30).doc
Скачиваний:
1
Добавлен:
17.11.2019
Размер:
78.85 Кб
Скачать

45

Лабораторная работа n5

Тема: Применение операторов цикла. Операторы FOR, WHILE, REPEAT

1. Цель работы.

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

  1. Постановка задачи.

В данной лабораторной работе необходимо разработать и отладить программу решения задачи с использованием операторов цикла.

  1. Порядок выполнения работы

  1. Выберите метод решения задачи.

  2. Выберите стандартные функции, необходимые для решения задачи.

  3. Выберите форму представления данных.

  4. Разработайте алгоритм решения задачи. Для ввода данных

используйте диалоговый режим или вводите с помощью генератора

случайных чисел. Результат решения задачи выведите на экран

дисплея.

4. Краткие теоретические сведения.

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

Операторы цикла служат для того, чтобы выполнять какие-либо действия в программе повторно.

В Паскале различают три типа операторов цикла в зависимости от того, стоит ли некоторое условие в начале, середине или в конце цикла.

4.2. Оператор цикла с предусловием - while

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

Если это выражение имеет значение true, то выполняется очередная итерация, в противном случае (значение выражения есть false) выполнение оператора цикла заканчивается. Если выражение с самого начала имеет значение false, то цикл не выполнится ни разу.

Примеры:

1). WHILE M [I] < > 0 DO I := I + 1 ;

2). WHILE X < = N DO

BEGIN

FACT := FACT  X ;

X := X + 1 ;

END ;

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

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

На использование управляющей переменной налагаются следующие ограничения:

1). В качестве управляющей переменной должна использоваться простая переменная, описанная в текущем блоке.

2). Управляющая переменная должна иметь дискретный тип.

Все скалярные типы кроме вещественных называются также дискретными

Стандартные скалярные типы в Паскале делятся на четыре группы:

  • целый тип - integer

  • символьный тип - char

  • булевский тип - boolean

  • длинный целый - longint

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

4). В теле цикла запрещается явное изменение значения управляющей переменной (например оператором присваивания).

5). После завершения оператора значение управляющей переменной становится неопределенным, если только выполнение оператора цикла не было прервано оператором перехода. Однако при нормальном выходе из цикла в большинстве случаев сохраняется последнее значение управляющей переменной.

При использования служебного слова to значение управляющей переменной увеличивается на 1 при каждом повторении.

При использовании downto - значение управляющей переменной уменьшается на 1.

Примеры:

1). FOR I := 10 TO 20 DO ....

FOR I := 20 DOWNTO 10 ....

2). FOR I := 1 TO 10 DO M[I] := I  2 ;

3). FOR I := 2 TO 63 DO

IF DATA[I] > MAX THEN MAX := DATA[I]

4). FOR I := 1 TO 10 D

FOR Y := 1 TO 10 DO

BEGIN

X := 0 ;

FOR K := 1 TO 10 DO

X := X + MAT1[I,K]  MAT2[K,J] ;

MAT [I,J] := X ;

END ;