Графика, улитка Паскаля. - 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.

Объяснение кода листинга программы

  1. В программе используется библиотека графики, предоставленная в стандартной библиотеке Pascal, а также функция detect для определения драйвера графики.
  2. Константа grPath указывает путь к файлу с графическим изображением, который будет использоваться в качестве фона.
  3. Переменные grDriver и grMode используются для хранения информации о драйвере и режиме работы соответственно.
  4. Переменные MidX и MidY определяют центр координат графика.
  5. Переменная Errcode используется для хранения кода ошибки при выполнении операций с графикой.
  6. Переменные X и Y используются для хранения текущих координат X и Y соответственно.
  7. Функция xx выполняет цикл, в котором происходит рисование фигур.
  8. Переменная a1 используется для чтения символа с клавиатуры.
  9. Цикл повторяется до тех пор, пока не будет введено значение 'r'.
  10. В конце программы закрывается графический контекст.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы