КАТЕГОРИИ: Архитектура-(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) |
Концепции типа данных
Элементарные конструкции языка Конструкции языков программирования Основные символы языка-буквы, цифры и специальные символы составляют его алфавит. ТУРБО ПАСКАЛЬ включает следующий набор основных символов: 1) 26 латинских строчных и 26 латинских прописных букв; 2) подчеркивание; 3) 10 цифр; 4) знаки операций; 5) ограничители; 6) спецификаторы; 7) служебные (зарезервированные) слова. Кроме перечисленных, в набор основных символов входит пробел. Пробелы нельзя использовать внутри сдвоенных символов и зарезервированных слов.
Элементарные конструкции языков ПАСКАЛЬ и Си включают в себя имена, числа и строки. Имена (идентификаторы) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Имя - это последовательность букв и цифр, начинающаяся с буквы. В именах может использоваться символ подчеркивание. Имя может содержать произвольное количество символов, но значащими являются 63 символа. Не разрешается в языках ПАСКАЛЬ и Си использовать в качестве имен служебные слова и стандартные имена, которыми названы стандартные константы, типы, процедуры, функции и файлы. Для улучшения наглядности программы в нее могут вставляться пробелы. По крайней мере, один пробел требуется вставить между двумя последовательными именами, числами или служебными и стандартными именами. Пробелы нельзя использовать внутри имен и чисел. Примеры имен языков ПАСКАЛЬ и Си:
A, b12, r1m, SIGMA, gamma, I80_86
Числа в языке ПАСКАЛЬ обычно записываются в десятичной системе счисления. Они могут быть целыми и действительными. Положительный знак числа может быть опущен. Целые числа записываются в форме без десятичной точки, например:
217, -45, 8954, +483.
Действительные числа записываются в форме с десятичной точкой или в форме с использованием десятичного порядка, который изображается буквой Е:
28.6, 0.65, -0.018, 4.0, 5Е12, -1.72Е9, 73.1Е-16.
ПАСКАЛЬ и Си допускают запись целых чисел и фрагментов действительных чисел в форме с порядком в шестнадцатеричной системе счисления:
$7F, $40, $ABC0.
Строки в языках ПАСКАЛЬ и Си - это последовательность символов, записанная между апострофами (в Си кавычками). Если в строке в качестве содержательного символа необходимо употребить сам апостроф, то следует записать два апострофа. Примеры строк:
'СТРОКА', 'STRING', 'ПРОГРАММА', 'АД''ЮТАНТ'.
В математике принято классифицировать переменные в соответствии с некоторыми важными характеристиками. Производится строгое разграничение между вещественными, комплексными и логическими переменными, между переменными, представляющими отдельные значения и множество значений и так далее. При обработке данных на ЭВМ такая классификация еще более важна. В любом алгоритмическом языке каждая константа, переменная, выражение или функция бывают определенного типа. В языке ПАСКАЛЬ существует правило: тип явно задается в описании переменной или функции, которое предшествует их использованию. Концепция типа языков ПАСКАЛЬ и Си имеет следующие основные свойства: § любой тип данных определяет множество значений, к которому принадлежит константа, которые может принимать переменная или выражение, или вырабатывать операция или функция; § тип значения, задаваемого константой, переменной или выражением, можно определить по их виду или описанию; § каждая операция или функция требует аргументов фиксированного типа и выдает результат фиксированного типа. Отсюда следует, что транслятор может использовать информацию о типах для проверки вычислимости и правильности различных конструкций. Тип определяет: § возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу; § внутреннюю форму представления данных в ЭВМ; § операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня. В языках ПАСКАЛЬ и Си существуют скалярные и структурированные типы данных. К скалярным типам относятся стандартные типы и типы, определяемые пользователем. Стандартные типы включают целые, действительные, символьный, логические и адресный типы. Типы, определяемые пользователем, - перечисляемый и интервальный. Структурированные типы имеют четыре разновидности: массивы, множества, записи и файлы. Кроме перечисленных, 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 занимает один байт, и в процессе приведения старший байт будет отброшен.
Дата добавления: 2014-01-11; Просмотров: 675; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |