Пример №19 иллюстрирует использование основных процедур и функций модуля Graph.
При помощи модуля Graph можно разработать много различных программ, демонстрирующих то, или иное действие. Естественно все программы будут примитивны, но так же будут отражать суть самого действия. В примере 19 мы просто рассматриваем разноцветные окружности и квадратики, но Турбо-Паскаль с модулем Graph позволяет делать куда более изысканные вещи, правда сейчас в них большой актуальности нет.
Пример 19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
uses Graph, Crt; var Gd,Gm : integer; x,y,r,c : integer; i : integer; BEGIN { Инициализация графического режима } Gd:=Detect; InitGraph(Gd,Gm,'c:\lang\bp\bgi\'); if GraphResult <> grOk then Halt(1); ClearDevice; { очистка экрана } SetBkColor(15); { установка цвета фона } SetColor(14); { установка цвета изображения } x:=GetMaxX div 2; { определение координат центра экрана } y:=GetMaxY div 2; { Рисование разноцветных окружностей } c:=0; r:=1; repeat SetColor(c); { Установка нового цвета } if c>13 then { Вычисление следующего цвета } c:=0 else c:=c+1; Circle(x,y,r); { Рисование окружности } Delay(100); { Задержка на 0.1с } r:=r+2; { Вычисление следующего радиуса } until r>y-5; { Стирание окружностей } r:=1; repeat SetColor(15); Circle(x,y,r); Delay(100); r:=r+2; until r>y-5; ClearDevice; SetColor(3); for i:=1 to 2 do { Рисование двух прямоугольников } Rectangle(i*80,i*80,GetMaxX-i*80,GetMaxY-i*80); Delay(5000); { Задержка на 5с } SetBkColor(0); { Изменение цвета фона } Delay(5000); SetColor(14); { Изменение цвета изображения } { Вывод на экран текста } OutTextXY(220,200,'Нажмите на любую клавишу...'); repeat until keypressed; { Ожидание } CloseGraph; END. |
И чтобы укрепить знания, полученные в этом разделе, мы предлагаем Вам выполнить несколько не сложных заданий на языке Паскаль:
1. Измените программу примера 18 так, чтобы она выводила меню в самой верхней строке экрана.
2. Напишите программу, которая имитирует звездное небо (рисует точки, выбирая их координаты случайным образом).
3. Напишите программу, рисующую линейный график по заданному массиву целых положительных чисел. По оси x – номер числа, по оси y – само число.
После самостоятельного выполнения этих трёх заданий вы поймёте, что стандартные модули языка Турбо-Паскаль не так сложны, и очень полезны.