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

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

Все языки делятся на языки низкого уровня и языки высокого уровня. К языкам низкого уровня относятся машинные языки или ассемблеры. Языки высокого уровня: Бейсик, Паскаль, Си, Фортран, Алгол, ПЛ/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.

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

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

Введение. Структура программы. Типы данных - student2.ru

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

· порядковый номер элемента (функция 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-битной системе MS‑DOS этот тип занимает 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.

Раздел описания констант

 Синтаксис

CONST

<Имя 1> = <Значение 1>;

<Имя 2> = <Значение 2>;

∙ ∙ ∙

<Имя N> = <Значение N>;

<Имя 1>, <Имя 2>, …, <Имя N> – имена описываемых констант, <Значение 1>, <Значение 2>, …, <Значение N> – константы или выражения-константы.

 Пример

CONST

E = 2.7182818284590452354;

Str = 'Строковая константа';

HalfLen = (Length(Str)+1) div 2;

Выражения-константы

Выражения-константы могут являться либо константами, либо выражениями, в которых содержатся только константы и не могут употребляться переменные и функции, кроме следующих стандартных функций языка Паскаль: Abs, Chr, Hi, Length, Lo, Odd, Ord, Pred, Ptr, Round,

SizeOf, Succ, Swap, Trunc.

Исполнительная часть

Исполнительная часть программы на языке Паскаль начинается ключевым словом BEGIN, заканчивается словом END (с точкой) и содержит последовательность операторов, разделенных между собой точкой с запятой.

Лекция 2

Наши рекомендации