Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник-задач-на-Языке-Turbo-Pascal.doc
Скачиваний:
40
Добавлен:
11.02.2015
Размер:
445.95 Кб
Скачать

Функции

GetMaxX и GetMaxYВозвращают значения максимальных координат экрана в текущем ре­жиме работы соответственно по горизонтали и вертикали.

GraphResultВозвращает значениеGrOk, соответствующее коду 0, если все графи­ческие операции программы выполнились без ошибок, или возвра­щает числовой код ошибки (от -1 до -14).

Заполнение графического экрана диагональными линиями

Program diagonals;

Uses Graph;

var gd, gm, i : Integer;

Begin

gd := Detect;

InitGraph(gd, gm, ' ');

i := -GetMaxY;

while i <= GetMaxY do

begin

Line(0, i, GetMaxX, i GetMaxY);

i := i + 20:

end;

Readln;

CloseGraph;

End.

Рисование 14 разноцвет­ных вертикальных полос, окрашенных 14 цветами (кроме белого и черного). (Можно с помощью проце­дур рисования линий и установки цвета).

Program stripes;

Uses Graph;

var

gd, gm, с, х, у, i Integer;

Begin

gd := Detect;

InitGraph(gd, gm, ' ' );

SetBkColor(white);

ClearDevice;

x :=0;

for с := 1 to 14 do

begin

x := x + 35;

SetColor(c);

Line(x, 0, x, 400);

for 1 :=1 to 5 do Line(x + i, 0, x + i, 400); {Рисуем 6 полос}

end;

Readln;

CloseGraph;

End.

Программа рису­ет картинку, состоящую из разноцветных кружков.

Program bubbles;

Uses Graph, Crt;

var gd, gm, ec, uf : Integer;

Begin

gd := Detect;

gm := 0;

InitGraph(gd, gm, ' ');

Randomize; {Инициализация датчика случайных чисел}

for gm := 1 to 500 do

begin

ес := ес + 1;

if ec = 16 then ec := 1;

SetColor(ec);

Circle(Random(GetMaxX), Random(GetMaxY), Random(gd + 10));

end;

SetColor(Random(White));

SetTextStyle(0, HorizDir, 5);

OutTextXY(50, 29, 'Bubbles');

ReadKey;

CloseGraph;

End.

Программа рисует 16 разноцветных кружков, равномерно расположен­ных на отрезке прямой, соединяющем точки (х1, у1) и (х2, у2), в каждом из которых помещен один сим­вол текстовой строки:

Program vinnie;

Uses Graph, Crt;

var

х1, у1, х2, у2, с, г : Integer;

x, y, dx, dy : Real;

gm, gd : Integer;

a : String;

Begin

a := ' Vinnie The Pooh ';

gd := Detect;

InitGraph(gd, gm, ' ');

writeln('Введите х1, у1, х2, у2:');

readln(xl, у1, х2, у2);

ClearDevice;

dx := (х2 - х1) / 19;

dy := (у2 - у1) / 19;

SetColor(Green);

r := Round(Sqrt(dx * dx + dy * dy) / 2);

x := х1;

y := у1;

for с := 0 to 18 do {с-цвет}

begin

SetColor(c mod 13 + 1);

SetTextStyle(l, 0, 2);

Circle(round(x), round(y), r);

OutTextXY(Round(x) , Round(y), a[c +1]);

x := x + dx;

у := у + dy;

end;

readln;

CloseGraph;

End.

Программа рисования человека.

Programman;

Uses Graph;

var gd, gm : Integer;

Begin

gd := Detect;

ImtGraph(gd, gm, ' ') ;

SetFillStyle(l, Green); {Трава}

Bar(0, 350, 639, 479);

SetFillStyle(1, LightBlue); {Небо}

FloodFill(0, 0, Green);

SetColor(Red);

Circle(320, 200, 19); {Голова}

SetLineStyle(0, 0, 3);

Rectangle(390, 220, 340, 300);{Туловище}

Line(320, 300, 300, 350)

Line(320, 300, 340, 350)

Line(300. 240, 250, 250)

L1ne(340, 240, 390, 250)

SetFillStyle(1,Red).; {Закрашивание человека}

FloodFill(320, 200, Red);

FloodFill(320, 230, Red);

SetColor(Yellow) ;

Circle(3l5. 190, 2); {Левый глаз}

Circle(325, 190, 2);{Правый глаз}

Line(3l5, 210, 325, 210);{Рот}

Readln:

CloseGraph;

End.