- •Система Pascal abc
- •Редактор
- •Горячие клавиши
- •Окно вывода
- •Окно ввода
- •Запуск и остановка программы
- •Программа прервана пользователем
- •Пошаговое выполнение программы
- •Окно отладки
- •Pascal abc Язык Pascal abc Структура программы
- •Идентификаторы и служебные слова
- •Выражения и операции
- •Арифметические операции
- •Операция @
- •Операции с указателями
- •Операции с множествами
- •Приоритет операций
- •Описание переменных и констант
- •Описание типов
- •Обзор типов
- •Все порядковые типы, а также типы boolean, real и complex называются простыми типами. Порядковые типы
- •Типы boolean, real и complex
- •Строковый тип
- •Массивы
- •Множества
- •Указатели
- •Процедурный тип
- •Эквивалентность типов
- •Неявное приведение типов
- •Явное приведение типов
- •Область действия идентификатора
- •Ввод и вывод. Форматы вывода
- •Оператор присваивания
- •Условный оператор
- •Составной и пустой операторы
- •Оператор выбора
- •Оператор цикла for
- •Оператор цикла repeat
- •Оператор вызова процедуры
- •Операторы break, continue и exit
- •Оператор with
- •Оператор безусловного перехода goto
- •Оператор try ... Except
- •Оператор try ... Finally
- •Оператор raise
- •Описание процедур и функций
- •Параметры процедур и функций
- •Локальные и глобальные переменные
- •Общие стандартные процедуры и функции
- •Стандартные процедуры и функции для работы со строками
- •Стандартные процедуры и функции для работы с файлами
- •Стандартные процедуры и функции для работы с памятью
- •Системные процедуры и функции
- •Стандартные константы
- •Обзор классов и объектов
- •Конструкторы и деструкторы
- •Свойства
- •Переменная Self
- •Наследование
- •Видимость членов класса
- •Переопределение методов
- •Приведение типов объектов
- •Операции is и as
- •Виртуальные методы и полиморфизм
- •Модуль crt
- •Модуль Timers
- •Модуль Sounds
- •Модуль Utils
- •Модуль PointRect
- •Модуль GraphAbc
- •Графические примитивы
- •Цветовые константы и функции для работы с цветом
- •Действия с пером
- •Действия с кистью
- •Действия со шрифтом
- •Действия с рисунками
- •Действия с графическим окном
- •Задание режимов вывода
- •Класс Picture
- •Описатели рисунков и класс Picture
- •Исполнитель Робот
- •Алгоритмизация
- •Алгоритм и его свойства
- •Способы описания алгоритмов
- •Линейные алгоритмы
- •Разветвляющиеся алгоритмы
- •Алгоритмы циклической структуры
- •Подчиненные алгоритмы
- •Системы программирования
- •Лабораторная работа № 1 Программирование линейных алгоритмов
- •Лабораторная работа № 2 Программирование разветвляющихся алгоритмов
- •Лабораторная работа № 4 Одномерные массивы - вектора
- •Литература Основная литература:
- •Дополнительная литература:
- •Лабораторная работа № 3 Программирование циклических алгоритмов
Модуль PointRect
Модуль PointRect содержит типы, процедуры и функции для работы с координатами точек и прямоугольников.
Координаты точки и прямоугольника описываются следующими типами:
Point=record x,y: integer; end; Rect=record Left,Top,Right,Bottom: integer; end;
Для работы с координатами точек и прямоугольников используются следующие процедуры и функции:
function PointF(x,y: integer): Point;
Возвращает запись типа Point по координатам точки x, y.
function RectF(l,t,r,b: integer): Rect;
Возвращает запись типа Rect по координатам двух противоположных вершин прямоугольника (l,t) и (r,b).
function PtInRect(r: Rect; p: Point): boolean;
Возвращает True, если точка p находится внутри прямоугольника r, и False в противном случае.
function EqualRect(r1,r2: Rect): boolean;
Возвращает True, если прямоугольники r1 и r1 равны, и False в противном случае.
function IntersectRect(r1,r2: Rect): boolean;
Возвращает True, если прямоугольники r1 и r1 пересекаются, и False в противном случае.
procedure OffsetRect(var r: Rect; dx,dy: integer);
Сдвигает прямоугольник r на вектор (dx,dy);
procedure InflateRect(var r: Rect; n: integer);
"Надувает" прямоугольник r на n пикселей; если n отрицательно, то прямоугольник "сдувается".
Модуль GraphAbc
Модуль GraphABC содержит константы, типы, процедуры, функции и классы для рисования в графическом окне. Они подразделяются на следующие группы:
Графические примитивы
procedure SetPixel(x,y,color: integer);
Закрашивает один пиксел с координатами (x,y) цветом color.
function GetPixel(x,y): integer;
Возвращает текущее значение цвета для пиксела с координатами (x,y).
procedure MoveTo(x,y: integer);
Передвигает невидимое перо к точке с координатами (x,y); эта функция работает в паре с функцией LineTo(x,y).
procedure LineTo(x,y: integer);
Рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y).
procedure Line(x1,y1,x2,y2: integer);
Рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).
procedure Circle(x,y,r: integer);
Рисует окружность с центром в точке (x,y) и радиусом r.
procedure Ellipse(x1,y1,x2,y2: integer);
Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).
procedure Rectangle(x1,y1,x2,y2: integer);
Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).
procedure RoundRect(x1,y1,x2,y2,w,h: integer);
Рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев.
procedure Arc(x,y,r,a1,a2: integer);
Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).
procedure Pie(x,y,r,a1,a2: integer);
Рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc).
procedure Chord(x,y,r,a1,a2: integer);
Рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc).
procedure TextOut(x,y: integer; s: string);
Выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s).
procedure FloodFill(x,y,color: integer);
Заливает область одного цвета цветом color, начиная с точки (x,y).
procedure FillRect(x1,y1,x2,y2: integer);
Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти.
procedure Polygon(var a; n: integer);
Строит ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point.
procedure Polyline(var a; n: integer);
Строит замкнутую ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point.