Книга: Основы программирования на языке Паскаль
Begin mes: =jul;
a: = Pred (mes); { в a находится 'jun'}
b: = Succ (mes); { в b находится 'aug'}
с: = Pred ( pred ( mes )); {в с находится ' m ау'}
d : = Succ ( succ ( mes )); {в d находится ' sep '}
e: = Succ (pred(mes)); { в е находится 'jul'}
f : = Ord ( mes ); {в f находится 6}
h: = Ord (pred(mes)); { в h находится 5}
g: = Ord (succ(mes)); { в g находится 7}
END
Интервальный тип задается диапазоном изменения констант внутри какого-либо уже имеющегося перечисляемого или стандартного типа, кроме вещественного (integer, byte, booban, char). Значение первой константы должно быть меньше значения второй константы диапазона.
Туре
Dni = 1...31;
Litera = 'a',...,'z',
Var Rabdni,bolndni, vuhod: dni; { могут принимать значения 1-31}
im , ident : litera ; {могут принимать значения ' A '-' Z '}
Выход за пределы диапазона вызывает программное прерывание.
Допускается задание диапазона именами констант:
Const min = 1; max = 31;
Туре Dni = min…max;
Var rabdni,boldni,vuhoddni:dni;
Для интервального типа также возможно применять функции S uc c, P red, Ord.
3. Разветвляющиеся программы
3.1. Общие положения
До сих пор мы рассматривали линейные программы, алгоритм которых можно было представить в виде блок-схемы (рис. 3.1)
Возможны случаи, когда программа ветвится в зависимости от какого-либо условия (см. рис. 3.2). Ветвление может быть двух направлений: по принципу условие верно – идти по одной ветви, условие ложно – по другой. В этом случае применяется оператор if . возможно ветвление сразу нескольких направлений: если k=l – идти по одной ветви, если k=2 – по другой, k=3 – по третьей и т.д. в этом случае удобнее применять оператор Case .
3.2. Оператор goto , раздел описания меток
Последовательное выполнение операторов в программе может быть нарушено оператором перехода. Общий вид оператора: goto метка ; где метка – буква, либо цифра, либо набор букв и цифр, из которых первая – всегда буква, Например, М1, LI, NK . Метка, стоящая после goto , указывает, куда нужно пойти. Достигается это тем, что если в программе находится оператор goto метка ; то в этой же программе обязательно имеется какой-либо оператор вида метка: оператор ; который считается помеченным, и машина, встретив goto метка ; не будет выполнять оператор, записанный после оператора goto метка ; а перейдет к выполнению оператора метка: оператор ;