Нарисовать ламповый диод - Turbo Pascal
Формулировка задачи:
Собственно нужно нарисовать используя graph ламповый диод как на картинке,долго бился над этим(т.к. этого мы еще не проходили),но все-таки получилось что-то более-менее сносное.Тем не менее т.к. я использовал дугу эллипса линии вышли под углом,можно ли как-нибудь выровнять их?
Решение задачи: «Нарисовать ламповый диод»
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, чтобы дождаться ввода с клавиатуры.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д