- •Краткий справочник по Турбо Паскалю 7.0 Петрозаводск
- •Краткий справочник по Турбо Паскалю 7.0
- •Оглавление
- •Введение
- •Таблицы кодировки символов Коды 0…127 (кодировка ascii)
- •Коды 128…255 (альтернативная таблица)
- •Типы данных в Турбо Паскале 7.0
- •1. Среда Турбо Паскаля
- •1.1. Запуск
- •Структура основного экрана
- •Зарезервированные слова
- •Таблицы истинности логических операций
- •Литература Список использованной литературы
- •Список рекомендуемой литературы
- •1.3. Команды текстового редактора
- •Команды текстового редактора Турбо Паскаля
- •1.4. Справочная система
- •Заключение
- •1.5. О режиме отладки
- •2. Язык Турбо Паскаль
- •2.1. Знакомство с языком Паскаль
- •Идентификаторы
- •Константы
- •Выражения
- •Старшинство операций в логическом выражении
- •2 11 3 6 4 5 7 10 8 1 9 12
- •2.6.2. Процедуры и функции из библиотеки Graph
- •2.6. Графика в Турбо Паскале
- •2.6.1. О графическом режиме
- •2.2. Структура программы
- •Общая структура программ в тп 7.0
- •Структура программы в виде рбнф
- •2.5.4. О переменных-указателях и динамической памяти
- •Процедуры и функции для текстовых файлов
- •Процедуры для нетипизированных файлов
- •2.3. Описание данных
- •2.3.1. Простые типы данных
- •2.3.2. Строки. Строковые функции и процедуры
- •Процедуры и функции для работы с символами и строками
- •Стандартные средства обработки файлов
- •2.5.3. Работа с файлами
- •2.3.3. Структуры данных. Массивы
- •2.3.4. Об использовании функций и процедур
- •2.5. Дополнительные структуры данных
- •2.5.1. Множества
- •2.5.2. Записи
- •Цикл со счетчиком
- •2.3.5. Функции и процедуры из библиотеки System Математические
- •Прочие функции и процедуры
- •Преобразования типов данных
- •2.3.6. Процедуры и функции из библиотеки Crt
- •2.4.3. Структуры цикла
- •Цикл с предусловием
- •Цикл с постусловием
- •2.4.2. Структуры ветвления Безусловный переход
- •Условный переход (ветвление)
- •Многовариантный выбор
- •2.3.7. Функции и процедуры пользователя
- •2.4. Операторы
- •2.4.1. Последовательные структуры Присваивание
- •Ввод и вывод данных
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].