Типы данных в языке программирования паскаль 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Типы данных в языке программирования паскаль



 

При решении задач выполняется обработка информации различного характера. Это могут быть целые и дробные величины, строки и др. Соответственно константы и переменные должны быть описаны как целые, дробные, строковые и т.д.

Для описания множества допустимых значений величины и совокупности операций, в которых может участвовать данная величина, используется указание ее типа данных. Тип данных (data type) – множество величин, объединенных определенной совокупностью допустимых операций.

Каждый тип данных имеет свой диапазон значений и специальное зарезервированное слово для описания. Например, значения 1 и 2 относятся к целочисленному типу, их можно складывать, умножать и выполнять над ними другие арифметические операции.

Все типы данных можно разделить на две группы: скалярные и структурированные (составные). Скалярные типы в свою очередь, делятся на стандартные и пользовательские.

Стандартные типы предлагаются пользователям разработчиками системы Турбо Паскаль. К ним относятся целочисленные, вещественные, литерные, булевские типы данных и указатели.

Пользовательские типы разрабатываются пользователями системы программирования Турбо Паскаль.

Перечень типовых данных в Турбо Паскале.

Перечень типов данных в языке Турбо Паскаль можно представить в виде следующей схемы:

1. Простые типы (скалярные типы).

Порядковые типы.

Целые типы:

byte,

shortint,

integer,

word,

longint.

Логический тип boolean.

Символьный тип char.

Перечисляемый тип.

Интервальный тип (диапазон).

Вещественные типы:

real,

single,

double,

extended,

comp.

Ссылочный тип.

2. Структурированные типы.

Строковый (string).

Регулярный (array).

Комбинированный (record).

Множественный (set).

Файловый (file).

3. Процедурные типы.

Скалярные типы данных.

К скалярным (scalar – простые) типам данных относятся типы данных таких величин, значения которых не содержат составных частей.

Целочисленные типы данных

Целочисленные типы данных представляют собой значения, которые могут использоваться в арифметических выражениях и занимать в памяти от 1 до 4 байт.

Целочисленные типы данных

Типы Диапазон Требуемая память (байт)
byte shortint integer word longint 0..255 – 128..127 – 32768.. 32767 0..65535 – 2147483648.. 2147483647  

Вещественные типы данных

Вещественные типы данных представляют собой вещественные значения, которые используются в арифметических выражениях и занимают в памяти от 4 до 10 байт. Паскаль допускает представление вещественных значений, и с плавающей, и с фиксированной точкой.

Вещественные типы данных

Типы Диапазон Мантисса Требуемая память (байт)
real single double extended comp 2.9*10Е – 39..1.7*10Е38 1.5*10Е – 45..3.4*10Е38 5.00Е – 324..1.7*10Е308 1.9*10Е – 4951..1.1*10Е4932 – 2 Е+63+1..2Е+63 – 1 11 – 12 7 – 8 15 – 16 19 – 20 10 – 20  

 

Вещественные значения могут изображаться в форме с фиксированной точкой, например 7.32, 456.721 или 0.015, а также в форме с плавающей точкой, т.е. парой чисел вида <мантисса>Е<порядок>.

Числа из предыдущего примера в форме с плавающей точкой будут записаны так: 7.32Е+00, 4.56721Е+02, 1.5Е – 02.

Литерный (символьный) тип

Литерный (символьный) тип char определяется множеством значений кодовой таблицы ПЭВМ. Каждому символу приписывается целое число в диапазоне от 0 до 255. Для кодировки используется код ASCII.

Для размещения в памяти переменной литерного типа требуется один байт.

Пример:

var

Ch: char;

Letter, Symbol: char;

В программе значения переменных и констант типа char должны быть заключены в апострофы. Например, 'A' обозначает букву А, ' ' – пробел, ';' – точку с запятой.

Над данными символьного типа определены следующие операции отношения: =,<>,<,>,<=,=>, вырабатывающие результат логического типа.

Для данных символьного типа определены следующие стандартные функции:

chr(x) – преобразует выражение х типа byte в символ и возвращает значение символа;

ord(ch) – преобразует символ ch в его код типа byte и возвращает значение кода;

pred(ch) – возвращает предыдущий символ;

succ(ch) – возвращает следующий символ.

Примеры:

ord (':') = 58

ord ('A') = 65

chr (128) = Б

pred ('Б') = А

succ ('Г') = Д

Булевский тип

Булевским типом называют тип данных, представляемый двумя значениями: True (истина) и False (ложь). Он широко применяется в логических выражениях и выражениях отношения. При описании величин этого типа указывают слово boolean. Для размещения в памяти переменной булевского типа требуется 1 байт

Пример:

var

Flag, Rezult: boolean;

Пользовательские типы

Кроме стандартных типов данных Паскаль поддерживает скалярные типы, определенные самим пользователем. К ним относятся перечисляемый и интервальный типы.

Данные этих типов занимают в памяти один байт, поэтому скалярные пользовательские типы не могут содержать более 256 элементов. Их применение обеспечивает семантический контроль вводимых данных, значительно улучшает наглядность программы, делает более легким поиск ошибок и экономит память.

Перечисляемый тип

Перечисляемый тип (enumerated type) – тип данных, заданных списком принадлежащих ему значений.

Объявление перечисляемого типа описывает множество идентификаторов, которые являются возможными значениями перечисляемого типа. Идентификаторы в описании типа представляют собой константы. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки. Первая константа имеет порядковый номер нуль, вторая – 1 и т.д.

Формат:

type

<имя типа> = (<значение1, значение2,…, значение n>);

var

<идентификатор,…>: <имя типа>;

Пример:

type

Gaz = (Ge, C, O, N);

Metall = (Na, K, Li, Cu, Zn);

var

G1, G2, G3: Gaz;

Met1, Met2: Metall;

Season: (Winter, Spring, Summer, Autumn);

Интервальный тип (диапазон)

Интервальный тип позволяет задавать две константы, определяющие границы диапазона значений для данной переменной. Компилятор при каждой операции с переменной интервального типа генерирует подпрограммы проверки, определяющие, остается ли значение переменной внутри установленного для нее диапазона.

Обе константы должны принадлежать одному из стандартных типов (напомним, что тип real здесь недопустим). Значение первой константы должно быть обязательно меньше значения второй.

Формат:

type

<имя типа> = <константа1>..<константа2>;

var

<идентификатор,…>: <имя типа>;

Пример.

type

Days = 1..31;

var

RabDay, BolnDay: Days;

В этом примере переменные RabDay и BolnDay имеют тип Days и могут принимать любые значения из диапазона 1..31. выход из диапазона вызывает программное прерывание.

Рационально определить интервальный тип более универсальным способом, задав границы диапазона не значениями констант, а их именами:

const

Min = 1; Max = 31;

type

Days = Min.. Max;

var

RabDay, BolnDay: Days;

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 190; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.61.223 (0.012 с.)