4. Концепция типа для данных

 В математике принято классифицировать переменные в соответствии с

некоторыми важными характеристиками. Производится строгое разграниче-

ние между вещественными, комплексными и логическими переменными, меж-

ду переменными, представляющими отдельные значения и множество значе-

ний и так далее.

 При обработке данных на ЭВМ такая классификация еще более важна. В

любом алгоритмическом языке каждая константа,  переменная, выражение

или функция бывают определенного типа.

 В языке ПАСКАЛЬ существует правило: тип явно задается в описании

переменной или функции, которое предшествует их использованию. Кон-

цепция типа языка ПАСКАЛЬ имеет следующие основные свойства:

 -любой тип данных определяет множество значений,  к которому при-

надлежит константа, которые может принимать переменная или выражение,

или вырабатывать операция или функция;

 -тип значения, задаваемого константой, переменной или выражением,

можно определить по их виду или описанию;

 -каждая операция или функция требует аргументов фиксированного ти-

па и выдает результат фиксированного типа.

 Отсюда следует, что транслятор может использовать информацию о ти-

пах для проверки вычислимости и правильности различных конструкций.

 Тип определяет:

 -возможные значения переменных, констант, функций, выражений, при-

надлежащих к данному типу;

 -внутреннюю форму представления данных в ЭВМ;

 -операции и функции, которые могут выполняться над величинами,

принадлежащими к данному типу.

 Обязательное описание типа приводит к избыточности в тексте прог-

рамм, но такая избыточность является важным вспомогательным средс-

твом разработки программ и рассматривается как необходимое свойство

современных алгоритмических языков высокого уровня.  В языке ПАСКАЛЬ

существуют скалярные и структурированные типы данных.

 К cкалярным типам относятся стандартные типы и типы, определяе-

мые пользователем.

 Стандартные типы включают целые, действительные, символьный,

логические и адресный типы. Типы, определяемые пользователем, - пере-

числяемый и интервальный.

 Структурированные типы имеют четыре разновидности:  массивы, мно-

жества, записи и файлы.

 Кроме перечисленных, TURBO PASCAL включает еще два типа - проце-

дурный и объектный.

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

которые характеризуются следующими свойствами:

 -все возможные значения порядкового типа представляют собой

ограниченное упорядоченное множество;

 -к любому порядковому типу может быть применена стандартная

функция Ord, которая в качестве результата возвращает порядко-

вый номер конкретного значения в данном типе;

 -к любому порядковому типу могут быть применены стандартные

функции Pred и Succ, которые возвращают предыдущее и последую-

щее значения соответственно;

 -к любому порядковому типу могут быть применены стандартные функ-

ции Low и High, которые возвращают наименьшее и наибольшее значения

величин данного типа.

 В языке ПАСКАЛЬ введены понятия эквивалентности и совместимости типов.

 Два типа Т1 и Т2 являются эквивалентными (идентичными),  если выполняется

одно из двух условий:

 -Т1 и Т2 представляют собой одно и то же имя типа;

 -тип Т2 описан  с использованием типа Т1 с помощью равенства или

последовательности равенств. Например:

 

 type

 T1 = Integer;

 T2 = T1;

 T3 = T2;

 

 Менее строгие ограничения определены совместимостью типов. Напри-

мер, типы являются совместимыми, если:

 -они эквивалентны;

 -являются оба либо целыми, либо действительными;

 -один тип - интервальный, другой - его базовый;

 -оба интервальные с общим базовым;

 один тип - строковый, другой - символьный.

 В ТУРБО ПАСКАЛЬ ограничения на совместимость типов можно обойти с

помощью приведения типов. Приведение типов позволяет рассматривать

одну и ту же величину в памяти ЭВМ как принадлежащую  разным типам.

Для этого используется конструкция

 

 Имя_Типа(переменная или значение).

 

 Напрмер,

 

 Integer('Z')

 

представляет собой значение кода символа 'Z' в двухбайтном представ-

лении целого числа, а

 

 Byte(534)

 

даст значение 22, поскольку целое число 534 имеет тип Word и занима-

ет два байта, а тип Byte занимает один байт, и в процессе приведения

старший байт будет отброшен.

Электротехника курсовые, лабораторные, практика Математика, физика