Нарисовать ламповый диод - Turbo Pascal
Формулировка задачи:
Собственно нужно нарисовать используя graph ламповый диод как на картинке,долго бился над этим(т.к. этого мы еще не проходили),но все-таки получилось что-то более-менее сносное.Тем не менее т.к. я использовал дугу эллипса линии вышли под углом,можно ли как-нибудь выровнять их?
Листинг программы
- Program ind3;
- uses crt,graph;
- var gd,gm:integer;
- begin clrscr;
- gd:=detect;
- initgraph(gd,gm,'/tp_71/bgi');
- Circle(100,150,90);
- Line(100,115,100,25);
- Line(140,115,60,115);
- Ellipse(100,285,0,180,30,90);
- end.
Решение задачи: «Нарисовать ламповый диод»
textual
Листинг программы
- uses graph;
- {чтобы не писать 3 раза одно и тоже}
- procedure krest(x,y:integer);
- begin
- line(x-3,y+3,x+3,y-3);
- line(x-3,y-3,x+3,y+3);
- end;
- var gd,gm,x0,y0:integer;
- begin
- gd:=detect;
- initgraph(gd,gm,'/tp_71/bgi');
- setbkcolor(15);
- setcolor(8);
- x0:=getmaxX div 2;{центр рисунка в центре экрана}
- y0:=getmaxY div 2;
- Circle(x0,y0,90);
- Line(x0,y0-160,x0,y0-60);
- Line(x0-40,y0-60,x0+40,y0-60);
- Line(x0-30,y0+80,x0-30,y0+160);
- Line(x0+30,y0+80,x0+30,y0+160);
- arc(x0,y0+80,0,180,30);
- krest(x0,y0-160);
- krest(x0-30,y0+160);
- krest(x0+30,y0+160);
- readln;
- end.
Объяснение кода листинга программы
- Подключается библиотека graph.
- Определяется процедура krest, которая рисует крест на экране.
- Определяются переменные gd, gm, x0 и y0, которые используются для работы с графиком.
- Вызывается функция detect, чтобы определить тип графического устройства.
- Инициализируется графическая система с помощью функции initgraph, передавая ей детектор и имя файла библиотек.
- Устанавливается цвет фона с помощью функции setbkcolor.
- Устанавливается цвет текста с помощью функции setcolor.
- Вычисляется центр рисунка как половина максимальных координат экрана.
- Рисуется окружность с радиусом 90, центром в центре экрана.
- Рисуются две линии, соединяющие центр рисунка с верхней и нижней частями экрана.
- Рисуются еще две линии, соединяющие углы креста.
- Вызывается функция readln, чтобы дождаться ввода с клавиатуры.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д