Графика, улитка Паскаля. - Pascal
Формулировка задачи:
Помогите Решить задачу, Пожалуйста !
Построить кривые по заданному параметрическому представлению:
улитка Паскаля: у = а • cos² t + b • cos t ,
y = a • соs t • sin t + b • sin t , при условии, что a>0, b>0,
t ? [0,2п]. Рассмотреть случаи, когда b ≥ 2a, a < b < 2а, a > b.
Зарание Благодарен !
Решение задачи: «Графика, улитка Паскаля.»
textual
Листинг программы
program ylitka_Paskalia; uses crt, graph; const grPath= 'C:\BP7\BGI'; var grDriver, grMode, Midx, Midy ,Errcode, g: Integer; t,X,Y:Real; a1:char; procedure xx(A,B:integer); begin for g:=0 to 360 do begin t:=g*Pi/180; {perevogimv radiani} X:=MidX+A*Sqr(cos(t))+B*cos(t); Y:=MidY+A*cos(t)*sin(t)+B*sin(t); if g=0 then MoveTo(Round(X), Round(Y)) else LineTo(Round(X),Round(y)); end; end; begin Errcode:=graphresult; if Errcode<>grOk then begin Writeln(GraphErrorMSG(errcode)); end; begin grDriver:=detect; InitGraph(grDriver, grMode,grPath); MidX:=GetMaxX div 2; MidY:=GetMaxY div 2; repeat {cikl} setfillstyle(1,BLACK); a1:=readkey; {kak bi prisvaivaem funkciy perekluchenia} bar(0,0,640,480); {risyet chernui priamougolnik} Line(0,GetMaxY div 2, GetMaxX, GetMaxY div 2); {risyet osi} Line(GetMaxX div 2, 0, GetMaxX div 2, GetMaxY); if a1='q' then xx(20,60); {b>2a} if a1='w' then xx(30,40); {a<b<2a} if a1='e' then xx(60,40) ; {a>b} until a1='r'; {zakonchit cikl, poka ne nagmete klavishy r} CloseGraph; end;end.
Объяснение кода листинга программы
- В программе используется библиотека графики, предоставленная в стандартной библиотеке Pascal, а также функция detect для определения драйвера графики.
- Константа grPath указывает путь к файлу с графическим изображением, который будет использоваться в качестве фона.
- Переменные grDriver и grMode используются для хранения информации о драйвере и режиме работы соответственно.
- Переменные MidX и MidY определяют центр координат графика.
- Переменная Errcode используется для хранения кода ошибки при выполнении операций с графикой.
- Переменные X и Y используются для хранения текущих координат X и Y соответственно.
- Функция xx выполняет цикл, в котором происходит рисование фигур.
- Переменная a1 используется для чтения символа с клавиатуры.
- Цикл повторяется до тех пор, пока не будет введено значение 'r'.
- В конце программы закрывается графический контекст.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д