
Министерство образования
Российской Федерации
Томский государственный университет
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Контрольная работа №1
по дисциплине «Информатика»
2003 г.
Вариант 27
Задание 1.
1) Вопрос:
Какого типа переменным можно присваивать значения переменных другого типа?
Ответ:
Совместимость типов возможено, если выполняется по крайней мере одно из следующих условий:
* Оба типа являются одинаковыми.
* Оба типа являются вещественными типами.
* Оба типа являются целочисленными.
* Один тип является поддиапазоном другого.
* Оба типа являются отрезками одного и того же основного типа.
* Оба типа являются множественными типами с совместимыми ба-
зовыми типами.
* Один тип является строковым типом, а другой - строковым
типом, упакованным строковым типом или типом PChar;
* Один тип - это тип Pointer, а другой - любой ссылочный
тип.
* Один тип является типом PChar, а другой - символьным мас-
сивом с нулевой базой вида array[0..X] of Char (это дейс-
твует только при разрешении директивой {$X+} расширенного
синтаксиса).
* Оба типа являются указателями идентичных типов (это дейс-
твует только при разрешении указателя с проверкой типа ди-
рективой {$X+}).
* Оба типа являются процедурными с идентичными типами ре-
зультатов, одинаковым числом параметров и соответствием
между параметрами.
2) Вопрос :
Какие типы в языке PASCAL относятся к порядковым типам?
Ответ :
К порядковым типам в языке PASCAL относятся типы представляющие собой подмножество простых типов. Все простые типы, отличные от вещественных типов, являются порядковыми и выделяются по следующим характеристикам.
- Все возможные значения данного порядкового типа представляют собой упорядоченное множество, и каждое возможное значение связано с порядковым номером, который представляет собой целочисленное значение. За исключением значений целочисленного типа, первое значение любого порядкового типа имеет порядковый номер 0, следующее значение
имеет порядковый номер 1 и так далее для каждого значения
в этом порядковом типе. Порядковым номером значения целочисленного типа является само это значение. В любом порядковом типе каждому значению, кроме первого, предшествует другое значение, и после каждого значения, кроме последнего, следует другое значение в соответствии с упорядоченностью типа.
- К любому значению порядкового типа можно применить стандартную функцию Ord, возвращающую порядковый номер этого значения.
- К любому значению порядкового типа можно применить стандартную функцию Pred, возвращающую предшествующее этому значению значение. Если эта функция применяется к первому значению в этом порядковом типе, то выдается сообщение об ошибке.
- К любому значению порядкового типа можно применить стандартную функцию Succ, возвращающую следующее за этим значением значение. Если эта функция применяется к последнему значению в этом порядковом типе, то выдается сообщение об ошибке.
- К любому значению порядкового типа и к ссылке на переменную порядкового типа можно применить стандартную функцию Low, возвращающую наименьшее значение в диапазоне данного порядкового типа.
- К любому значению порядкового типа и к ссылке на переменную порядкового типа можно применить стандартную функцию High, возвращающую наибольшее значение в диапазоне данного порядкового типа.
Синтаксис порядкового типа имеет следующий вид:
Порядковый тип Отрезок типа
Перечисляемый тип
Идентификатор
порядкового
типа
Borland Pascal имеет 10 встроенных порядковых типов: Integer (целое), Shortint (короткое целое), Longint (длинное целое), Byte (длиной в байт), Word (длиной в слово), Boolean (булевское) ,ByteBool (булевское размером в байт), WordBool (булевское размером в слово), LongBool (длинный булевский тип) и Char (символьный тип). Кроме того, имеется два других класса определяемых пользо-
вателем порядковых типов: перечислимые типы и отрезки типов (под диапазоны).