Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1261.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
207.87 Кб
Скачать

11.1. Объявление функций

При объявлении функций используется управляющее слово function, за которым указывается название функций, перечень и тип параметров, передаваемых функций, тип результата функции и помещается операторный блок, заключенный между управляющими словами begin и end. В операторном блоке обязательно присвоение значения идентификатору функции, использованному в названии.

Пример: function stepen(a,b:real): real;

begin

stepen:=exp(b*ln(a));

end; {конец функции}

Приведен пример объявления функции возведения в степень «b» числа «a» . При вызове функции необходимо записать выражение:Y:= stepen(a,b), где a,b имеет тип real, y – тип real

11.2. Стандартные функции

Abs(n:real or integer):real or integer {System} – модуль (n),

ArcTan(n:real):real {System} – арктангенс n (угол в радианах),

Cos(n:real):real {System} – косинус угла n (угол в радианах),

Exp(n:real):real {System} – показательная функция аргумента n,

KeyPressed:Boolean {Crt} – проверка нажатия клавиши (используется в операциях отношения) – при нажатии – true,

Ln(n:real):real {System} – натуральный логарифм числа n,

Odd(n:longint):Boolean {System} – проверка четности n (нечетное – true, четное – false),

Random:real {System} – генерация случайного числа >=0 и <=1,

Random(n:word):word {System} – генерация случайного числа >=0 и <n,

Round(n:real):longint {System} – округление числа n,

Sin(n:real):real {System} – синус угла n (угол в радианах),

Sqr(n:real or integer):real or integer {System} – квадрат числа n,

Sqrt(n:real):real {System} – квадратный корень из числа n.

12. Графический режим

Для перехода в графический режим необходимо подключение графического модуля (Uses Graph), описание переменных DriverVar – тип графического драйвера и ModeVar – тип видеорежима, а также включение в программу оператора инициализации графического режима (InitGraph).

По окончанию работы в графическом режиме выполняется оператор CloseGraph – закрытие режима.

Пример1: Program Grafika;

Uses

Graph;

Const

DriveVar: integer = 1;

ModeVar: integer = 1;

………………………………..

begin

………………………………..

InitGraph (DriverVar, ModeVar, ‘ ‘ );

…………………………………

CloseGraph;

…………………………………

{Задаётся режим 320х200, где первое число – количество пикселей (точек растра) по горизонтали, второе – количество пикселей по вертикали}

Пример2: Program Grafika;

Uses

Graph;

var

DriveVar, ModeVar: integer;

……………………………………..

begin

……………………………………..

DriveVar: = Detect;

InitGraph (DriveVar, ModeVar, ‘E:\TP5\Graph’);

………………………………………

CloseGraph;

………………………………………

{Автоматически определяется и задаётся максимально возможный для данного дисплея режим (до 720х348)}

12.1. Основные графические процедуры

Позволяют рисовать на экране графические примитивы с заданными координатами. Начало координат в левом верхнем углу. Приращение координаты по горизонтали означает смещение вправо. Приращение координаты по вертикали означает смещение вниз.

Line (x1, y1, x2, y2: integer); - вывод на экран линии от точки с координатами х1, у1, до точки с координатами х2, у2, где х1, х2 – расстояние от левой стороны, у1, у2 – расстояние сверху.

LineTo (x, y: integer); - рисует линию от места курсора до точки х, у.

MoveTo (x, y: integer); - устанавливает курсор в точку х, у.

Circle (x, y, r: word); - рисует окружность с центром х, у радиусом r.

Arc (x, y, ug1, ug2, r: word); - рисует дугу с центром х, у начальным и конечным углами ug1, ug2 (угол = 0 вправо по горизонтали, приращение угла – против часовой стрелки), радиусом r.

Ellipse (x, y, ug1, ug2, xr, yr: word); - рисует эллиптическую дугу с центром х, у начальным и конечным углами ug1, ug2 (угол = 0 вправо по горизонтали), радиусом xr и yr.

Rectangle (x1, y1, x2, y2: integer); - рисует прямоугольник по диагональным точкам с координатами х1, у1 и х2, у2.

Bar (x1, y1, x2, y2: integer); - рисует закрашенный прямоугольник по диагональным точкам с координатами х1, у1 и х2,у2.

Floodfill (x, y, bc: word); - закрашивает текущим цветом область, в которой находиться точка с координатами х, у,ограниченная линиией цвета bc.

ClearDevice; - очищает экран, устанавливает курсор в точку 0,0.

GetImage (x1, y1, x2, y2: integer; buf); - запоминает изображение прямоугольника с координатами x1, y1, x2, y2 в памяти как переменную buf.

PutImage (x, y: integer; buf; mode: word); - выводит на экран изображение из переменной buf, начиная с левой верхней точки с координатами x,y.

Пример: Line (1, 199, 160, 1);

Line (160, 1, 319, 199);

Line (319, 199, 1, 199);

{Строится равнобедренный треугольник с основанием, параллельным нижней стороне экрана дисплея и вершиной в середине верхней стороны дисплея}

Пример: Line (0, 100, 320, 100);

Line (160, 0, 160 200);

i: = - 160;

while i <160 do

begin

i: = i + 4;

j: = round (sin (i/30)*50)

Rectangle (160 +i, 100, 160 +(i+2), 100 – j);

end;

{В программе вычерчивается синусоида, заполненная вертикальной штриховкой}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]