Элементы языка Турбо Паскаль Алфавит Алфавит языка Турбо Паскаль включает в себя буквы, цифры, шестнадцатеричные цифры, специальные символы и зарезервированные служебные слова. Буквы – это буквы латинского алфавита от 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 – это одна и та же величина;
имена не могут совпадать с зарезервированными служебными словами.
Данные в языке Паскаль Понятие типа данных в Турбо Паскаль Для обработки ЭВМ данные представляются в виде величин и их совокупностей. Это могут быть константы или переменные. Каждый из этих элементов программы характеризуется своим значением и принадлежит к какому-либо типу данных. Тип определяет:
возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;
внутреннюю форму представления данных в ЭВМ;
операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.
В языке Паскаль тип величины задают заранее. Все элементы, используемые в программе, должны быть объявлены с указанием их типа. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня.
Иерархия типов в языке Паскаль такая:
Простые
Порядковые
Целые
Логические
Символьные
Перечисляемые
Интервальные
Вещественные
Структурированные
Массивы
Строки
Множества
Записи
Файлы
Указатели
Простые типы данных К простым типам относятся порядковые и вещественные типы. Порядковые типы отличаются тем, что каждый из них имеет конечное число возможных значений. Эти значения можно упорядочить и, следовательно, с каждым из них можно сопоставить некоторое целое число – порядковый номер значения. Вещественные типы не имеют точного количества возможных значений, хотя конечное значение определяется форматом внутреннего представления числа. Количество возможных значений настолько велико, что сопоставить с каждым из них целое число (его номер) не представляется возможным.
К любому из порядковых типов применимы функции: ORD(X) – возвращает порядковый номер значения X, PRED(X) – возвращает предыдущее значение порядкового типа, SUCC(X) – возвращает следующее значение порядкового типа.
В таблице приведены простые типы данных Турбо Паскаль, объем памяти, необходимый для хранения одной переменной указанного типа, множество допустимых значений и применимые операции.
Таблица 0. Идентификатор
| Длина (байт)
| Диапазон значений
| Операции
| Целые типы
| integer
| 2
| -32768..32767
| +, -, /, *, Div, Mod, >=, <=, =, <>, <, >
| byte
| 1
| 0..255
| +, -, /, *, Div, Mod, >=, <=, =, <>, <, >
| word
| 2
| 0..65535
| +, -, /, *, Div, Mod, >=, <=, =, <>, <, >
| shortint
| 1
| -128..127
| +, -, /, *, Div, Mod, >=, <=, =, <>, <, >
| longint
| 4
| -2147483648..2147483647
| +, -, /, *, Div, Mod, >=, <=, =, <>, <, >
| Вещественные типы
| real
| 6
| 2,9x10-39 - 1,7x1038
| +, -, /, *, >=, <=, =, <>, <, >
| single
| 4
| 1,5x10-45 - 3,4x1038
| +, -, /, *, >=, <=, =, <>, <, >
| double
| 8
| 5x10-324 - 1,7x10308
| +, -, /, *, >=, <=, =, <>, <, >
| extended
| 10
| 3,4x10-4932 - 1,1x104932
| +, -, /, *, >=, <=, =, <>, <, >
| Логический тип
| boolean
| 1
| true, false
| Not, And, Or, Xor, >=, <=, =, <>, <, >
| Символьный тип
| char
| 1
| все символы кода ASCII
| +, >=, <=, =, <>, <, >
| Примеры описания типов: A : Real; B : Integer; C : Longint;
Перечисляемый тип задаётся перечислением тех значений, которые он может получать. Каждое значение именуется идентификатором и располагается в списке. Например,
TypeMonth=(янв, фев, мар);
Номера значений соответствуют порядку перечисления и должны быть не более 65535 (т.е. тип Word).
Интервальный тип (тип-диапозон) – это подмножество значений своего базового типа, в качестве которого может выступать любой порядковый тип, кроме типа-диапозона. Задаётся границами своих значений внутри базового типа:
<минимальное значение>.. <максимальное значение>
Например, date=1..31 digit=’0’..’9’
Структурированные типы данных Структурированные типы характеризуются множественностью образующих этот тип элементов, т.е. имеют несколько компонентов. Каждый компонент , в свою очередь может принадлежать структурированному типу, т.е. допускается вложенность типов.
Массивы представляют собой формальное объединение нескольких однотипных объектов (чисел, символов, строк и т.п.), рассматриваемое как единое целое. Все компоненты массива – это данные одного типа.
Общий вид определения массива:
Type A = array [тип индекса массива] of [тип компонент массива]
Например, М1=array [1..100] of real;
Строки – это массив символов, но количество символов в строке может меняться. Строка трактуется как цепочка символов произвольной длины. Максимальное количество символов не более 255. Каждый символ в строке имеет свой индекс (номер).
Line = string[80];
Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличие от массива, компоненты записи (поля) могут быть различного типа. Записи позволяют объединять значения различных типов.
Date = record
Month : (Jan, Feb, Mar, Apr, May, Jun, July, Aug, Sept, Oct, Nov, Dec);
Day : 1..31;
Year : 2000..2050;
End; Множества – это наборы однотипных, логически связанных друг с другом объектов. Количество элементов, входящих в множество может меняться от 0 до 256. Именно непостоянством своих элементов множества отличаются от массивов и записей.
Digits = Set of 1..5;
Файл – именованная область внешней памяти. Файл содержит компоненты одного типа, кроме файлов ( т.е. нельзя создать «файл файлов»). Длина файла не оговаривается и ограничивается только ёмкостью устройств внешней памяти.
F : File of Integer;
Более подробно со структурированными типами ознакомимся при дальнейшем изучении языка.
Указатель (ссылочный тип) Cодержит адрес байта памяти, в котором находится значение данных определённого типа. Этот тип называют также ссылочным. Для описания используется символ ^ и идентификатор типа. Например, P=^integer;
Использование указателей является гибким средством управления динамической памятью и предоставляет возможность обработки массивов данных большой размерности.
|