- •Автономная некоммерческая организация высшего профессионального образования «Брянский институт управления и бизнеса»
- •Методические пособие по изучению алгометрического языка 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 Чтение и запись файла
- •Вопросы для самоконтроля
Оператор цикла с последующим условием.
Цикл с последующим условием, как правило, используется в тех случаях, когда заранее неизвестно число повторений цикла. Оператор цикла имеет вид
REPEАТ
Операторы циклической части программы
UNTIL < логическое выражение>
Здесь REPEAT (повторить) и UNTIL (до тех пор) — служебные слова.
Оператор цикла с последующим условием действует следующим образом. Операторы циклической части выполняются повторно (по крайней мере один раз) до тех пор, пока значение логического выражения ложно. Условием прекращения циклических вычислений является истинное значение логического выражения. Итак, сначала выполняется циклическая часть, а затем проверяется условие. Обратите внимание, что эти действия прямо противоположны действиям оператора цикла с предварительным условием, где сначала проверяется условие, а затем выполняются операторы циклической части.
Следует подчеркнуть, что нижняя граница операторов циклической части четко обозначена словом UNTIL, поэтому нет необходимости заключать операторы циклической части в скобки вида BEGIN — END. В то же время и дополнительное наличие операторных скобок не является ошибкой.
Если в циклической части встречается оператор перехода, указывающий на метку за пределами цикла, то цикл может завершиться до его естественного окончания.
Пример 6.1. Вычислить значение функции Y = X2 при X = 8, 6, 4, 2. Фрагмент программы имеет вид
Х:=8;
REPEAT
Y:=X*X;
WRITELN(X:3,Y:5);
X:=X-2;
UNTIL X=0
Здесь сначала задается первое значение аргумента X = 8. Внутри циклической части выполняются следующие действия: вычисляется значение Y при текущем значении X; выводятся на экран дисплея значения X и Y; вычисляется новое значение аргумента X путем вычитания числа 2 из предыдущего значения X.
Циклическая часть программы повторяется до тех пор, пока выражение X = 0 не станет истинным.
Оператор цикла с параметром.
Оператор цикла с параметром используется в тех случая, когда заранее известно, сколько раз должна повториться циклическая часть программы. Оператор цикла имеет вид
FOR_i: = m1_TO_m2_DO
BEGIN
операторы циклической части программы
END;
Здесь FOR ( для ), ТО (до), DO (выполнить) - служебные слова; i — параметр цикла; m1, m2—начальное и конечное значения параметра цикла.
Циклическая часть программы выполняется повторно для каждого значения параметра цикла i от его начального значения m1 до конечного значения m2 включительно.
В качестве параметра цикла может быть только переменная, в качестве m1 и m2 могут быть выражения, за исключением действительного типа (REAL);
Чаще всего параметр цикла i используют как переменную целого типа, а шаг его изменения равен +1 или -1. Если значение параметра цикла возрастает, то шаг его изменения +1. Если значение параметра цикла уменьшается, то шаг его изменения —1 и в операторе цикла FOR вместо служебного слова ТО записывается служебное слово DOWNTO. Рассмотрим использование оператора цикла с параметром.
Пример 6.2. Пусть имеется фрагмент программы с переменными целого тип
FOR I:=1 TO 5 DO
BEGIN
A:=2*I;
B:=2*l+1;
WRITELN(A:3,B:3);
ЕND.
Циклическая часть программы выполняется повторно пять раз, при этом параметр цикла I изменяет свое значение от 1 до 5. В результате выполнения программы переменные получают следующие значения:
I 1 2 3 4 5
A 2 4 6 8 10
B 3 5 7 9 11
Фрагмент программы с убыванием значений параметра цикла от 5 до 1 имеет следующий вид:
FOR I:=5 DOWNTO 1 DO
BEGIN
А:=2*1;
В:=2*1+1;
WRITELN (A:3,В:3);
END;
В процессе выполнения программы переменные принимают следующие значения:
I 5 4 3 2 1
A 10 8 6 4 2
B 11 9 7 5 3
Если циклическая часть программы содержит только один оператор, то операторные скобки BEGIN - END можно не указывать. В этом случае цикл с параметром записывают в следующем виде:
FOR i: = m1_TO_m2_DO_оператор;
или
FOR i: = m1 _TO_m2_DO
оператор;
Параметр цикла i не должен переопределяться внутри циклической части.
Если шаг изменения параметра цикла равен +1 и m1>m2, то циклическая часть не выполнится ни разу.
После естественного завершения цикла значение параметра цикла не определено. Это означает, что при последнем выполнении циклической части значение i = m2, а после ухода за пределы цикла значение i теряется.
Пример 6.3. Напечатать все буквы латинского алфавита.
Так как буквы латинского алфавита упорядочены (см. приложение 2), то можно составить программу 6.1.
Программа 6.1
(*ПЕЧАТЬ БУКВ ЛАТИНСКОГО АЛФАВИТА*)
PROGRAM POD2;
VAR
SIM:CHAR;
BEGIN
WRITELN(‘ ЛАТИНСКИЙ АЛФАВИТ :');
FOR SIM:='A' TO 'Z' DO
WRITE( ' ',SIM )
END.
