Рисование значка Ubuntu: перевод на Free Pascal
Формулировка задачи:
Есть код которий рисует значок юбунту, как его переделать из АБС Паскаля в Фри паскаль? Сколько не пробую, не получаеться.
Листинг программы
- program labor9;
- uses Graph;
- begin
- floodfill(1,1,clblack);
- rectangle(100,100,700,700);
- setpencolor(clred);
- circle(400,400,150);
- floodfill(400,400,clred);
- circle(400,400,80);
- floodfill(400,400,clwhite);
- circle(400,400,50);
- floodfill(400,400,clred);
- setpencolor(clred);
- rectangle(400,390,500,410);
- floodfill(420,400,clred);
- setpencolor(clred);
- setpenwidth(18);
- line(400,400,350,320);
- floodfill(390,360,clred);
- setpenwidth(1);
- setpenwidth(18);
- line(400,400,350,480);
- floodfill(390,360,clred);
- setpenwidth(1);
- circle(320,400,18);
- floodfill(320,400,clred);
- circle(320,400,13);
- floodfill(320,400,clwhite);
- circle(440,330,18);
- floodfill(440,330,clred);
- circle(440,330,13);
- floodfill(440,330,clwhite);
- circle(440,470,18);
- floodfill(440,470,clred);
- circle(440,470,13);
- floodfill(440,470,clwhite);
- end.
Решение задачи: «Рисование значка Ubuntu: перевод на Free Pascal»
textual
Листинг программы
- {$mode tp}
- program labor9;
- uses
- Graph;
- var
- gd, gm : integer;
- cx, cy, x, y : integer;
- i, angle : integer;
- begin
- initgraph(gd, gm, '');
- cx := getmaxx div 2; cy := getmaxy div 2;
- setcolor(red);
- setfillstyle(solidfill, red);
- fillellipse(cx, cy, 200, 200);
- setfillstyle(solidfill, white);
- fillellipse(cx, cy, 120, 120);
- setfillstyle(solidfill, red);
- fillellipse(cx, cy, 100, 100);
- setlinestyle(solidln, 0, thickwidth);
- for angle := 0 to 2 do
- begin
- x := cx + trunc(144 * cos(pi/4 + angle*2*Pi/3));
- y := cy - trunc(144 * sin(pi/4 + angle*2*Pi/3));
- setfillstyle(solidfill, red);
- fillellipse(x, y, 30, 30);
- setfillstyle(solidfill, white);
- fillellipse(x, y, 25, 25);
- for i := -2 to 2 do
- line(cx, cy,
- cx + trunc(200 * cos(i*pi/180 + angle*2*Pi/3)),
- cy + trunc(200 * sin(i*pi/180 + angle*2*Pi/3))
- )
- end;
- readln;
- closegraph;
- end.
Объяснение кода листинга программы
- Объявление переменных:
- gd, gm: Integer;
- cx, cy, x, y: Integer;
- i, angle: Integer;
- Переменная
red
объявлена как константа цвета.
- Инициализация графического режима с помощью функции initgraph.
- Установка центра окружности и размера с помощью функций getmaxx, getmaxy, setcolor, setfillstyle и fillellipse.
- Цикл для рисования лучей с углом от 0 до 2.
- Вычисление координат x и y с помощью функций cos и sin.
- Рисование окружностей с помощью функции fillellipse.
- Рисование линий с помощью функции line.
- Цикл для рисования лучей с углом от -2 до 2.
- Вычисление координат x и y с помощью функций cos и sin.
- Рисование линий с помощью функции line.
- Завершение работы с графикой с помощью функции closegraph.
- Ожидание ввода пользователя с помощью функции readln.
- Завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д