![](/user_photo/2706_HbeT2.jpg)
Элементы языка Турбо Паскаль
АЛФАВИТ. Алфавит языка состоит из множества символов, включающих в себя буквы, цифры и специальные символы.
Латинские буквы: от А до Z ( прописные) и от a до z (строчные).
Цифры:0,1,2,3,4,5,6,7,8,9.
Шестнадцатеричные цифры:0,1,2,3,4,5,6,7,8,9,А,В,С,D,E,F.
Специальные символы: + - * / = < > [ ] . , ( ) : ; { } ^ @ $ # .
Следующие комбинации специальных символов являются едиными символами (их нельзя разделять пробелами):
: = знак присваивания;
>= больше или равно;
< > не равно;
<= меньше или равно;
(**) ограничители комментариев (используются наряду с { });
(..) эквивалент [ ].
Пробелы- символ пробела (ASCII-32) и все управляющие символы кода ASCII (от 0 до 31).
К специальным символам относятся служебные слова, смысл которых определен однозначно. Служебные слова не могут быть использованы для других целей. С точки зрения языка это единые символы. Вот примеры служебных слов Турбо Паскаля: begin, var, end, real, ord.
Идентификаторы.
Идентификатором называется символическое имя определённого программного объекта. Такими объектами являются имена констант, переменных, типов данных, процедур и функций, программ.
Идентификатор – это:
-
любая последовательность букв и цифр, начинающаяся с буквы;
-
в Турбо Паскале к буквам приравнивается знак подчёркивания;
-
строчные и прописные буквы в идентификаторах и служебных словах не различаются, например: max, MAX, Max – одно и то же имя;
-
Длина идентификатора может быть произвольной, значащими являются только первые 63 символа.
Концепция типов данных является одной из центральных в любом языке программирования. С типом величины связаны три её свойства:
-
форма внутреннего представления,
-
множество принимаемых значений
-
множество допустимых операций.
Турбо Паскаль характеризуется большим разнообразием типов данных.
В стандартном Паскале отсутствует строковый тип. Кроме того, в Турбо Паскале целые и вещественные – это группы типов. В старших версиях Турбо Паскаля существует процедурный тип и тип объект. Каждый тип имеет свой идентификатор. В таблице представлена информация о простых типах данных, определённых в Турбо Паскале. Для вещественных типов в скобках указано количество сохраняемых значащих цифр.
Идентификатор
|
Длина, байт |
Диапазон (множество) значений |
Целые типы |
||
INTEGER |
2 |
-32768…32767 |
BYTE |
1 |
0…255 |
WORD |
2 |
0…65535 |
SHORTINT |
1 |
-128…127 |
LONGINT |
4 |
-2147483648 …2147483647 |
Вещественные типы |
||
REAL |
6 |
2,9*10-39…1,7*1038 (11-12) |
SINGLE |
4 |
1,5*10-45…3,4*1038 (7-8) |
DOUBLE |
8 |
5*10-324…1,7*10308 (15-16) |
EXTENDED |
10 |
3,4*10-4932…1,1*104932 (19-20) |
Логический тип |
||
BOOLEAN |
1 |
TRUE, FALSE |
Символьный тип |
||
CHAR |
1 |
Все символы кода ASCII |
В стандарте Паскаля из вещественных типов определён только тип REAL; из целых типов – INTEGER.
Тип данных называется порядковым, если он состоит из счетного количества значений, которые можно пронумеровать. Отсюда следует, что на этом множестве значений существуют понятия «следующий» и «предыдущий».
Описание переменных.
Для всех переменных величин, используемых в программе, должны быть указаны их типы. Это делается в разделе переменных программы.
<идентификатор>:<тип>
Пример раздела описания переменных:
Var m,n,k: integer;
a,b,c : real;
sym: char;
Арифметические операции, функции, выражения.
Арифметический оператор присваивания.
К арифметическим типам данных относятся группы вещественных и целых типов. К ним применимы арифметические операции и операции отношений.
В таблице обозначены: I – целые типы, R – вещественные типы.
Знак |
Выражение |
Типы операндов |
Типы результатов |
Операция |
+ |
А+В |
R,R I,I I,R;R,I |
R I R |
Сложение |
- |
А-В |
R,R I,I I,R;R,I |
R I R |
Вычитание |
* |
A*B |
R,R I,I I,R;R,I |
R I R |
Умножение |
/ |
A/B |
R,R I,I I,R;R,I |
R R R |
Вещественное деление |
div |
A div B |
I,I |
I |
Целое деление |
mod |
A mod B |
I,I |
I |
Остаток от целого деления |
Для того, чтобы правильно записать арифметические выражения, нужно соблюдать следующие правила:
-
Запись должна быть линейной : все символы пишутся в строку на одном уровне. Проставляются все знаки операций (нельзя пропускать знак умножения).
-
Не допускаются два следующих подряд знака операций (нельзя А+-В; можно А+(-В)).
-
Операции с более высоким приоритетом выполняются раньше операций с меньшим приоритетом. Порядок убывания приоритетов:
-
Вычисление функций;
-
Унарная операция смены знака (-);
-
*, /, div, mod;
-
+, -.
-
-
Несколько записанных подряд операций одинакового приоритета выполняются последовательно слева направо.
-
Часть выражения, заключенная в скобки, вычисляется в первую очередь.(Например, (А+В) * (С-D) – умножение производится после сложения и вычитания. )
-
Если в числителе или в знаменателе не одно число и не одна функция, то их нужно брать в скобки.
обращение |
тип аргумента |
тип результата |
стандартная функция |
пример (ОТВЕТ) |
|||
Pi |
- |
R |
число π=3.1415926536E+00 |
(3.141592653589.) |
|||
ABS(x) |
I,R |
I,R |
модуль аргумента x |
ABS(-4) (4) |
|||
ARCTAN(X) |
I,R |
R |
арктангенс х (радианы) |
ARCTAN(1) (3.141592653589.) |
|||
SIN(X) |
I,R |
R |
Синус х (х в радианах) |
SIN(30*PI/180) (5.000…E-0001) |
|||
COS(X)
|
I,R |
R |
косинус х (х в радианах) |
COS(45*PI/180) (8.660…E-0001) |
|||
EXP(X) |
I,R |
R |
Ех - экспонента |
EXP(2) (7.389…) |
|||
FRAC(X) |
I,R |
R |
Дробная часть х |
FRAC(3.7) (7.000..E-0001)
|
|||
INT(X) |
I,R |
R |
Целая часть х |
INT(3.7) (3) |
|||
LN(X) |
I,R |
R |
Натуральный логарифм х |
LN(4) (1.386…) |
|||
RANDOM |
|
R |
Случайное число в интервале [0,1) |
|
|||
RANDOM(X) |
I |
I |
Случайное число в интервале [0,Х) |
RANDOM(5) |
|||
ROUND(X) |
R |
I |
Округление до ближайшего целого |
ROUND(3.5) (4) R0UND(3.1) (3) |
|||
SQR(X) |
I,R |
I,R |
Квадрат х |
SQR(3) (9) |
|||
SQRT(X) |
I,R |
R |
Корень квадратный из х |
SQRT(16) (4) |
|||
TRUNC(X) |
R |
I |
Ближайшее целое, не превышающее х по модулю |
TRUNC(3.6) (3) TRUNC(3.1) (3) |
|||
ФУНКЦИИ, СВЯЗЫВАЮЩИЕ РАЗЛИЧНЫЕ ТИПЫ ДАННЫХ |
|||||||
ORD(X)
|
ЛЮБОЙ ПОРЯДКОВЫЙ |
I |
Порядковый номер значения Х в его типе |
ORD('+') (43) |
|||
PRED(X) |
ЛЮБОЙ ПОРЯДКОВЫЙ |
ТОТ ЖЕ, ЧТО ДЛЯ Х |
Предыдущее относительно х значение в его типе |
PRED('G') (F) |
|||
SUCC(X)
|
ЛЮБОЙ ПОРЯДКОВЫЙ |
ТОТ ЖЕ, ЧТО ДЛЯ Х |
Следующее относительно х значение в его типе |
SUCC('F') (G) |
|||
CHR(X) |
BYTE |
CHAR |
Символ с порядковым номером х |
CHR(100) (d) |
|||
ODD(X) |
I |
BOOLEAN |
TRUE, если х нечетное, FALSE, если х четное |
ODD(35) (TRUE) ODD(20) (FALSE) |