Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 3_2.pdf
Скачиваний:
26
Добавлен:
11.02.2016
Размер:
1.22 Mб
Скачать

Mark

Pred

Seek

True

MaxInt

Ptr

SeekEof

Trunc

Mem

Random

SeekEoln

UpCase

MemAvail

Randomize

Sin

Usr

Move

Read

SizeOf

UsrInPtr

New

ReadLn

Sqr

UsrOutPut

NormVideo

Real

Sqrt

Val

Odd

Release

Str

Write

Ord

Rename

Succ

WriteLn

Output

Reset

Swap

 

Pi

Rewrite

Text

 

Pos

Round

Trm

 

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

Комментарии. Для пояснения хода выполнения программы и смысла переменных в Паскаль программе используются комментарии. Они могут находится в любом месте программы где возможен пробел и никак не влияют на ее исполнение. Единственным условием для комментария является то, что он не может разрывать слова. Комментарии заключаются в фигурные скобки или в специальные скобки комментариев. Следующие конструкции представляют собой комментарии и поэтому игнорируются компилятором:

{любой текст, не содержащий правую фигурную скобку} (* любой текст, не содержащий звездочку/правую круглую скобку *)

Комментарий, содержащий знак доллара $ сразу после открывающей скобки { или (*, является директивой компилятора. За символом $ следует текст команды

компилятора. Например:

{$F+} {$N+,E-} (*$F+*) (*$N+,E-*)

Строки программы. В Borland Pascal строки программы могут иметь максимальную длину в 126 символов. Однако, рекомендуется не использовать в Паскаль программе строки длиной более 80 символов. Каждый оператор или объявление желательно писать с новой строки, т.к. это повышает читаемость программы. Если запись оператора длиннее, то необходимо сделать перенос оператора на следующую строку. Переносить можно в любом месте, где по синтаксису возможен пробел.

Некоторые рекомендации по оформлению программы:

для каждого блока операторов рекомендуется делать отступ глубиной в 2 пробела;

служебные слова следует записывать с маленькой буквы;

имена пользователя (зарезервированные слова, имена переменных, констант, функций и процедур) удобнее записывать с большой буквы;

каждый раздел описания желательно начинать с новой строки;

описание каждой переменной или группы сходных по смыслу переменных рекомендуется записывать в отдельной строке;

каждый оператор желательно записывать в отдельной строке.

Данные

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

35

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

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

Каждое представляемое в ЭВМ данное имеет набор характеристик:

имя (идентификатор);

тип;

значение (или значения для массивов);

адрес в памяти ЭВМ.

В зависимости от того изменяется ли значение данного при выполнении программы, данные разделяют на:

переменные (значение может изменяться);

константы (значение не может изменяться). Типичной константой является число π.

В языке ПАСКАЛЬ существует правило: тип явно задается в описании перемен-

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

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

Иерархия типов в Паскале представлена на следующей диаграмме

Типы переменных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

порядковый

 

 

вещественный

 

 

 

структурный

 

 

строковый

 

 

 

 

 

 

 

 

 

 

 

 

 

Real

 

 

 

 

 

 

 

 

string

 

 

целочисленный

 

Single

 

 

 

множества

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Double

 

 

 

 

 

 

 

 

 

 

Shortint

 

[..]

 

 

ссылочный

 

 

 

 

 

 

 

 

 

 

Integer

 

Extended

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Pointer

 

 

 

 

 

 

массивы

 

 

Longint

 

Comp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

array of

 

 

 

 

 

Byte

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

процедурный

 

 

 

 

 

 

 

 

 

 

 

Word

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

запись

procedure

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

function

 

 

 

 

 

 

 

 

 

 

 

record

 

 

логический

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Boolean

 

 

 

 

 

 

 

файловый

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

File of

 

 

 

 

 

символьный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Text

 

 

 

 

 

Char

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

объектный

 

 

 

 

 

перечислимый

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отрезки типа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В настоящем руководстве рассмотрены следующие стандартные типы: целые, логические, символьные, вещественные, строковые и массивы.

36

Целочисленные типы

В Borland Pascal имеется пять предопределенных, т.е. описанных разработчиками компилятора, целочисленных типов: Shortint (короткое целое), Integer (целое), Longint (длинное целое), Byte (длиной в байт) и Word (длиной в слово). Каждый тип обозначает определенное подмножество целых чисел, как это показано в следующей таблице.

Тип

Диапазон

Формат

Shortint

-128 .. 127

8 бит со знаком

Integer

-32768 .. 32767

16

бит со знаком

Longint

-2147483648 .. 2147483647

32

бита со знаком

Byte

0

.. 255

8 бит без знака

Word

0

.. 65535

16

бит без знака

Целые константы. Целыми константами называют постоянные целочисленные значения, указываемые пользователем при составлении программы и не изменяющиеся при ее выполнении. Они задаются в программах в десятичной и шестнадцатеричной системе счисления. В качестве признака целой шестнадцатеричной константы перед символами, изображающими такую константу (как префикс) указывается знак $. Например, $A2C воспринимается компилятором как шестнадцатеричная константа (эквивалентно десятичному числу 2704). Допустимый диапазон для констант: целые от - 2147483648 до 2147483647, шестнадцатеричные - от $00000000 до $FFFFFFFF.

Примеры:

123 -56 $123 $АВС

$34G - недопустимо, поскольку символ G не определен в качестве шестнадцатеричной цифры;

1.23 - недопустимо, поскольку точка не является цифрой.

Логические типы

Существует четыре предопределенных логических (булевских) типа, из которых, в Паскаль программах, используется только тип Boolean, остальные обеспечивают совместимость с другими языками и средой Windows.

Значения булевского типа обозначаются встроенными идентификаторами констант False (ложь) и True (правда). При обработке этим константам соответствуют следующие значения False = 0 и True = 1. Имеет место следующее отношение:

False<True.

Можно объявить переменную логического типа, и присвоить ей значение True или False, или же, что более важно, присвоить ей значение логического выражения, которое при вычислении принимает одно из этих значений. Вычисленные значения таких переменных обычно содержат признак выполнения/невыполнения какого-либо условия и играют очень важную роль в программах.

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

Константы и переменные символьного типа могут принимать значения из расширенного набора символов кода таблицы ASCII. Порядковый номер символа по таблице ASCII можно определить с помощью функции Ord. Любое значение символьного типа может быть определено по его порядковому номеру с помощью стандартной функции

Chr.

Символьная константа в тексте программы представляется одиночным символом,

37

заключенным в одинарные кавычки, например: 'A', 'a', 'F', 'f', 'Д', 'д', '2', '0', '*', '/', '-', '+'.

В Паскале существуют два дополнительных способа описания символьных констант: с помощью символа "^" в сочетании с буквой или символа "#" в сочетании с числом. Это позволяет вводить управляющие символы в тексты программ - символы которые соответствуют кодам от 0 до 31 и обычно вводятся с клавиатуры с помощью специальных клавиш, например: Enter вводит два символа Cr возврат каретки (#13) и Lf перевод строки (#10), Esc выход (#27) и т.д., либо с помощью комбинации двух клавиш, одна из которых Ctrl, а вторая соответствующая буква.

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

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

т.е. число представляется в форме совокупности значащей части (мантиссы) и порядка N = ±мантиса ×10 ± ПОРЯДОК.

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

Переполнение разрядной сетки в арифметических операциях со значениями вещественного типа приводит к остановке программы и вывода на экран сообщения об ошибке. Если результат арифметической операции над вещественными числами настолько мал, что не может быть представлен в виде значения вещественного типа, то он считается нулем (машинным нулем).

Имеется пять видов вещественных типов: вещественное (Real), с одинарной точностью (Single), с двойной точностью (Double), с повышенной точностью (Extended) и сложное (Comp), характеристики, которых приведены в следующей таблице.

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

Тип

Диапазон

Значащие

Размер данного в байтах

цифры

 

 

 

Real

2.9×10Е-39 ..

11-12

6 (вещественный)

1.7×10Е38

 

 

 

Single

1.6×10Е-45 ..

7-8

4 (с одинарной точностью)

3.4×10Е38

 

 

 

Double

5.0×10Е324 ..

15-16

8 (с двойной точностью)

1.7×10Е308

 

 

 

Extended

1.9×10Е-4951 ..

19-20

10 (повышенной точности)

 

1.1×10Е4932

 

 

Comp

-2^63 + 1 ..

-

4 (Сложный)

2^63 - 1

 

 

 

Примечание: Сложный тип содержит только целочисленные значения в диапазоне от -

2^63+1 до 2^63-1, что приблизительно равно -9.2×10^18 и 9.2×10^18.

Вещественные константы. Вещественные константы задаваемые, пользователем, представляются в программах числами в десятичной системе счисления. Допускаются две формы представления - с фиксированной и плавающей (в экспоненциальной форме mEp, где m-мантисса, E-основание десятичной системы счисления, p-порядок)

38