русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Составить программу Абстракция, которая выводит на экран всевозможные графические фигуры.


Дата добавления: 2015-06-12; просмотров: 742; Нарушение авторских прав


program graphsb;

uses graph, crt;

var gd,gm,c:integer;

begin

gd:=detect;

initgraph (gd,gm,'');

setbkcolor (1); {Устанавливает цвет фона (1 - blue)}

setcolor (14); {Устанавливает текущий цвет (14 - yellow)}

circle (100,120,50); {Рисует окружность}

putpixel (100,120,14); {Рисует точку}

c:=getpixel (100,120); {Узнаёт цвет пикселя, в указанной координате}

setcolor (14);

line (100,150,200,200); {Рисует отрезок}

setcolor (1);

rectangle (250,100,350,70); {Рисует прямоугольник}

setfillstyle (5,14); floodfill (270,75,1); {Заливка прямоугольника по шаблону}

bar (400,400,500,350); {Рисует прямоугольник, закрашенный в текущем стиле}

setcolor (10); setlinestyle (0,0,3);

bar3d (100,300,200,250,15,true); {Рисует параллелепипед, закрашенный в текущем стиле}

setcolor (10); setlinestyle (1,0,3);

line (150,100,320,170); {Рисует утолщённую точечную линию}

setcolor (10); setlinestyle (0,0,3);

arc (300,350,0,175,70); {Рисует дугу окружности. Линия утолщённая.}

setcolor (9); setlinestyle (0,0,0);

ellipse (490,200,0,360,50,100); {Рисует эллипс. Нормальная толщина линии}

setfillstyle (7,14); floodfill (490,200,9);{Заливка эллипса по шаблону}

setcolor (12); setlinestyle (0,0,3);

ellipse (380,200,25,150,50,100); {Рисует дугу эллипса. Линия утолщённая}

sector (330,190,220,340,100,30); {Рисует закрашенный сектор эллипса}

setcolor (9);

pieslice (300,450,30,170,50); {Рисует круговой сектор}

setfillstyle (3,14); floodfill (300,445,9); {Заливка сектора}

setcolor (10);

lineto (550,450); {Проводит отрезок из текущей позиции в точку с координатами 550,450}

moveto (120,400); {Устанавливает курсор в точку с координатами 120,400}

setcolor (12);

lineto (350,250);

setcolor (14); settextstyle (4,0,4); {Стиль текста}

outtextxy (250,25,'Abstraction'); {Вывод текста}



repeat until keypressed;

closegraph; {Закрытие графического экрана}

clrscr; window (5,5,70,100); {Создание текстового окна}

textbackground (9); textcolor (15);

clrscr; writeln ('Цвет пикселя -',c);

writeln ('До свидания! Для завершения работы нажмите Enter.');

readln; end.

§ Составить программу, позволяющую текст, набранный обычным шрифтом, спроецировать в центр экрана и заменить каждый пиксель кругом

program graphtext;

uses crt,graph;

var gd,gm,i,j:integer;

begin

gd:=detect;

initgraph (gd,gm,''); {Инициализирует графическую систему}

outtextxy (1,1,'Mama'); {Выводит строку с позиции, имеющей координаты 1,1}

for i:=1 to 100 do

for j:=1 to 100 do

begin

if getpixel (i,j)=15 then

begin

setcolor (10);

circle (100+i*12,100+j*12,5);

setfillstyle (9,9); floodfill (100+i*12,100+j*12,10);

delay (700);

end;

end;

repeat until keypressed;

closegraph; {Закрытие графического экрана}

end.

 

Дополнительная информация.

 

Вывод на экран ломаной линии или закрашенного контура

DrawPoly(<количество точек>,<массив координат точек>); - выводит не экран в графическом режиме ломаную, соединяющую заданные координатами точки.

FillPoly(<количество точек>,<массив координат точек>); - выводит на экран закрашенный многоугольник, координаты вершин которого задаются в массиве.

Массив координат точек – одномерный массив типа Integer, где нечетные элементы содержат горизонтальные элементы (Х), а четные – вертикальные (У).

Количество точек определяет, сколько пар элементов массива необходимо использовать при выводе ломаной линии (многоугольника).

 

Чтобы оператором DrawPoly вывести многоугольник требуется за точку начала и конца ломаной линии принять определенную точку, координаты которой повторить в начале и конце массива. При этом количество точек должно равняться количеству вершин многоугольника плюс один.

 

Пример использования операторов:

Uses crt,graph;

const a:array[1..6]of integer=(100,100,300,200,400,400);{задание координат массива как констант}

var gd,gm,i:integer;{описание переменных для объявления графического режима и параметра цикла}

begin

gd:=detect; {объявления графического режима }

initgraph(gd,gm,'');

setcolor(5); {задание цвета линий}

setfillstyle(1,2);

fillpoly(3,a);{рисование закрашенного треугольника}

for i:=1 to 6 do{цикл для изменения массива с координатами точек}

if i mod 2 =0 then a[i]:=a[i]-80 else a[i]:=a[i]+100;

drawpoly(3,a);{рисование угла}

repeat until keypressed;

end.

 



<== предыдущая лекция | следующая лекция ==>
Графические процедуры. | ТЕМА №8: ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ TURBO-PASCAL. МАССИВЫ, ОДНОМЕРНЫЕ И ВДУХМЕРНЫЕ. СОСТАВЛЕНИЕ ПРОГРАММ С ИСПОЛЬЗОВАНИЕМ МАССИВОВ.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.766 сек.