- •«Основы пРограммирования на языке pAscal»
- •Лабораторная работа №1
- •1. Общие сведения
- •1.1. Введение
- •1.2 Алфавит языка Паскаль
- •1.3. Константы
- •1.3.1. Символьные константы
- •1.4. Переменные
- •1.5. Перечисляемые типы данных
- •1.6. Оператор присваивания
- •1.7. Выражения
- •1.8. Организация программы
- •1.9. Комментарии
- •1.10. Операторы ввода-вывода
- •1.10.1. Операторы ввода
- •1.10.2. Операторы вывода
- •1.10.3. Управление формой вывода данных
- •1.10.4 Вывод значений переменных
- •Лабораторная работа №2
- •1.Общие сведения.
- •1.1. Понятие циклического процесса.
- •1.2. Операторы цикла с параметром.
- •1.3. Оператор цикла с предусловием.
- •1.4. Оператор цикла с постусловием.
- •1.5. Вложенные циклы.
- •2. Задание
- •3. Содержание отчёта
- •4. Контрольные вопросы.
- •Лабораторная работа №3
- •1. Общие сведения.
- •2. Задание.
- •3. Содержание отчета.
- •4. Контрольные вопросы.
- •Лабораторная работа №4
- •1. Общие сведения.
- •1.1. Описание процедуры.
- •1.2. Функция.
- •1.3 Обращение к подпрограммам.
- •2. Задание
- •3. Содержание отчета.
- •4. Контрольные вопросы:
- •Лабораторная № 5
- •1.Общие сведения.
- •1.1. Установка графического режима.
- •1.2. Процедура
- •1.3. Координаты.
- •1.4. Цвета.
- •1.5. Линии и точки.
- •1.6. Многоугольники.
- •1.7. Дуги, окружности, эллипсы.
- •1.8. Заполнения.
- •1.9. Вывод текста.
1.3. Оператор цикла с предусловием.
Оператор цикла с предусловием имеет следующий вид:
WHILE В DO S
где WHILE (пока), DO (выполнить) - служебные слова;
В - условие (логическое выражение)
S - тело цикла, содержащие один или несколько операторов.
Работа оператора цикла WHILE заключается в следующем – пока условие истинно, то выполняются операторы, входящие в тело цикла. Как только условие станет ложным, выполнение операторов цикла прекращается. Если условие ложно с самого начала, то оператор цикла не выполняются ни разу. Условие вычисляется и анализируется перед каждым выполнением цикла, отсюда и термин “предусловие”. Значения переменных, входящих в условие, должны изменяться в теле цикла, иначе, цикл никогда не завершится.
Оператор цикла WHILE позволяет организовать цикл с неизвестным числом повторений, т.к. оно зависит от вычислений в операторе.
Пример: Составить программу для определения K, при котором функция Xk/K становится меньше A , где K =1,2,3…
Программа задачи имеет вид:
PROGRAM ITER;
VAR
X, A, P: REAL;
K: INTEGER;
BEGIN
READ (X, A);
K: =1;
P: =X;
WHILE P/K<A DO
BEGIN
K: =K+1;
P: =P*X;
END;
WRITE (‘K= ‘, K);
END.
Пример: Составить программу для вычисления суммы членов бесконечного ряда с точностью до члена ряда, меньшего е: Z=1+X+X2/2!+X3/3!+…+Xn/n!…
Так как в данном случае при суммировании заранее не известно число членов ряда, то воспользоваться оператором цикла FOR невозможно. Задача вычисления суммы членов бесконечного ряда требует организации итерационного цикла, окончание которого определяется условием у<е,
где у – значение члена ряда.
Начальное значение суммы необязательно равно нулю, если значение первого члена ряда вычислять нет необходимости.
Программа имеет следующий вид:
PROGRAM RYD;
VAR
X, EPS, Y, Z: REAL;
N: INTEGER;
BEGIN
READ (X, EPS);
N: =0;
Y: =1;
Z: =1
WHILE Y>=EPS DO
BEGIN
N: =N+1;
Y: =Y*X/N;
Z: =Z+Y;
END;
WRITE (‘Z= ‘, Z);
END.
1.4. Оператор цикла с постусловием.
Оператор цикла с постусловием имеет следующий вид:
REPEAT
S1;
S2;
. . .
UNTIL B
Где REPEAT (повторять), UNTIL (до тех пор, пока) – служебные слова;
S1, S2 . . . любые операторы языка, входящие в тело цикла;
B – условие (логическое выражение).
Действие оператора REPEAT подобно действию оператора WHILE, но проверка условия производится после очередного цикла, что обеспечивает его выполнение хотя бы один раз. Служебные слова REPEAT, UNTIL по действию похожи на операторные скобки BEGIN – END . Между ними можно поместить группу операторов, отделяя их друг от друга точкой с запятой. Операторы, входящие в тело цикла выполняются до тех пор, пока условие ложно.
При составлении условны циклов (с предусловием или постусловием – циклы типа ПОКА) необходимо принимать во внимание следующие моменты:
перед каждым выполнением цикла условие его окончания (или продолжения) должно быть определено (иметь конкретное значение);
тело цикла должно содержать хотя бы один оператор, влияющий на условие окончания (продолжения), иначе цикл будет продолжаться бесконечно;
условие окончания цикла должно быть в конце концов удовлетворено;
условие вычисляется при каждом выполнении цикла и поэтому должно быть насколько можно простым.
Пример: Составить блок – схему и программу решения задачи, приведённой в последнем примере пункта 1.3, использовав оператор цикла с постусловием REPEAT .
Программа имеет вид:
PROGRAM RYD;
VAR
X, EPS, Y, Z: REAL;
N: INTEGER;
BEGIN
READ (X, EPS);
N: =0;
Y: =1;
Z: =1
REPEAT
N: =N+1;
Y: =Y*X/N;
Z: = Z+Y;
UNTIL Y<EPS;
WRITELN (‘Z=’, Z);
END.
