Типы данных в языке Паскаль

Структура программы. Типы данных

Паскаль – алгоритмический структурированный язык высокого уровня.

Все языки делятся на языки низкого уровня и языки высокого уровня. К языкам низкого уровня относятся машинные языки или ассемблеры. Языки высокого уровня: Бейсик, Паскаль, Си, Фортран, Алгол, ПЛ/1 и т.д.

 

Структура программы в зыке Паскаль

 Общий синтаксис структуры программы

[<Заголовок>]

[USES <Список библиотек>;]

<Описательная часть>

BEGIN

<Исполняемая часть>

END.

 

Необходимо заметить, что в конце программы ключевое слово END обязательно заканчивается точкой.

 Вид заголовка

PROGRAM <Имя>[(<Параметры>)];

 

 Пример

PROGRAM Summa;

PROGRAM Calc(Input,Output);

 

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

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

 

Комментарии

В любое место в тексте программы могут быть вставлены комментарии. Комментарии должны быть заключены в фигурные скобки {…} или (*…*).

В Delphi также поддерживаются однострочные комментарии в стиле языка C, которые начинаются двумя слешами и заканчиваются в конце строки.

 Пример

PROGRAM {Комментарий} Summa; // Программа
// вычисления суммы

 

 

Раздел описания переменных

 Синтаксис

VAR

<Список имен 1>: <Тип 1>;

<Список имен 2>: <Тип 2>;

∙ ∙ ∙

<Список имен N>: <Тип N>;

 

<Список имен 1>, <Список имен 2>, …, <Список имен N> – списки имен переменных через запятую, <Тип 1>, <Тип 2>, …, <Тип N> – типы переменных.

 Пример

VAR

Count:Integer;

A,B:Real;

 

 

Имена идентификаторов в языке Паскаль

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

 Пример

Count, x1, y2, Count_of_items

 

Имена идентификаторов могут иметь любую длину, но в разных версиях языка Паскаль значащими может являться только ограниченное количество первых символов, например, в DOS-версии значащими являются только первые 63 символа. Паскаль не чувствителен к регистру символов в именах, т.е., к примеру, имя Count можно записать как count или COUNT. В качестве имен нельзя использовать зарезервированные слова языка Паскаль, как, например, PROGRAM, BEGIN, END, VAR и т.д. В зависимости от версии Паскаля набор этих слов может изменяться. Например, в Delphi их около 65.

 

Типы данных в языке Паскаль

Общая классификация типов данных языка Паскаль представлена на следующем рисунке.

Порядковыми называются типы, которые для каждого значения такого типа позволяют получить:

· порядковый номер элемента (функция Ord);

· значение предыдущего элемента (функция Pred);

· значение следующего элемента (функция Succ).

 

Для порядковых типов определены также функции Low и High, которые возвращают минимальное и максимальное возможные значения.

Символьный тип: Char. Представляет отдельные символы, задаваемые в одинарных кавычках, например 'a', 'B', '9', '+' и т.д. Для символьного типа определена функция UpCase(C), которая переводит символ C (только один символ, для строковых значений функция не определена) в верхний регистр.

Логический тип: Boolean. Дополнительно существуют еще три логических типа, выполняющие ту же роль, но имеющие фиксированный размер: ByteBool – 1 байт, WordBool – 2 байта и LongBool – 4 байта). Может иметь два значения: True (истина) и False (ложь).

 Примеры использования функций для порядковых типов

Ord('A')=65, Pred('D')='C', Succ(False)=True, High(Word)=65535, UpCase('n')='N'

 

 

Целые типы

Название Знаковый Размер Возможные значения
Integer да DOS: 2 байта (16 битов) Delphi: 4 байта (32 бита) –32768..32767 –2147483648..2147483647 –215..215–1 –231..231–1
Cardinal нет Delphi: 4 байта (32 бита) 0..4294967295 0..232
Shortint да 1 байт (8 битов) –128..127 –27..27–1
Smallint да 2 байта (16 битов) –32768..32767 –215..215–1
Longint да 4 байта (32 бита) –2147483648..2147483647 –231..231–1
Int64 да Delphi: 8 байтов (64 бита) ≈ –9.2∙1018..9.2∙1018 263=9223372036854775808 –263..263–1
Byte нет 1 байт (8 битов) 0..255 0..28–1
Word нет 2 байта (16 битов) 0..65535 0..216–1
Longword нет Delphi: 4 байта (32 бита) 0..4294967295 0..232–1

 

Представления типа Integer (а также и некоторых других типов, которые будут рассмотрены в дальнейшем) зависит от платформы, на которой производится компиляция программы. Например, в 16-битной системе MSDOS этот тип занимает 16 битов памяти, а в среде Delphi, которая работает в 32-битной системе Windows, тип Integer имеет размер 32 бита. В зависимости от этого он позволяет представлять различные диапазоны целых чисел.

Некоторые типы (как Cardinal, Int64 и Longword) определены только для 32-битных программ в среде Delphi.

 

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

Название Размер Возможные значения Количество значащих цифр
Real DOS: 6 байтов (48 битов) Delphi: как Double ≈ 2.9∙10–39..1.7∙1038 11–12
Single Delphi: 4 байта (32 бита) ≈ 1.5∙10–45..3.4∙1038 7–8
Double 1 байт (8 битов) ≈ 5.0∙10–324..1.7∙10308 15–16
ExtENDed 2 байта (16 битов) ≈ 3.6∙10–4951..1.1∙104932 19–20
Comp 4 байта (32 бита) –263..263–1 19–20
Currency Delphi: 8 байтов (64 бита) ≈ –9.2∙1014..9.2∙1014 19–20

 

Тип Real применялся в ранних версиях языка Паскаль, в Delphi он работает как Double. Для обеспечения обратной совместимости в Delphi имеется тип Real48, который работает как старый Real.

Тип Comp представляет целые числа от –263 до 263–1, но не является порядковым, а реализован как вещественный тип.

Тип Currency – это вещественные числа с фиксированной запятой с точностью 4 десятичных разряда, фактически представляет числа от 263/104 до (263–1)/104, т.е. хранится как тип Comp, а при выполнении с ним операций автоматически делится на 104.

 








Дата добавления: 2016-09-20; просмотров: 613;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.