ВЕЩЕСТВЕННЫЕ ТИПЫ
Наименование типа | Размер | Количество цифр | Диапазон значений |
Single | 4 | 7..8 | 10 (-45..+38) |
Real | 6 | 11..12 | 10 (-39..+38) |
Double | 8 | 15..16 | 10 (-324..+308) |
Extended | 10 | 19..20 | 10 (-4951..+4932) |
Comp | 8 | -263 +1 … +263 -1 |
Примечание: типы Single, Double, Extended работают при подключении сопроцессора, в том числе при эмуляции сопроцессора. Для этого в меню Options, Compiler установить Numeric processing: [X] 8087/80287, а также [X] Emulation, либо в начале программы установить режим компиляции {$N+}.
ЦЕЛЫЕ ТИПЫ
Наименование типа | Размер | Диапазон значений |
Byte | 1 | 0..255 |
Shortint | -121..+127 | |
Word | 2 | 0..65535 |
Integer | -32761..+32767 | |
Longint | 4 | -2147483641.. +2147483647 |
ПРИМЕРЫ ОПИСАНИЯ ЦЕЛЫХ ТИПОВ
VAR
ПРИМЕРЫ ОПИСАНИЯ ЛОГИЧЕСКИХ ТИПОВ
Переменные логического типа могут принимать значения:
False (ложно) или True (верно).
Примеры описания:
VAR b1, b2, b3, b4: boolean;
Примеры присвоения значения:
b1:= True; b2:= False; b3:= not b1; {или} b3:= False; b4:= b1;
ПРИМЕРЫ ОПИСАНИЯ СИМВОЛЬНОГО ТИПА
Переменные символьного типа могут принимать значения одного из символов с кодами от #0 до #255, т. е. допускаются буквы русского алфавита и символы псевдографики. Символы с кодами от #0 до #31 (управляющие) в тексте воспринимаются как пробел, а в операторах вывода как символ или команда.
VAR с, ch, e: char;
Примеры присвоения значения:
c:= '!'; c:= #33; { символ "!" задается значением кода }
ch:= #13; { код клавиши Enter }
e:= #27; { код клавиши Esc }
Примеры вывода: Write(с); { выводится символ " ! " }
Write(ch); { команда перевода курсора на новую строчку }
Write(е); { выводится специальный символ, соответствующий коду #27 }
ПРИМЕРЫ ОПИСАНИЯ СТРОКОВОГО ТИПА ТИПА
Переменная строкового типа задается набором символов, заключенных в кавычки.
VAR
s: string[25];
{ длина переменной s может изменяться от 1 до 25 символов }
s1: string;
{ длина переменной s1 не указывается, наибольшее число символов равно 255 }
Примеры присвоения значения:
s:= 'Привет'; s1:= 'Hello';
ПРИМЕРЫ ОПИСАНИЯ МАССИВОВ
Массив - упорядоченные данные одного типа, состоящие из переменных (элементов массива). Элементы массива имеют свой порядковый номер (индекс) и значение. Значение присваивается отдельно каждому элементу массива, либо сразу всем элементам массива (копирование одного массива в другой в случае массивов одинакового типа). Массив может быть многомерным (без ограничения), но занимать не более 65520 байт.
VAR M1: array[1..200] of integer; A1: array[100..200] of real;
{ М1, A1 - одномерные массивы целых и вещественных чисел }
ch1: array['A'..'Z'] of char; ch2: array[0..255] of char;
{ сh1, ch2 - одномерные массивы символов }
Примеры присвоения значения:
M1[1]:=5; M1[2]:=8; M1[3]:= M1[1]; M1[100]:=32;
A1[101]:=0.2; A1[102]:=2.31; ch1['B']:='C'; ch2[1]:='!'
ПРИМЕРЫ ОПИСАНИЯ ТИП-ДИАПАЗОН, ПЕРЕЧИСЛИМЫЙ
Они задаются программистом.
TYPE Date_M= 1..31; Rush_b= 'А..Я'; Lat_b= 'A..Z'; {тип диапазон}
Otmetka= (2,3,4,5); Ball= (1,2,3,4,5,6,7,8,9,10); {перечислимый тип}
VAR t1,t2:Date_M; c1:Ruch_b; s1:Lat_b; a1,a2:Otmetka; b:Ball;
Примеры присвоения значения:
t1:= 10; c1:= 'Л'; s1:= 'F'; a1:=5; b:= 8;
ПРИМЕРЫ ОПИСАНИЯ ФАЙЛОВ
Файл - именованная область внешней памяти ЭВМ, содержащая различные данные. Длина файла ограничена доступной дисковой памятью. Файлы могут быть текстовые, типизированные и нетипизированные
VAR f1, f2: text;
Примеры присвоения значения:
Assign( f1, 'file1. in' );
Файл file1. in содержится в текущем каталоге.
Assign( f2, 'C:\ PASCAL\ WORK\ file2. out' );
Для файла file2. out указывается дорожка DOS.
Оператор Assign присваивает файловой переменной имя файла на диске.
ПРИМЕРЫ ОПИСАНИЯ ЗАПИСЕЙ
Записи - вводимый программистом тип, определяемый как структура данных разного типа, содержащая названия полей с указанием их типов, расположенных между служебными словами Record и End.
Type Sity = Record
Name_G: String[20]; { название города }
Numb_G: LongInt; { число жителей }
Stol_G: Boolean; { Столица (Да, Нет) }
Shir, Dol: Real { Координаты: широта, долгота }
End;
Var St1, St2, St3: Sity; { Переменные типа запись }
ПРИМЕРЫ ОПИСАНИЯ ЗАПИСЕЙ
Примеры присвоения значения:
St1. Name_G:= 'Уфа';
St1. Numb_G:=1200000; {Отдельным полям переменной St1 }
St2. Name_G:= 'Москва';
St2. Numb_G:=8200000;
St3:= St1; { Всем полям переменной St3 }
Переменные типа запись могут обозначаться с помощью оператора присоединения:
WITH "имя переменной" DO "оператор";
Например: With St1 do Begin
Name_G:= 'Уфа'; Stol_g:= True; Readln(Shir, Dol);
z:= Numb_G - St2. Numb_G; Writeln(Name_G:5, Numb_G:10) end;
ЛОГИЧЕСКИЕ ОПЕРАЦИИ
ПРИОРИТЕТ ОПЕРАЦИИ | УСЛОВНЫЙ ЗНАК | ВЫРАЖЕНИЕ | НАЗВАНИЕ ОПЕРАЦИИ | ТИП ПЕРЕМЕННЫХ В ВЫРАЖЕНИИ | ТИП РЕЗУЛЬТАТА ВЫПОЛНЕНИЯ ОПЕРАЦИИ |
1 | not | not A | Логическое «НЕ» | Логический целый | Логический целый |
2 | and | A and B | Логическое «И» | Логический целый | |
3 | or | A or B | Логическое «ИЛИ» | Логический целый | |
хor | A хor B | Логическое исключающее «ИЛИ» | Логический целый |
МАТЕМАТИЧЕСКИЕ ОПЕРАЦИИ
ПРИОРИТЕТ ОПЕРАЦИИ | УСЛОВНЫЙ ЗНАК | ВЫРАЖЕНИЕ | НАЗВАНИЕ ОПЕРАЦИИ | ТИП ПЕРЕМЕННЫХ В ВЫРАЖЕНИИ | ТИП РЕЗУЛЬТАТА ВЫПОЛНЕНИЯ ОПЕРАЦИИ |
2 | * | X * Y | умножение | Целый | Целый при умножении целых чисел, иначе вещественный |
/ | X / Y | деление | |||
div | N div M | Целый | Целый | ||
mod | N mod M | остаток от деления | целый | ||
3 | + | X + Y | сложение | Целый при операциях с целыми числами, иначе вещественный | |
- | X - Y | вычитание | Смешанный вещественный |
Под смешанным типом переменных в выражении подразумевается операция с целым и вещественным типом переменных.
ОПЕРАЦИИ СРАВНЕНИЯ
ПРИОРИТЕТ ОПЕРАЦИИ | УСЛОВНЫЙ ЗНАК | ВЫРАЖЕНИЕ | НАЗВАНИЕ ОПЕРАЦИИ | ТИП ПЕРЕМЕННЫХ В ВЫРАЖЕНИИ | ТИП РЕЗУЛЬТАТА ВЫПОЛНЕНИЯ ОПЕРАЦИИ |
4 | = | X = Y | Равно | Число = число | Логический для всех операций сравнения |
<> | X <> Y | Не равно | Строка = символ | ||
> | X > Y | Больше | Строка = строка | ||
< | X < Y | Меньше | Аналогично для всех операций сравнения | ||
>= | X >= Y | Больше или равно | |||
<= | X <= Y | Меньше или равно |
Операции в скобках имеют высший приоритет, т. е. сначала выполняются операции в скобках, в том числе вычисление аргументов и значения функции.
Операции одинакового приоритета выполняются слева направо,
например a/c*b соответствует (a/c)*b.
СПЕЦИФИЧЕСКИЕ ОПЕРАЦИИ
ПРИОРИТЕТ ОПЕРАЦИИ | УСЛОВНЫЙ ЗНАК | ВЫРАЖЕНИЕ | НАЗВАНИЕ ОПЕРАЦИИ | ТИП ПЕРЕМЕННЫХ В ВЫРАЖЕНИИ | ТИП РЕЗУЛЬТАТА ВЫПОЛНЕНИЯ ОПЕРАЦИИ |
1 | @ | @X | Адрес переменной | любой | указатель |
2 | shl | Y shl N | сдвиг влево | целый | целый |
shr | Y shr N | сдвиг вправо | |||
* | C * D | пересечение | множество | множество | |
3 | + | C + D | объединение | ||
- | C - D | вычитание | |||
+ | S + T | сложение | строка, символ | строковый | |
4 | in | E in D | Вхождение в множество | элемент | логический |
МАТЕМАТИЧЕСКИЕ ФУНКЦИИ
Наименование функции | Тип аргумента | Тип значения | Результат вычисления |
Abs(x) | Целый вещественный | Абсолютное значение "х" | |
Sin(x) | Вещественный | вещественный | синус "х" рад. |
Cos(x) | косинус "х" рад. | ||
Arctan(x) | вещественный | Вещественный | арктангенс "х" ( -Pi/2 |
Sqrt(x) | Целый вещественный | квадратный корень из "х" | |
Sqr(x) | Вещественный | значение "х" в квадрате ( х2 ) | |
Exp(x) | значение "е" в степени "х" | ||
Ln(x) | натуральный логарифм "х" | ||
Frac(x) | дробная часть "х" | ||
Int(x) | целая часть "х" | ||
Random | - | Вещественный | случайное число ( 0 <=y< 1 ) |
Random(x) | Word | случайное число ( 0 <=y< x ) | |
Succ(c) | Порядковый | следующий за "с" символ | |
Pred(c) | предшествующий "с" символ |
МАТЕМАТИЧЕСКИЕ ПРОЦЕДУРЫ
Наименование функции | Тип аргумента | Тип значения | Результат вычисления |
Inc(x) | целый | Увеличивает "х" на 1 ( x:=x+1; ) | |
Dec(x) | Уменьшает "х" на 1 ( x:=x+1; ) | ||
Inc(x, n) | Увеличивает "х" на n ( x:=x+1; ) | ||
Dec(x, n) | Уменьшает "х" на n ( x:=x+1; ) |
ПРОЦЕДУРЫ ПРЕОБРАЗОВАНИЯ ТИПОВ ПЕРЕМЕННЫХ
Наименование функции | Тип аргумента | Тип значения | Результат вычисления |
Str(x, s) | x-целый или вещественный | s-строковый | Последовательность символов "s" из цифр числа "x" |
Val(s, v, cod) | s-строковый | v-целый или вещественный, cod- целый | Двоичная форма числа "v" последовательности "s" |
ФУНКЦИИ ПРЕОБРАЗОВАНИЯ ТИПОВ ПЕРЕМЕННЫХ
Наименование функции | Тип аргумента | Тип значения | Результат вычисления |
Trunc(x) | вещественный | LongInt | целая часть "х" |
Round(x) | округление "х" до целого | ||
Odd(x) | целый | логический | возвращает True если "х" - нечетное число |
Сhr(x) | Byte | Byte Char | Символ ASCII кода "х" |
Ord(c) | Char | Byte | ASCII код символа "с" |
Порядковый | LongInt | Порядковый номер символа "с" |
Поскольку при вызове функции или процедуры производятся некоторые вычисления, преобразования или выполняются другие действия, то вызов функции можно назвать оператором-функцией, а вызов процедуры - оператором-процедурой.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.