Написать программу на языке программирования для задания: вывести на экран звёздное небо, состоящее из 100 звёзд разного размера и цвета. Звезда представляет собой крестик (два отрезка, пересекающиеся перпендикулярно по середине).
Пример решения –
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormPaint(Sender: TObject);
var i,x,y,r,cvet:integer;
begin
randomize;
with Canvas do
begin
for i:=1 to 100 do
begin
x:=random(Form1.ClientWidth);
y:=random(Form1.ClientHeight);
r:=random(20)+5;
cvet:=random(5000000);
Pen.Color:=cvet;
MoveTo(x-(r div 2),y); LineTo(x+(r div 2),y);
MoveTo(x,y-(r div 2)); LineTo(x,y+(r div 2));
end;
end;
end;
end.
Задача № 31
Нарисовать на форме правильный многоугольник. Количество углов многоугольника необходимо задать после запуска программы.
Пример решения –
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var x0,y0,x,y,a,b,R:integer;
alfa:real;
begin
b:=StrToInt(Edit1.Text);
x0:=150;
y0:=200;
R:=100;
with canvas do
begin
Pen.Color:=clBtnFace;
Brush.Color:=clBtnFace;
Rectangle(0,65,Form1.ClientWidth,Form1.ClientHeight);
Pen.Color:=clRed;
Brush.Color:=clRed;
moveto(x0,y0-R);
for a:=1 to b do
begin
alfa:=360/b*a;
x:=x0+round(R*sin(pi*alfa/180));
y:=y0-round(R*cos(pi*alfa/180));
lineto(x,y);
end;
end;
end;
end.