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

ЛАБОРАТОРНАЯ РАБОТА №2.

Программирование алгоритмов циклической структуры (без использования регулярного типа данных)

Цель работы: Развить практические навыки работы с системой TURBO Pascal и научить правильно использовать операторы цикла While, Repeat и For в программах. Знать алгоритмы: вычисления суммы (произведения) членов ряда, факториала.

Теоретические сведения

Операторы цикла предназначаются для выполнения входящих в их состав опера­торов (операторами тела цикла) несколько раз (в частном случае - один раз или ни разу). В языке Pascal имеется три вида операторов цикла: While. Repeat и For

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

Его синтаксис:

While A do ST;

где: 1) А - булевское выражение; 2) ST - оператор (часто составной), составляющий тело цикла.

Значение выражения А вычисляется перед каждым выполнением оператора ST, по­этому цикл While называют еще циклом с предусловием.

Если значение А есть TRUE, то оператор ST выполняется и управление передается на вычисление значения выражения А; если значение выражения А есть FALSE, то опера­тор ST не выполняется и происходит выход из цикла.

Замечания:

(1) если первоначальное значение выражения А - FALSE, то оператор ST не будет выполнен ни разу,

(2) после зарезервированного слова do точка с запятой не ставится (это приведет к зацикливанию);

(3) чтобы избежать бесконечного повто­рения (зацикливания), необходимо хотя бы одну переменную, входящую в условие, из­менять в теле оператора цикла. Более того, эти изменения должны быть такими, чтобы булевское выражение рано или поздно приняло значение FALSE. Если же булевское вы­ражение первоначально истинно и ни при каких обстоятельствах не становится лож­ным, то выполнение оператора цикла никогда не завершится.

Наконец, цикл While используется, как правило, в тех случаях, когда заранее неиз­вестно количество повторений цикла. В связи с этим следует помнить простое, но очень важное правило - "самая внутренняя" циклическая конструкция должна форму­лироваться с особой тщательностью с тем, чтобы по возможности минимизировать за­траты на вычисления и повысить эффективность программы.

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

Цикл Repeat, также как и While используется в тех случаях, ко­гда заранее неизвестно количество повторений операторов тела цикла, но значение выражения А вычисляется не в начале а, после каждого выполнения тела цикла, по­этому этот цикл называют еще циклом с постусловием.

Синтаксис опе­ратора цикла Repeat:

Repeat

ST1;

ST2;

STn-1;

STn

until A;

где: 1) ST1, ST2 ,…,STn – операторы, составляющие тело цикла (возможно один составной); 2) А - булевское выражение.

Замечания:

(1) Если значение выражения А есть TRUE с самого начала, то операторы ST выполняются лишь один раз (т.е. тело цикла всегда выполняется хотя бы один раз);

(2) Если выражение А никогда не принимает значение TRUE, то группа операторов ST (тело цикла) выполняется бесконеч­ное число раз (зацикливание). Чтобы булевское выражение приняло значение TRUE, необходимо переменную, входящую в условие, из­менять в теле оператора цикла,.

(3) Следует отметить, что нижняя граница операторов циклической части четко обо­значена словом until, поэтому нет необходимости заключать операторы циклической части в операторные скобки begin и end.

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