Ребят нужна помощь) по информатике учитель сказал сделать циферблат часов паскаль) напиши подробно всю программу как делать

Ребят нужна помощь) по информатике учитель сказал сделать циферблат часов паскаль) напиши подробно всю программу как делать
Гость
Ответ(ы) на вопрос:
Гость
попробуй так Uses Graph, CRT;    var        d,r,r1,r2,rr,k,        x1,y1,x2,y2,x01,y01: Integer;        Xasp,Yasp : Word; begin   {Инициируем графику}      d := detect;      InitGraph(d, r, ' ') ;      k:= GraphResult;      if k <> grOK then  WriteLn(GraphErrorMSG(k))   else begin {Определяем отношение сторон и размеры экрана} x1 := GetMaxX div 2; y1 := GetMaxY div 2; GetAspectRatio(Xasp, Yasp); {Вычисляем радиусы:}  r:= round(3*GetMaxY*Yasp/8/Xasp);  r1 := round(0.9*r); {Часовые деления}  r2 := round(0.95*r); {Минутные деления} {Изображаем циферблат}  Circle(x1,y1,r); {Первая внешняя окружность}  Circle(x1,y1,round(1.02*r)); {Вторая окружность}    for k := 0 to 59 do {Деления циферблата}     begin        if k mod 5=0 then            rr := r1 {Часовые деления}       else            rr:= r2 ; {Минутные деления} {Определяем координаты концов делений}  x01 := x1+Round(rr*sin(2*pi*k/60));  y01 := y1-Round(rr*Xasp*cos(2*pi*k/60)/Yasp);  x2 := x1+Round(r*sin(2*pi*k/60));  y2 := y1-Round(r*Xasp*cos(2*pi*k/60)/Yasp);  Line(x01,y01,x2,y2) {Выводим деление} end; {Готовим вывод стрелок}  SetWriteMode(XORPut);  SetLineStyle(SolidLn,0,ThickWidth);  r := 0; {Счетчик минут в одном часе} {Цикл вывода стрелок}  repeat    for k := 0 to 59 do {k = минуты}       if not KeyPressed then          begin                 {Координаты часовой стрелки}                 x2 := x1+Round(0.85*r1*sin(2*pi*r/60/12));                 y2 := y1-Round(0.85*r1*Xasp*cos(2*pi*r/60/12)/Yasp);                 {Координаты минутной стрелки}                 x01:= x1+Round(r2*sin(2*pi*k/60));                 y01:= y1-Round(r2*Xasp*cos(2*pi*k/60)/Yasp);                 {Изображаем стрелки}                  Line(x1,y1,x2,y2);                  Line(x1,y1,x01,y01);                  Delay(100); {Для имитации реального темпа                                       нужно установить задержку 60000}                                      {Для удаления стрелок выводим их еще раз!}                  Line(x1,y1,x01,y01);                  Line (x1,y1,x01,y01 ) ; {Наращиваем и корректируем счетчик минут в часе} inc(r); if r=12*60  then  r := 0 end until KeyPressed; if ReadKey=#0 then k:=ord(ReadKey); CloseGraph; end end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы