Uses crt, graphabc; var d,m,x,y,n,k: integer; xx,yy,t,a: real; const xo=320; yo=200; begin a: =0; for n: =1 to 20 do begin t: =0; for k: =1 to 6280 do begin xx: =150*cos(t); yy: =80*sin(t); x: =round(xo+(xx*cos(a)-yy*sin(; y: =round(yo-(xx*sin(a)+yy*cos(; putpixel(x,y,white); t: =t+0.001; end; a: =a+pi/20; end; end. опишите программу и объясните что выполняет сos и sin в этой программе

Zahardenicuk Zahardenicuk    1   22.05.2019 11:40    0

Ответы

Программа рисует узор (см. вложение), состоящий из 20 эллипсов, каждый из которых повёрнут на 9 градусов относительно предыдущего. Угол поворота задаётся переменной а, которая изменяется от 0 до 180 (так как 20*9=180). Cos(a) и Sin(a) задают положение эллипса.

Каждый эллипс рисуется с точек (цикл по k) командой PutPixel? начиная с крайней левой точки эллипса. Cos(t) и Sin(t) задают отклонение каждой точки от "центра" эллипса.

 

PS Кстати, в программе есть ошибка - цвет надо задавать как "clWhite", a не "White"  - хотя задавать белый вобще нет смысла - его не будет видно :)

 


Uses crt, graphabc; var d,m,x,y,n,k: integer; xx,yy,t,a: real; const xo=320; yo=200; begin a: =0; fo
Uses crt, graphabc; var d,m,x,y,n,k: integer; xx,yy,t,a: real; const xo=320; yo=200; begin a: =0; fo
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика