Элементы языка Турбо Паскаль
Алфавит
Алфавит языка Турбо Паскаль включает в себя буквы, цифры, шестнадцатеричные цифры, специальные символы и зарезервированные служебные слова. Буквы – это буквы латинского алфавита от a до z и от A до Z. В Турбо Паскале нет различия между строчными и прописными буквами алфавита. Цифры – арабские цифры от 0 до 9. Шестнадцатеричные цифры – от 0 до 9, остальные шесть обозначаются латинскими буквами от A до F или от a до f. Специальные знаки – это символы +, - , * , / , = , ‘ , . , : , ; , < , > , [ , ] , ( , ) , { , } , ^ , @ , $ , #, а также пары символов: <>, <=, >=, := , (* , *), (..). Особое место занимает символ пробела, который рассматривается как ограничитель при написании текста программы.
К зарезервированным словам относятся: begin end const var for if и т.д Познакомиться с зарезервированными словами мы сможем в процессе изучения языка.
Идентификаторы
Любая программа выполняет над исходными данными некоторые расчеты. Отдельные элементы данных обозначаются даваемыми программистом именами (идентификаторами). Любые идентификаторы в языке Паскаль строятся по следующим правилам:
· имена могут включать латинские буквы, цифры и знак подчеркивания (для простоты опустим некоторые другие символы, разрешенные в именах);
- имя состоит из одного слова; если требуется пробел в имени, он заменяется на подчеркивание: так, My_1 будет правильным идентификатором, а My 1 – нет;
- имя всегда начинается с буквы: допустим объект с именем A1, но не 1A; прописные и строчные буквы в именах не различаются Паскалем: x1 и X1 – это одна и та же величина;
- имена не могут совпадать с зарезервированными служебными словами.
Данные в языке Паскаль
Понятие типа данных в Турбо Паскаль
Для обработки ЭВМ данные представляются в виде величин и их совокупностей. Это могут быть константы или переменные. Каждый из этих элементов программы характеризуется своим значением и принадлежит к какому-либо типу данных. Тип определяет:
· возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;
· внутреннюю форму представления данных в ЭВМ;
· операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.
В языке Паскаль тип величины задают заранее. Все элементы, используемые в программе, должны быть объявлены с указанием их типа. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня.
Иерархия типов в языке Паскаль такая:
· Простые
o Порядковые
§ Целые
§ Логические
§ Символьные
§ Перечисляемые
§ Интервальные
o Вещественные
· Структурированные
o Массивы
o Строки
o Множества
o Записи
o Файлы
· Указатели
Простые типы данных
К простым типам относятся порядковые и вещественные типы. Порядковые типы отличаются тем, что каждый из них имеет конечное число возможных значений. Эти значения можно упорядочить и, следовательно, с каждым из них можно сопоставить некоторое целое число – порядковый номер значения. Вещественные типы не имеют точного количества возможных значений, хотя конечное значение определяется форматом внутреннего представления числа. Количество возможных значений настолько велико, что сопоставить с каждым из них целое число (его номер) не представляется возможным.
К любому из порядковых типов применимы функции:
ORD(X) – возвращает порядковый номер значения X,
PRED(X) – возвращает предыдущее значение порядкового типа,
SUCC(X) – возвращает следующее значение порядкового типа.
В таблице приведены простые типы данных Турбо Паскаль, объем памяти, необходимый для хранения одной переменной указанного типа, множество допустимых значений и применимые операции.
Таблица 0.2
Идентификатор | Длина (байт) | Диапазон значений | Операции |
Целые типы | |||
integer | -32768..32767 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > | |
byte | 0..255 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > | |
word | 0..65535 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > | |
shortint | -128..127 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > | |
longint | -2147483648..2147483647 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > | |
Вещественные типы | |||
real | 2,9x10-39 - 1,7x1038 | +, -, /, *, >=, <=, =, <>, <, > | |
single | 1,5x10-45 - 3,4x1038 | +, -, /, *, >=, <=, =, <>, <, > | |
double | 5x10-324 - 1,7x10308 | +, -, /, *, >=, <=, =, <>, <, > | |
extended | 3,4x10-4932 - 1,1x104932 | +, -, /, *, >=, <=, =, <>, <, > | |
Логический тип | |||
boolean | true, false | Not, And, Or, Xor, >=, <=, =, <>, <, > | |
Символьный тип | |||
char | все символы кода ASCII | +, >=, <=, =, <>, <, > |
Примеры описания типов: A : Real; B : Integer; C : Longint;
Перечисляемый тип задаётся перечислением тех значений, которые он может получать. Каждое значение именуется идентификатором и располагается в списке. Например,
TypeMonth=(янв, фев, мар);
Номера значений соответствуют порядку перечисления и должны быть не более 65535 (т.е. тип Word).
Интервальный тип (тип-диапозон)– это подмножество значений своего базового типа, в качестве которого может выступать любой порядковый тип, кроме типа-диапозона. Задаётся границами своих значений внутри базового типа:
<минимальное значение>.. <максимальное значение>
Например, date=1..31
digit=’0’..’9’