- •Условные операторы. Вычисление выражений.
- •1. Цель работы
- •2. Задачи работы
- •1. Символы, используемые для составления идентификаторов:
- •2. Символы-разделители:
- •Раздел объявлений и соглашений
- •6.3. Типы данных
- •6.3.1. Понятие типа данных
- •Любые данные характеризуются своими типами.
- •Тип данных определяет:
- •- Формат представления данных в памяти компьютера;
- •6.3.2. Переменные и константы
- •6.3.3. Простые типы данных
- •6.4. Классификация операторов языка программирования Turbo Pascal 7.0
- •6.5. Запись выражений и использование стандартных функций
- •6.6. Операторы ввода и вывода данных
- •6.6.1. Операторы ввода read, readln
- •Оператор Readln выполняет пропуск до начала следующей строки текстового файла.
- •6.6.2. Операторы вывода write, writeln
- •6.7. Оператор безусловного перехода и безусловные функции
- •6.7.1. Оператор безусловного перехода goto
- •6.7.2. Безусловные функции
- •6.8. Условный оператор if (если)
- •Else оператор_2;
- •6.9. Оператор выбора case (вариант из)
- •7. Лабораторные задания и методические указания по их выполнению
- •7.1. Изучение и использование в программе условного оператора if
- •7.2. Изучение и использование в программе оператора выбора case
- •9. Контрольные вопросы
- •Основные операции и стандартные функции для простых типов данных
6.7. Оператор безусловного перехода и безусловные функции
6.7.1. Оператор безусловного перехода goto
Позволяет изменить последовательный порядок выполнения операторов и перейти к выполнению программы, начиная с заданного оператора. Оператор, на который происходит переход, должен быть помечен меткой. После слова GOTO указывается имя метки, на которую нужно перейти.
Goto(metka_1);
………
metka_1: <оператор>;
Метка, должна быть описана в разделе описаний.
Метка, описанная в процедуре (функции) локализуется в ней, поэтому передача управления извне процедуры (функции) на метку внутри нее невозможна.
6.7.2. Безусловные функции
Функция BREAK позволяет досрочно закончить цикл.
Функция CONTINUE позволяет начать новую итерацию цикла, даже если предыдущая итерация не была завершена.
Функция EXIT позволяет завершить работу текущего программного блока (самой программы или ее подпрограммы).
Функция HALT(n), где n – некоторое целое число, позволяет завершить работу программы с кодом завершения n.
6.8. Условный оператор if (если)
Условный оператор IF реализует разветвляющийся алгоритм, т.е. предполагает выполнение вычислений по одному из возможных направлений в зависимости от исходных данных или промежуточных результатов. Ветвление в таких алгоритмах производится при проверке некоторых условий.
Формат записи оператора IF следующее:
IF условие THEN оператор_1
Else оператор_2;
Условие – значение типа BOOLEAN или логическая операция. Если условие верно, выполняется оператор, или блок операторов, следующий за THEN, в противном случае выполняется блок операторов после ELSE, если он есть.
Оператор IF – это один оператор, поэтому ";" после оператора_1, т.е. перед ELSE, не ставится.
Часть со служебным словом ELSE может отсутствовать. В этом случае выполняется или не выполняется только оператор_1.
IF условие THEN оператор_1;
Если с помощью оператора IF необходимо управлять группой операторов, то эта группа заключается в операторные скобки begin end;.
Схема алгоритма работы условного оператора приведена на рисунке 6.1.
Рисунок 6.1 – Структурная схема условного оператора
Допустима вложенность операторов IF друг в друга на любую глубину. При этом важно не запутаться, какой ELSE к какому IF относится. В общем случае служебное слово ELSE связывается с ближайшим словом IF, которое еще не связано со служебным словом ELSE. Для удобства чтения и понимания логики программы записывайте ELSE под соответствующим ему IF.
6.9. Оператор выбора case (вариант из)
Оператор If позволяет выбрать один из двух возможных путей решения. В ряде случаев таких путей бывает гораздо больше.
Для выбора одного из нескольких путей решения используется оператор Case (вариант из) – обобщение условного оператора. В общем случае формат записи оператора следующий:
CASE выражение OF
значения_1 : оператор_1;
значения_2 : оператор_2;
. . . . . . . . . .
значения_N : оператор_N;
ELSE оператор_M;
END;
Выражение записывается относительно специальной переменной выбора (селектора), которая может быть любого перечисляемого типа (как правило, Integer или Char).
Значения_1, . . . , значения_N – значения выражения, при которых выполняются оператор_1, ... , оператор_N соответственно.
Значения состоят из одной или большего количества констант или диапазонов, разделенных запятыми, которые должны принадлежать к тому же типу, что и выражение (селектор).
После Else-части приводится оператор, который выполниться, если селектор принял значение, не принадлежащее ни одному из перечисленных значений.
Если Else-часть отсутствует, то оператор Case пропускается и выполняется следующий за ним оператор.
Если после Значений необходимо выполнять несколько операторов, они заключаются в операторные скобки.
Схема алгоритма работы оператора выбора показана на рисунке 6.2.
Рисунок 6.2 – Структурная схема оператора выбора