Рисование значка 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.
- Завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д