Структурированные типы данных
В Турбо Паскале пять структуированных типов:
массивы;
строки;
множества;
записи;
файлы;
Перечисляемый тип данных
П
еречисляемый
тип задаётся перечислением тех значений,
которые он может получать. Каждое
значение именуется некоторым
идентификатором и располагается в
списке, обрамлённом круглыми скобками.
Применение перечисляемых типов делает
программы нагляднее. Например:
TYPE
DAYS = (MONDAY, TUESDAY, WEDNESDAY);
VAR
DAY : DAYS;
BEGIN
…
IF DAY = MONDAY THEN WRITELN ('КАКОЙ ТЯЖЁЛЫЙ ДЕНЬ.');
…
END.
П
еременные
любого перечисляемого типа можно
объявить без предварительного описания
типа. Например:
VAR
COL : (BLACK, WHITE, RED);
И нтервальный тип данных
Отрезок (диапазон значений) любого порядкового типа может быть определен как интервальный (ограниченный) тип. Отрезок задается диапазоном от минимального до максимального значения констант, разделенных двумя точками. В качестве констант могут быть использованы константы, принадлежащие к целому, символьному, логическому или перечисляемому типам.
Примеры отрезков:
1..10
-15..25
'a'..'z'
Минимальное и максимальное значения констант называются нижней и верхней границами отрезка, определяющего интервальный тип. Нижняя граница должна быть меньше верхней.
Над переменными, относящимися к интервальному типу, могут выполняться все операции и применяться все стандартные функции, которые допустимы для соответствующего базового типа.
К
ак
записать значение в переменную?
а
:= 5;
Оператор – это команда языка программирования инструкция).
Оператор присваивания – это команда для записи нового значения в переменную.
Математические операции
В таблице приведены основные математические операции Турбо Паскаль.
Символ операции |
Название операции |
Пример |
* |
умножение |
2*3 (результат: 6) |
/ |
деление |
30/2 (результат: 1.5E+01) |
+ |
сложение |
2+3 (результат: 5) |
- |
вычитание |
5-3 (результат: 2) |
div |
целочисленное деление |
5 div 2 (результат: 2) |
mod |
остаток от деления |
5 mod 2 (результат: 1) |
Логические операции
Над логическими аргументами в Турбо Паскаль определены следующие операции:
NOT - логическое отрицание ("НЕ")
AND - логическое умножение ("И")
OR - логическое сложение ("ИЛИ")
XOR - логическое "Исключающее ИЛИ"
Результаты выполнения этих операций над переменными А и В логического типа приведены в таблице истинности.
A |
B |
not A |
A and B |
A or B |
A xor B |
true |
true |
false |
true |
true |
false |
true |
false |
|
false |
true |
true |
false |
true |
true |
false |
true |
true |
false |
false |
|
false |
false |
false |
Операции отношения
К операциям отношения в Турбо Паскаль относятся такие операции, как:
> - больше
< - меньше
= - равно
<> - не равно
>= - больше или равно
<= - меньше или равно
В операциях отношения могут принимать участие не только числа, но и символы, строки, множества и указатели.
Приоритет операций
Порядок вычисления выражения определяется старшинством (приоритетом) содержащихся в нем операций. В языке Паскаль принят следующий приоритет операций:
унарная операция not, унарный минус -, взятие адреса @
операции типа умножения: * / div mod and
операции типа сложения: + - or xor
операции отношения: = <> < > <= >= in
Порядок выполнения операций переопределить можно с помощью скобок. Например, 2*5+10 равно 20, но 2*(5+10) равно 30.
Основные математические функции
В этом разделе приведены основные математические функции, встроенные в системную библиотеку Турбо Паскаль.
A
bs(X)
Возвращает
абсолютное значение числа X.
Cos(X) Возвращает косинус числа X, где X - угол в радианах
Sin(X) Возвращает синус числа X, где X - угол в радианах
ArcTan(X) Возвращает арктангенc числа X.
Exp(X) Возвращает число, равное eX.
Ln(x) Возвращает число, равное натуральному логарифму от числа X.
Pi Число Пи.
Sqr(X) Возвращает число, равное квадрату числа X.
Ф
ункций
тангенс
и котангенс
в Турбо Паскале нет. Для их вычисления
используйте выражение sin(x)/cos(x) (или
cos(x)/sin(x) для котангенса). Функции
возведения в произвольную степень в
Турбо Паскале нет. Используйте многократное
умножение для возведения в целочисленную
степень, либо функции Exp
и Ln
для возведения в вещественную степень:
.
Примеры:
Выражение |
Запись на Паскале |
X3 |
X*X*X |
X3,5 |
Exp(3.5*Ln(X)) |
U2x |
Exp(2*x*Ln(U)) |
S
qrt(X)
Возвращает число, равное квадратному
корню из числа X.
Trunc(X) Возвращает число, равное целой части числа X.
(Происходит отбрасывание дробной части числа X.
Результат выполнения имеет тип Longint).
Frac(X) Возвращает число, равное дробной части числа X.
Int(X) Возвращает число, равное целой части числа X.
Результат выполнения функции - real.
Round(X) Функция округляет число X. Возвращаемое значение имеет тип Longint.
Random(X) Возвращает случайное целое число в диапазоне 0..X.
Random Если аргумент опущен, то возвращается случайное вещественное число из интервала (0; 1).
Перед использованием random в программах рекомендуется сначала инициализировать генератор псевдослучайных чисел процедурой Randomize. В противном случае при каждом запуске программы будет генерироваться одна и та же последовательность случайных чисел.
Пример. Вывод на экран 5 случайных чисел в диапазоне -10..10.
var i: integer;
begin
randomize;
for i:=1 to 5 do writeln(random(21)-10);
end.
Inc(X,Y)
Увеличивает
значение числа X на Y. Если число Y не
указано, то увеличение происходит на
1.
Dec(X,Y) Уменьшает значение числа X на Y. Если число Y не указано, то уменьшение происходит на 1.
