Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Определение типов




Структура программы в TURBO PASCAL

Program <название> - заголовок программы

Label - описание меток

Const - описание констант

Type - описание типов

Var - описание переменных

Procedure - описание процедур

Function – описание функций

Заголовок программы выполняет чисто декоративные функции и служит для удовлетворения эстетических запросов программиста. Заголовок программы компилятором игнорируется.

Раздел “описание” состоит из пяти секций.

Описание меток. Переход по метке выполняется оператором GOTO. Все метки должны быть описаны. Метки могут быть целочисленными от 0 до 9999 или идентификаторами. Каждая описанная метка должна появиться в программе.

Пример. Label X1, Finish, 4444;

Описание констант. Общий вид:

Const идентификатор = выражение (или число).

Пример. Const Limit = 256

M = 25*16;

K = M*Limit - 1

Error = ‘Ошибка’; - символьная константа;

Err1 = Error + ‘Повторите ввод’;

При построении выражений для определения значения констант можно использовать только ранее определенные константы, соединенные знаками операций, и следующие функции:

ABS - абсолютная величина

CHR - символическая переменная типа порядковый номер

HI - старший байт (хай)

LENGTH - длина строковой переменной

LO - младший байт

ORD – порядковый номер

PRED - предыдущее значение

PTR - указатель (пойнтер)

ROUND - округление

SIZEOF - размер переменной

SUCC - следующий

SWAP - перестановка байтов

TRUNC – отбрасывание дробной части числа

Предопределенные константы:

FALSE - истина

TRUE - ложь

MAXINT = 32767

MAXLONGINT = 2147483647

BOOLEAN - логическая переменная

INTEGER - целое

LONGINT - длинное целое

Каждое определение константы вводит свой идентификатор для обозначения некоторого постоянного значения. Идентификатор, использованный для определения константы, можно употреблять при определении последующих констант.

Пример. Const L = 100;

H = -L;

В данном примере сначала определяется идентификатор константы L, который затем используется при определении константы Н.

В качестве констант в языке Паскаль разрешается использовать целые и вещественные значения, а также строки.

Пример. Const PI = 3,14;

STR = ‘-----’;

LENGHT = 80;

Концепция типов является одной из основных в языке Паскаль. С каждым объектом программы связывается один и только один определенный тип. Тип - это множество значений плюс множество операций, которые можно выполнить над этими значениями. Таким образом, приписывая объекту некоторый тип, мы тем самым явно определяем набор значений, которые можно присвоить этому объекту, а также операции, с помощью которых можно манипулировать объектами. Поэтому проверку выполнения требований, накладываемых типом, можно осуществлять статически, т.е. на основании только текста программы без анализа тех конкретных значений, которые задаются объекту. Например, операция сложения определена для вещественных и целых типов, но не определена для логического типа.

Если в тексте программы операция сложения употребляется для операндов логического типа, то это ошибочное использование операции. Многочисленные ошибки, связанные с некорректным использованием тех или иных значений или операций, могут быть обнаружены еще во время компиляции без выполнения программы.

В языке Паскаль говорят, что он строго типизирован. Программист должен описать все объекты, указывая их типы, и использовать объекты только в соответствии с их типами. Эта избыточность, повышающая надежность программы. При компиляции информация о типе используется для представления переменной в памяти ЭВМ и для выбора необходимых команд для выполнения операций над переменными. Например, знак + (плюс) используется в языке Паскаль для сложения целых и вещественных величин, а также для объединения множеств. Возникает многозначная интерпретация этого знака операции, ведь все три указанных действия сложения выполняются компьютером по-разному. Вместе с тем концепция типа позволяет устранить подобную неопределенность на стадии компиляции.

Типы в языке Паскаль определяются в разделе определения типов. Каждое определение типа вводит идентификатор для обозначения некоторого типа. Этот идентификатор может использоваться для определения новых, более сложных типов данных, либо для описания переменных в разделе описания переменных.

Type идентификатор = тип;

идентификатор = тип;

Идентификатор, использованный при определении некоторого типа, может употребляться в последующих определениях типов.

Описание типов.

Общий вид: Type идентификатор = тип;

Пример. TYPE NUMBER = INTEGER;

INDEX = -1...99;

VALUE = - 999...999;

LIST = ARRAY [INDEX] OF VALUE;

COLOR = (RED, GREEN, BLUE);

EXT = REAL;

Описание переменных.

Общий вид: Var - идентификатор, идентификатор: тип

Пример. VAR R1, R2, R3: INTEGER;

V1, V2, X1: REAL;

EGUAL: BOOLEAN;

WORD1: CHAR;




Поделиться с друзьями:


Дата добавления: 2014-10-23; Просмотров: 322; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.