- •Автономная некоммерческая организация высшего профессионального образования «Брянский институт управления и бизнеса»
- •Методические пособие по изучению алгометрического языка pascal
- •Оглавление
- •Введение
- •Глава 1 основные понятия .
- •Алфавит языка.
- •Основные определения языка.
- •Составные части программы.
- •Вопросы для самоконтроля
- •Глава 2 стандартные типы данных
- •Данные целого типа.
- •Вычисление об"ема шара
- •Данные действительного типа.
- •Данные логического типа.
- •Данные символьного типа.
- •`Теплоход``маяк``` или `д``артаньян`
- •Описание констант и переменных.
- •Var_имя переменной: тип;
- •Вопросы для самоконтроля
- •Глава 3 выражения.
- •3.1. Стандартные функции.
- •3.2. Арифметические выражения.
- •3.3. Логические выражения.
- •Вопросы для camokohtpoля
- •Глава 4 основы программирования простых задач.
- •4.1. Оператор присваивания.
- •4.2. Понятие о составном и пустом операторах. Назначение символа точки с запятой.
- •Простейший ввод данных.
- •5 Позиций
- •8 Позиций
- •Примеры программирования простых задач.
- •Вопросы для самоконтроля
- •5.1. Условный оператор.
- •Оператор выбора.
- •Оператор перехода.
- •Go to метка
- •Lавеl метка;
- •Label метка 1, метка 2,…, метка n;
- •5.4.Примеры программирования вычислительных процессов с разветвлениями.
- •Глава 6 организация циклических прцессов.
- •Оператор цикла с предварительным условием.
- •Оператор цикла с последующим условием.
- •Операторы циклической части программы
- •Оператор цикла с параметром.
- •Вложенные циклы.
- •Глава 7 основы ввода и вывода.
- •7.1. Оператор ввода.
- •7.2. Оператор вывода
- •Программирование циклических вычислительных процессов.
- •Вопросы для самоконтроля
- •Глава 8 Переменные типы.
- •Перечислимый тип данных.
- •Var а: (зима, весна, лето, осень);
- •Ограниченный тип данных.
- •Вопросы для самоконтроля
- •Глава 9 Сложный тип данных – массивы.
- •Понятие массива.
- •Var_имя массива: array [t1] of_t2;
- •Тип массива.
- •Упакованные массивы.
- •Понятие многомерных массивов.
- •Глава 10 Сложный тип данных – множества.
- •10.1. Множества в языке Паскаль.
- •Var _имя множества: set_of_ базовый тип;
- •Примеры программирования задач с использованием множества
- •Вопросы для самоконтроля
- •Глава 11 Сложный тип данных – записи.
- •Понятие записи.
- •Оператор присоединения.
- •Вопросы для самоконтроля
- •Глава 12 Подпрограммы.
- •Общие сведения.
- •Процедуры и функции.
- •Вопросы для самоконтроля
- •Глава 13 Файлы
- •13.1. Понятие файла.
- •13.2. Чтение файла.
- •13.3. Запись файла.
- •13.4 Чтение и запись файла
- •Вопросы для самоконтроля
Глава 6 организация циклических прцессов.
Оператор цикла с предварительным условием.
При решении многих задач вычислительный процесс имеет циклический характер. Это означает, что часть операторов многократно выполняется при различных значениях переменных. Применение циклов в программе позволяет эффективно использовать машину, приводит к уменьшению длины программы и сокращению времени на ее составление и отладку.
В языке ПАСКАЛЬ имеется три вида операторов цикла: 1) оператор с предварительным условием (предусловием); 2) оператор цикла с последующим условием (постусловием); 3) оператор цикла с параметром.
Операторы для записи циклов являются сложными, так как в их состав входят другие операторы.
Для всех операторов цикла характерна следующая особенность. Повторяющиеся вычисления записываются всего лишь один раз. Вход в цикл возможен только через его начало. Переменные оператора цикла должны быть определены до входа в циклическую часть. Необходимо предусмотреть выход из цикла: или по естественному его окончанию, или по оператору перехода. Если этого не предусмотреть, то циклические вычисления будут повторяться бесконечно. В этом случае говорят, что произошло «зацикливание» выполнения программы.
Цикл с предварительным условием (с предусловием) используется, как правило, в тех случаях, когда заранее неизвестно число повторений цикла.
Форма записи оператора цикла с предусловием:
WHILE _ логическое выражение _DO
BEGIN
операторы циклической части программы
END;
Здесь WHILE (пока) и DO (выполнить) - служебные слова.
Оператор цикла действует следующим образом. Предварительно проверяется значение логического выражения. Пока оно истинно, выполняются операторы циклической части. Как только; оно становится ложным, происходит выход из цикла. Если с самого начала значение логического выражения ложно, то операторы циклической части не выполнятся ни разу.
Обратите внимание на то, что операторы циклической части, заключенные в операторные скобки BEGIN - END, представляют собой составной оператор.
Возможен случай, когда в циклической части стоит оператор перехода, передающий управление за пределы цикла. В такой ситуации цикл может завершиться до его естественного окончания (при истинном значении логического выражения).
Если в циклической части стоит всего один оператор, то операторные скобки BEGIN — END можно не указывать и оператор цикла принимает вид
WHILE_логическое выражение_ DO_оператор
Рассмотрим фрагмент программы с использованием оператора цикла с предусловием:
A:=1;
N:=1;
WHILE 2*A<=3*N+1 DO
BEGIN
A:=A+2;
N:=N+1;
END;
Пока условие 2A<=3N + 1 является истинным (т. е. 2 А оказывается меньше или равно 3N + 1 ) , выполняются операторы циклической части: значение А увеличивается на 2 и результат вновь присваивается переменной А; значение N увеличивается на 1 и результат обозначается снова именем N. Начальные значения переменных заданы до начала оператора цикла.
Переменные А и N, а также логическое выражение принимают следующие значения в процессе выполнения этой части программы:
A |
1 |
3 |
5 |
7 |
N |
1 |
2 |
3 |
4 |
2A<=3N+1 |
2<=4 |
6<=7 |
10<=10 |
14<=13 |
Истинно или ложно |
Истинно |
Истинно |
Истинно |
Ложно |
Следует заметить, что циклическая часть программы выполнилась три раза:
А= 1 +2 = 3; N=1+1=2
А = 3 + 2 — 5; N=2+1=3
А = 5 + 2==7; N=3+1=4
При А = 7 и N = 4 логическое выражение становится ложным и управление передается за пределы цикла (т. е. за END).
