= ;
Задание типа представляет собой запись, однозначно определяющую тип переменной. Это может быть имя стандартного типа (integer, real, char), имя типа, введенное программистом или одна из конструкций производного типа.
Концепция типа представляет собой, наверное, самый сложный элемент Паскаля. Язык Паскаль является строго типизированным языком. Это означает, что с каждым объектом программы связывается один определен¬ный тип. Тип переменной задает множество возможных значений перемен¬ной и те операции, которые имеют смысл для значений данной переменной. Например, для целых и вещественных переменных имеют смысл арифмети¬ческие операции и операции сравнения, для логических операций использу¬ются логические операции конъюнкции, дизъюнкции и отрицания и т.д. В результате некоторые ошибки, связанные с неправильным использованием переменной, могут быть выявлены непосредственно по тексту программы.
При компиляции информация о типе используется для определения объема памяти, которую необходимо выделить переменной, и для выбора команды выполнения операции: сложение целых чисел – это одна машинная команда, а сложение вещественных чисел – другая.
Различают простые и составные (по-другому структурные или комбиниро¬ван¬ные) типы. Простые делятся на целые, вещественные, перечислимые, символьный (или литерный) и логический (или булевский) тип. Кроме того, в группе простых типов принято выделять порядковые типы. К ним относятся все просте типы, кроме вещественных.
Числовых (и целых, и вещественных) типов в Турбо Паскале несколько. Связано это с тем обстоятельством, что в различных задачах числовые данные могут лежать в различных диапазонах, и для их представления необходим различ¬ный объем памяти. Кроме того, иногда используются только положительные целые числа. В таблице перечислены стандартные простые типы системы Турбо Паскаль.
Ключевое
слово Вид Диапазон Знач.
цифры Длина
(в байтах)
byte целый без знака 0..255 1
word целый без знака 0..216-1 2
shortint целый со знаком -128..127 1
integer целый со знаком -215..215-1 2
longint целый со знаком -231..231-1 4
real вещественный 2.9*10-39..1.7*1038 11-12 6
single вещественный 1.5*10-45..3.4*1038 7-8 4
double вещественный 5.0*10-324..1.7*10308 15-16 8
extended вещественный 3.4*10-4932..1.1*104932 19-20 10
comp вещественный -263+1..263-1 19-20 8
char символьный ASCII 1
boolean логический false, true 1
Кроме стандартных простых типов, программист может определить свои так называемые перечислимые типы. Значениями перечислимого типа служат идентификаторы списка, которые задаются (в круглых скобках и через запятую) при определении типа. Примеры задания перечислимого типа:
type
color = (white, black, red, blue, green, yellow, brown);
m = (m1,m2,m3,m4,m5);
Идентификаторы, перечисленные в списке значений перечислимого типа, можно использовать в тексте программы, например, в операторе присваива¬ния или в составе выражений. Кроме того, порядок написания значений перечислимого типа при его определении задает порядок в множестве значений, то есть законны операции сравнения значений перечислимого типа. Необходимо только, чтобы типы переменных при присваивании или сравнении были согласованными.
Отношение порядка, подобное отношению порядка значений перечислимого типа, называется линейным. Для него можно определить предыдущий и последующий элемент. Отношение порядка является линейным для всех простых типов, кроме вещественных. Конкретно:
• для целого типа порядок определяется величиной числа;
8th Май 2011
|
Теги:
|