Совместимость и преобразование типов данныхРефераты >> Программирование и компьютеры >> Совместимость и преобразование типов данных
Содержание
Введение .
Описание типов данных .
Стандартные функции языка Паскаль .
В тригонометрических функциях аргумент должен быть задан только в радианной мере угла.
Совместимость и преобразование типов данных
Эквивалентность типов
Структурная эквивалентность
Именная эквивалентность
Структурно-именная эквивалентность .
Примеры .
Введение
Язык программирования Pascal был разработан в 1968-1971 гг. Никлаусом Виртом в Цюрихском Институте информатики (Швейцария), и назван вчесть Блеза Паскаля – выдающегося математика, философа и физика 17-го века. Первоначальная цель разработки языка диктовалась необходимостью создания инструмента "для обучения программированию как систематической дисциплине". Однако очень скоро обнаружилась чрезвычайная эффективность языка Pascal в самых разнообразных приложениях, от решения небольших задач численного характера до разработки сложных программных систем - компиляторов, баз данных, операционных систем и т.п. К настоящему времени Pascal принадлежит к группе наиболее распространенных и популярных в мире языков программирования:
- существуют многочисленные реализации языка практически для всех машинных архитектур;
- разработаны десятки диалектов и проблемно-ориентированных расширений языка Pascal;
- обучение программированию и научно-технические публикации в значительной степени базируются на этом языке.
Описание типов данных
Достоинством языка Паскаль является возможность использования широкого набора разных типов данных. Тип данных определяет возможные значения констант, переменных, функций, выражений и операций, которые могут выполняться над ними.
Типы данных подразделяются на простые и сложные. Простые типы делятся на стандартные (предопределенные) типы и типы определяемые пользователем (пользовательские типы).
Имена стандартных типов являются идентификаторами и действуют в любой точке программы. Они описаны в стандартном модуле System. Так же, как и другие идентификаторы, имена стандартных типов могут быть переопределены в программе.
Однако остается возможность обращения к их первоначальному смыслу с помощью квалифицируемого идентификатора с указанием имени модуля System. Например: System.Integer, System.Real.
К стандартным типам относятся:
· группа целых типов (Shortint, Integer, Longint, Byte, Word);
· группа вещественных типов (Single, Real, Double, Extended, Comp);
· группа логических (булевских) типов (Boolean, ByteBool, WordBool, LongBool);
· символьный тип (Char);
· строковый тип (String, Pchar);
· указательный тип (Pointer);
· текстовый тип (Text).
Символьный тип, целые и булевские типы относят к, так называемым, порядковым типам.
Порядковые типы характеризуются следующими свойствами:
1. Множество допустимых значений любого порядкового типа представляет собой упорядоченную последовательность , каждый элемент которой имеет свой порядковый номер. Порядковый номер представляется целым числом. Первое значение любого порядкового типа имеет номер 0, следующий номер 1 и т.д. Исключение составляют порядковые типы Integer, Shortint, Longint, где порядковым номером значений этих типов является само значение.
2. К любому значению порядкового типа можно применять функции возвращающие номер, предыдущее или последующее значение данного типа.
Пользовательские типы – дополнительные абстрактные типы, характеристики которых программист может определять самостоятельно.
К пользовательским типам относятся:
· перечисляемый тип;
· интервальный тип;
· указательные типы (кроме стандартного типа Pointer);
· структурированные типы;
· процедурный тип.
Перечисляемый и интервальный типы являются порядковыми.
Структура подраздела описания типов выглядит следующим образом:
Форма записи:
type <идентификатор_типа> = <тип>;
Пример:
type
vec = integer;
bool = boolean;
Стандартные функции языка Паскаль
Для выполнения часто встречающихся операций и преобразований данных, относящихся к разным типам, существуют заранее определенные функции, которые называются СТАНДАРТНЫМИ. Для обращения к функции необходимо задать ее имя и в скобках список аргументов (параметров).
Прежде чем перейдем к стандартным функциям, сначала ознакомимся с правилами их использования:
1. Имя функции записывается прописными буквами латинского алфавита.
2. Аргумент функции записывается в круглых скобках после имени функции.
3. Аргументом функции может быть константа, переменная, или арифметическое выражение того же типа
Теперь рассмотрим некоторые стандартные функции:
Функция |
Действие |
Тип Х |
Тип возвращаемого значения | ||
SQRT(X) |
вычисляет квадратный корень из аргумента Х |
действительный |
действительный | ||
SQR(X) |
вычисляет квадрат аргумента Х |
целый |
действи-тельный |
целый |
действи-тельный |
RANDOM(X) |
возвращает случайное число, перед вызовом функции желательно использовать в программе оператор RANDOMIZE включающей случайную инициализацию генератора случайных чисел |
целый, положительный |
соответствует типу переменной принимающей значение | ||
SIN(X) |
вычисляет синус аргумента Х |
действительный |
действительный | ||
COS(X) |
вычисляет косинус аргумента Х |
действительный |
действительный | ||
ABS(X) |
вычисляет абсолютное значение (модуль) аргумента Х |
целый |
действи-тельный |
целый |
действи-тельный |
ODD(X) |
проверяет Х на четность |
длинное целое |
логический | ||
ORD(X) |
определяет порядковый номер символа Х |
любой тип кроме действительного |
длинное целое | ||
CHR(X) |
определяет символ стоящий по порядковому номеру Х |
byte |
символьный | ||
PRED(X) |
определяет предыдущее значение по отношению к Х |
любой тип кроме действительного |
тот же тип | ||
SUCC(X) |
определяет последующее значение по отношению к Х |
любой тип кроме действительного |
тот же тип | ||
ARCTAN(X) |
вычисляет арктангенс аргумента Х |
действительный |
действительный | ||
EXP(X) |
вычисляет экспоненту от аргумента Х |
действительный |
действительный | ||
LN(X) |
вычисляет натуральный логарифм от Х |
действительный |
действительный | ||
TRUNC(X) |
находит целую часть от Х |
действительный |
длинное целое | ||
ROUND(X) |
округляет Х в сторону ближайшего целого |
действительный |
длинное целое | ||
INT(X) |
возвращает целую часть аргумента Х |
действительный |
действительный | ||
FRAC(X) |
возвращает дробную часть аргумента Х |
действительный |
действительный | ||
DEC(X,N) |
уменьшает значение переменной Х на заданное число N |
любой тип кроме действительного |
тот же тип | ||
INC(X,N) |
увеличивает значение переменной Х на заданное число N |
любой тип кроме действительного |
тот же тип | ||
PI |
возвращает значение числа |
- |
действительный |