- •Тема 1. Основные понятия языка Object Pascal
- •1.1. Синтаксические диаграммы
- •Пример синтаксической диаграммы
- •1.2. Cостав языка
- •Алфавит языка
- •Идентификаторы — это имена переменных, констант, процедур, функций, типов, меток, т.е. имя определенного
- •1.3. Тип данных
- •1.3.1. Система типов языка Object Pascal
- •стандартные скалярные типы данных
- •Таблица простых типов
- •1.3.2. Описание данных
- •Описание констант
- •1.3.3. Стандартный логический тип
- •Дополнительные целочисленные типы
- •1.3.5. Стандартный вещественный тип
- •вещественные константы:
- •Дополнительные вещественные типы
- •1.3.6. Стандартный символьный тип
- •1.4. Арифметические и логические выражения
- •терм
- •Приоритет (ранги) операций:
- •Примеры вычисления выражений
- •1.5. Стандартные функции
- •Примеры задания стандартных функций
- •Примеры использования стандартных функций
- •Примеры стандартных функций
Таблица простых типов
Название
Диапазон
значений
Занимаемая
память
Операции
Real |
|
Integer |
||
5х10- |
|
-2147483648 … |
||
324 ...1,7х10308 2147483647 |
||||
8 байт |
|
4 байта |
||
+ - * |
/ |
+ - |
* |
|
div |
mod |
|||
|
|
Boolean Char
2 0...255
1 байт |
1 байт |
and or not xor
< |
<= |
= |
> |
>= |
<> |
11
1.3.2. Описание данных
Описание переменных |
переменные и константы |
|
|
|
|
var |
определение переменных |
; |
Определение переменных
идентификатор |
: |
тип |
|
|
,
Пример: |
|
|
Var i:integer;{описывается целая переменная i} |
12 |
|
S:Real; {описание дробной переменной S} |
||
|
Описание констант |
|
|
сonst |
определение константы |
; |
Определение константы
идентификатор |
= |
константное выражение |
|
|
Пример: |
{это целая константа} |
Const b=5; |
|
g=9.34; |
{это дробная константа} |
с=’c’; |
{это символьная константа} |
MyConst=b+20; |
{это пример константного выражения} |
B:=25;
g:=g+100;
Значение констант в программе нельзя менять |
13 |
1.3.3. Стандартный логический тип
|
|
|
|
Boolean |
|
|
|
|
|
|
|||
Описание констант: |
|
|
|
Описание переменных: |
|||||||||
Const MyBool = True; |
|
|
Var a,b: boolean; |
|
|||||||||
|
MyFalse = False; |
|
|
|
bool: boolean; |
||||||||
Над логическими данными возможны только |
|
|
|
операции сравнения |
|||||||||
|
|
|
|||||||||||
True + False |
|
True > False |
|
|
|
|
|||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|||||
|
Not A |
|
|
|
|
|
|
|
|
и логические операции: |
|||
|
|
|
|
|
|
|
|
|
|||||
A |
A |
B |
A and B |
A |
B |
A or B |
A |
B |
A xor B |
||||
1 |
0 |
1 |
1 |
1 |
1 |
1 |
|
1 |
|
|
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
|
1 |
|
|
1 |
0 |
1 |
|
|
0 |
1 |
0 |
0 |
1 |
|
1 |
|
|
0 |
1 |
1 |
|
|
0 |
0 |
0 |
0 |
0 |
|
0 |
|
|
0 |
0 |
0 |
Результат операций – логический: |
|
|
|
|
|
|
|
|
|
||||
A < b |
True или False |
A or bool |
|
|
|
True или False 14 |
|
1.3.4. Стандартный целый тип |
|
Целое число |
|
Integer |
|
|
|
|
десятичная цифра |
|
$ |
шестнадцатеричная цифра |
|
|
|
|
Описание констант: |
Описание переменных: |
|
Const myConst = 5; |
Var a,b: integer; |
|
Const1 = -27; |
Const2 = $F1; |
|
Арифметические операции над целым типом: |
|
• сложение +, вычитание –, умножение * |
Результат |
||
|
• деление нацело (с отбрасыванием дробной части) div |
операций |
||
|
• остаток от целочисленного деления mod |
– целого |
||
Примеры: |
|
|
типа! |
|
|
|
|
||
14 |
div 3 дает результат 4 |
14 |
mod 3 дает результат 2 |
|
14 |
div 2 дает результат 7 |
14 |
mod 2 дает результат 0 |
|
Операции отношения над целым типом (результат - логический):
a b |
a b |
a b |
a b |
a b |
a b 15 |
Дополнительные целочисленные типы
Имя типа |
|
Диапазон значений |
|
Размер памяти |
byte |
0 |
. . 255 |
1 |
байт |
word |
0 |
. . 65535 |
2 |
байта |
longint |
-2147483648 . . 2147483647 |
4 |
байта |
|
shortint |
-128 . . 127 |
1 |
байт |
|
Cardinal |
0..4294967295 |
4 |
байта |
|
SmallInt |
-32768..32767 |
2 |
байта |
|
Int64 |
-263 .. 263-1 |
8 |
байт |
|
Longword |
0..4294967295 |
4 |
байта |
16
1.3.5. Стандартный вещественный тип
Real
Вещественное число |
|
|
|
последовательность |
. |
последовательность |
|
цифр |
цифр |
||
|
порядок
Порядок
Е |
+ |
последовательность |
|
||
|
цифр |
|
|
|
–
е
Последовательность цифр – одна или несколько арабских цифр, записанных подряд без пробела
17
вещественные константы: |
|
|
||
Форма |
с |
Форма |
с |
mEp |
фиксирован |
плавающей |
|
мантисса (целое или вещественное число с |
|
ной точкой |
|
точкой |
|
фикс. т.) |
3.14 |
|
0.314Е+01 |
|
признак записи числа с порядком |
|
|
порядок числа (только целое число) |
||
|
|
|
|
|
-7.8 |
|
-7.8Е+00 |
|
|
Описание переменных:
35.785 357.85Е-01
Var a,b: real;
Арифметические операции над вещественным типом: + - * /
Результат операций - вещественный
Пример:
A+b результат число типа Real
Операции отношения над вещественным типом: |
= <> < > <= >= |
Результат операций - логический |
|
Пример: |
18 |
a< b результат True или False |
Дополнительные вещественные типы
Имя типа |
Диапазон значений |
single |
1.5e-45 . . 3.4e38 |
double |
5.0e-324 . . 1.7e308 |
extended |
±3.6x10-4951 .. ±1.1x104932 |
comp |
-263+1 .. 263-1 |
Real48 |
2.9x10-39 .. 1.7x1038 |
Currency |
-922337203685477.5808 .. |
|
922337203685477.5807 |
Пример:
Var r: real; cc:Currency;
. . .
r имеет значение 5
сc имеет значение 5
Число цифр |
|
Размер памяти |
мантиссы |
|
|
7 - 8 |
4 |
байта |
15 - 16 |
8 |
байт |
19 - 20 |
10 байт |
|
19 - 20 |
8 |
байт |
11 - 12 |
6 |
байт |
19 - 20 |
8 |
байт |
19
1.3.6. Стандартный символьный тип
|
Char |
символьные константы |
|
|
|
||
Коды 0...127 |
Коды 128...255 |
|
|
(кодировка ASCII) |
(модифицированный |
|
|
|
альтернативный |
‘d’ |
#100 |
|
вариант) |
‘D’ |
#68 |
|
|
‘ж’ |
#203 |
|
|
‘Ж’ |
#198 |
символьные переменные:
Var a,b: char; ch: char;
Символьные данные можно только сравнивать
Пример:
‘a’ > ‘A’ True ‘y’ < ‘Y’ False
20