Кроме числовых переменных возможно использование символьных, логических и простых типов переменных, определяемых программистом, перечисляемых и интервальных (тип – диапазон).
Символьные переменные описываются как CHAR и представляют собой тип данных, предназначенный для хранения одного символа (буква, знак, код). Переменная типа CHAR занимает один байт.
Логические переменные (тип Boolean) – это переменные, которые могут принимать только два значения истина - true (1) или ложь - false (0). Используются такие переменные для хранения результатов логических вычислений. Для булевых переменных разрешены только операции сравнения:
Логическая операция | Наименование |
= | Равно |
<> | Неравно |
And | Логическое И (логическое умножение, конъюнкция) |
Or | Логическое ИЛИ (логическое сложение, дизъюнкция) |
Xor | Логическое исключающее ИЛИ (результат тогда 1, когда на входе все нули) |
Not | Логическое НЕ |
Тип переменной | Символьные переменные | Логический тип |
Определение | Переменная, которая может содержать 1 символ, и занимает 1 байт | Переменная, которая может принимать только два значения – true, false |
Описание | CHAR Например:Var c: char; | BOOLEAN Например, Var c,а: boolean; |
Дополнительная информация | Все имеющиеся символы имеют коды (таблица кодов ASCII). Есть функции работы с символьными переменными и их кодами. | Получается в результате выполнения логических выражений с операциями: =,<>,<,<=,>,>= (простые логические выражения) и Not, And, Or, Хor (логические функции) – используются для объединения простых логических выражений в составные, при чем простые логические выражения берутся в круглые скобки. |
Использование | В различных операторах, например: | Пример простого выражения - X>2 Пример составного выражения - (X>2) and (X<=10) Используются в операторах присваивания, ветвления и цикла. |
Примеры | С:=’a’; Writeln(‘C=’,c); | X:=4; A:=(X>2) and (x<=10); If A=True then y:=1 else y:=1/x; |
Перечисляемый тип – это описание упорядоченного множества значений, задаваемых идентификаторами в круглых скобках. Переменные перечисляемого типа могут использоваться в логических выражениях или операторах присваивания и не могут использоваться в операторах ввода или вывода. Например, программа определения дня недели может выглядеть так:
|
|
PROGRAM DEMO1;
TYPE WEEK=(MONDAY, TUЕSDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY);
VAR DAY: WEEK;
BEGIN
DAY:=THURSDAY;
IF (DAY=SUNDAY) OR (DAY=SATURDAY) THEN WRITELN(‘УИКЕНД’)
ELSE WRITELN(‘РАБОЧИЕ ДНИ’);
{или - IF (DAY<SATURDAY) THEN WRITELN(‘РАБОЧИЕ ДНИ’) ELSE WRITELN (‘УИКЕНД’);}
READLN;
END.
Применение перечисляемых типов делает программы нагляднее.
Тип – диапазон (интервальный тип) – этот тип получается путем введения ограничения на уже определенный некоторый простой тип. Ограничения определяются заданием диапазона – минимального и максимального значений констант в этом диапазоне. Тип, из которого выбирается диапазон (отрезок), называется базовым типом. Левая граница диапазона должна превышать правую. Диапазоны для вещественных типов не допускаются. Например, рассмотрим типы:
|
|
TYPE A=10..100;
WEEK=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY);
WORKDAY=MONDAY..FRIDAY;
WEEKEND= SATURDAY.. SUNDAY;
Базовый тип для диапазона А – тип INTEGER; для диапазонов WORKDAY и WEEKEND – перечисляемый тип WEEK.
Использование диапазонов позволяет более экономично распределять память, особенно в случае данных типа INTEGER. Декларация интервального типа указывает компилятору, что для переменных возможны только значения в заданном интервале, тем самым в программе автоматически организуется проверка корректности операций присвоения.
Функции, используемые для работы с порядковыми переменными:
Название функция | Назначение | Тип аргумента | Тип функции |
Pred(x) | Определение предшественника взятого символа х | Порядковый | Порядковый |
Succ(x) | Определение последующего символа за взятым символом х | Порядковый | Порядковый |
Ord(x) | определяет код символа. Например, Ord(‘A’) - 65 | Порядковый | Целочисленный |
Chr(x) | определяет символ по коду. Например, Chr(65) - ’A’ | Целочисленный | CHAR |
Примеры:
Линейный алгоритм
Вычислить функцию Y по формуле Y=ax2+bx+c; а=5, b=9 и с=12.
1) Cоставить математическое уравнение данной задачи:
Y=5x2+9x+12
2) Составление алгоритма: