Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль / spravochnictp7 / Справочник по Турбо Паскалю 7.0.rtf
Скачиваний:
94
Добавлен:
10.12.2013
Размер:
821.03 Кб
Скачать

2. Язык Турбо Паскаль

2.1. Знакомство с языком Паскаль

Алфавит языка Паскаль содержит следующие символы:

латинские буквы, арабские цифры, знаки арифметических операций, отношений, специальные знаки [ ] { } ( ) . , ; : ‘ ^ @ # $, составные символы: <= , >= , , (* , *) , (. , .) , . . (символы, воспринимающиеся компилятором как единое целое) и служебные (зарезервированные) слова.

  • Русские буквы используются в комментариях и символьных константах.

Идентификаторы

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

Идентификаторы в Турбо Паскале – это имена констант, переменных, меток, типов, объектов, процедур, функций, модулей, программ и полей в записях. В ТП 7.0 любые данные (константы, переменные, значения функций, выражения и т.д.) характеризуются своими типами.

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

  • Значения данных целого типа - целые числа.Операции над целыми числами: + , - , , DIV (кроме деления на 0), MOD; где DIV – целочисленное деление, MOD – нахождение остатка от деления.Пример: результат (19 DIV 4) равен 4, результат (19 MOD 4) равен 3.

  • Значения данных вещественного типа - вещественные числа. Операции над вещественными числами: + , - , , / (кроме деления на 0 ).

  • Значения данных логического типа - константы логического типа TRUE (“истина”) и FALSE (“ложь”). Операции над ними: NOT, AND, OR, XOR.

  • Значения данных символьного типа – все имеющиеся в компьютере символы (‘1’, ’А’,’%’ и т.д.). Операция над ними - конкатенация (соединение).

Константы

Константа в Турбо Паскале – идентификатор, обозначающий некоторую неизменную величину определенного типа.

Стандартные константы - целые, вещественные и шестнадцатеричные числа, логические константы, символы, строки символов, конструкторы множеств и признак неопределенного указателя NIL.

Целые числа записываются со знаком или без него по обычным правилам, диапазон значений их – от –2 147 483 648 до +2 147 483 647.

Вещественные числа записываются со знаком или без него, в одной из двух форм – число с фиксированной точкой (десятичная точка отделяет целую часть числа от дробной) и число с плавающей точкой (с экспоненциальной частью), т.е. в виде: МантиссаEПорядок. Как правило, мантисса – вещественное число, не меньшее 1 и меньшее 10. Экспоненциальная часть

35

  • F – выражение типа String, содержащее полное имя файла драйвера, т.е. имя файла драйвера и, при необходимости, путь к файлу; к примеру: InitGraph (Driver, Mode, C: \ TP70 \ BGI \ drivers); или

InitGraph (Driver, Mode, ‘ ’); если файл драйвера находится в текущем каталоге.

  • Driver – переменная целого типа, определяет тип графического драйвера;Тип драйвера и режим могут быть заданы в виде числа или символьной константы.Для графического адаптера VGA – константа VGA (значение ее равно 9).Оператор Driver:=Detect; задает самоопределяющийся драйвер.

  • Mode – переменная целого типа, задает режим работы адаптера; Здесь приведена информация для драйвера VGA, для остальных драйверов – см. [6, 7] или справку.

Драйвер

Имя константы

и ее значение

Разрешение

экрана

Палитра

Число видеостраниц

VGA

VGALo = 0

640 x 200

16 цветов

4

VGAMed = 1

640 x 350

16 цветов

2

VGAHi = 2

640 x 480

16 цветов

1

  • Указатель – указатель текущей позиции на экране, невидимый (в отличие от текстового курсора). Положение указателя задается относительно левого верхнего угла с координатами (0;0). Минимальные координаты по осям Х и Y равны 1.

  • Коды цветов модуля Graph совпадают с кодами цветов модуля Crt (глава 2.3.6). Отличие - цвет фона в графическом режиме может быть любым из 16 значений.

  • Допустимые значения параметров типа (LineStile) и толщины линии (Thickness):

SolidLn = 0; {Сплошная} DashedLn = 3; {Пунктирная}

DottedLn = 1; {Точечная} NormWidth = 1; {Нормальная толщина}

CenterLn = 2; {Штрихпунктирная} ThickWidth = 3; {Тройная толщина}

  • Константы шаблона штриховки (параметр Pattern):

EmptyFill = 0; {Заполнение цветом фона}

SolidFill = 1; {Сплошная штриховка}

LineFill = 2; {Горизонтальная штриховка}

LtSlashFill = 3; {/// Штриховка}

SlashFill = 4; {/// Штриховка толстыми линиями}

BkSlashFill = 5; {\\\ Штриховка толстыми линиями}

LtBkSlashFill = 6; {\\\ Штриховка}

HatchFill = 7; {Заполнение прямой клеткой}

XHatchFill = 8; {Заполнение косой клеткой}

InterleaveFill = 9; {Заполнение частой клеткой}

WideDotFill = 10; {Заполнение редкими точками}

CloseDotFill = 11; {Заполнение частыми точками}

UserFill = 12; {Тип задается пользователем}

  • Тип, который может быть использован в процедуре FillPoly и других:type PointType = record

X, Y : word ;

end;

  • Допустимые значения параметра ModePut в процедуре PutImage:

CopyPut = 0; {MOV} XORPut = 1; {XOR}

ORPut = 2; {OR} ANDPut = 3; {AND}

NOTPut = 4; {NOT}

В фигурных скобках указаны соответствующие операторы Ассемблера. Параметр ModePut определяет способ взаимодействия получаемой копии с уже имеющимся на экране изображением путем применения одной из логических операций к каждому биту копии и изображения.

34

Обращение

Действие

Arc (X, Y, A, B, R)

Чертит дугу окружности: X, Y – координаты центра,

A, B – начальный и конечный углы дуги(в градусах),

отсчет углов ведется против часовой стрелки;

R – радиус (в пикселах);

Ellipse (X, Y, A, B, RX, RY)

Чертит эллипсную дугу: X, Y – координаты центра,

A, B – начальный и конечный углы дуги (в градусах),

RX, RY – горизонтальный и вертикальный радиусы

Sector (X, Y, A, B, RX, RY)

Рисует и штрихует сектор эллипса радиусами RX и RY с центром в точке X, Y от угла A к углу B

SetFillStyle (Pattern, Color)

Устанавливает образец штриховки и цвет

SetLineStyle (LineStile,

Pattern,Thickness)

Устанавливает толщину и стиль линии

SetTextStyle (Font, Direction,

CharSize)

Устанавливает текущий шрифт (09), направление (по горизонтали-0/вертикали-1) и размер символов (013)

FillEllipse (X, Y, RX, RY)

Рисует закрашенный эллипс

FloodFill (X, Y, C)

Заполняет любую замкнутую фигуру, используя текущий стиль заполнения (узор и цвет), X, Y – координаты точки внутри этой области, С – цвет границы

FillPoly (N, Coords)

Обводит линией и закрашивает замкнутый многоугольник; N – количество вершин, Coords – переменная типа PointType, содержащая координаты вершин (см. сноску под таблицей)

GetImage (X1,Y1, X2,Y2, Buf)

Помещает в буфер памяти Buf копию прямоугольного фрагмента изображения

PutImage (X,Y, Buf, ModePut)

Выводит в заданное место экрана (X,Y – координаты верхнего левого угла) копию фрагмента изображения из буфера Buf,

ModePut способ копирования (в конце главы)

ImageSize (X1,Y1,X2,Y2)

Возвращает размер памяти в байтах, необходимый для размещения прямоугольного фрагмента изображения

GraphResult

Возвращает 0, если последняя графическая операция выполнилась без ошибок

GraphErrorMsg (Code)

Возвращает значение типа String с текстовым сообщением об ошибке; Code – код ошибки

GetGraphMode

Возвращает значение типа Integer, в котором содержится код текущего режима работы графического адаптера

GetX

Возвращает текущую координату указателя по горизонтали / вертикали (тип Integer )

GetY

GetMaxX

Возвращает максимальную координату экрана по горизонтали / вертикали (тип Word ) в текущем режиме работы

GetMaxY

11

начинается с латинской буквы E, за ней следует порядок - целое число,степень числа 10, на которую умножается мантисса. Пример: 0,0006=6.0E–5.

Шестнадцатеричное число состоит из шестнадцатеричных цифр, т.е. 0,1,2…9,a,b,c,d,e,f, перед которыми стоит знак доллара $. Диапазон шестнадцатеричных чисел – от $00000000 до $FFFFFFFF.

Логическая константа – слово TRUE (истина) или FALSE (ложь).

Символьная константа – любой символ ПК, заключенный в апострофы. Символ апострофа получается удваиванием, т.е. ‘’’’. Символ может быть представлен при помощи своего внутреннего кода, в этом случае перед кодом ставится знак “#” ( #27 – символ ESC; #13 – символ CR - конец строки и т.п.).

Строковая константа (строка) – последовательность символов, кроме символа CR (признак конца строки), внутренних (или ASCII-) кодов, –заключенная в апострофы. Строка может быть пустой (‘’). В строке также могут чередоваться ASCII‑коды и символы, заключенные в апострофы.

Конструктор множества – список элементов множества, обрамленная квадратными скобками, например: [1 .. 5, 9, 10].