Нарисуйте в центре экрана звезду - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Нарисуйте в центре экрана ЗВЕЗДУ(для выполнения этого задания рисунок лучше предварительно создать на листе бумаги в масштабе, чтобы правильно определить координаты. Заранее благодарен.

Решение задачи: «Нарисуйте в центре экрана звезду»

textual
Листинг программы
uses math, graph;
 
procedure Star(X, Y : integer; R : integer);
var
  pts : array [0 .. 10] of PointType;
  i, Angle : integer;
  Dist : integer;
begin
  Angle := 90;
  for i := 0 to 9 do
  begin
    if Odd(i) then Dist := R div 3
    else Dist := R;
 
    pts[i].X := X + Trunc(Dist * Cos(DegToRad(Angle)));
    pts[i].Y := Y - Trunc(Dist * Sin(DegToRad(Angle)));
 
    Inc(Angle, 36);
  end;
  pts[10] := pts[0];
  DrawPoly(11, pts);
end;
 
 
var gd, gm : smallint;
begin
   initgraph(gd, gm, '');
   star(getmaxx div 2, getmaxy div 2, getmaxy div 8); // координаты центра и размеры меняются по желанию
   readln;
   closegraph;
end.

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

Вот что делает этот код:

  1. Использует модули math и graph.
  2. Определяет процедуру Star для рисования звезды.
  3. Создает массив pts для хранения координат вершин звезды.
  4. Устанавливает начальный угол Angle равным 90 градусам.
  5. Цикл от 0 до 9:
    • Если i - нечетное число, то Dist становится R/3, иначе R.
    • Вычисляет координаты X и Y для вершины звезды на основе текущего угла и расстояния Dist.
    • Увеличивает угол на 36 градусов.
  6. Последняя вершина звезды (i=10) копируется из первой вершины (i=0).
  7. Вызывается функция DrawPoly для рисования звезды из 11 вершин.
  8. Заголовок и тело программы:
    • Инициализация графического режима с помощью функции initgraph.
    • Вызов функции star с аргументами (getmaxx div 2, getmaxy div 2, getmaxy div 8) для рисования звезды в центре экрана.
    • Чтение строки с помощью функции readln.
    • Закрытие графического режима с помощью функции closegraph. Обратите внимание, что в этом коде используются вызовы функций и заголовок var gd, gm : smallint; для инициализации графического режима, что является общим при работе с графикой в Free Pascal.

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


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

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

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