ребят нужна помощь) по информатике учитель сказал сделать циферблат часов паскаль) напиши подробно всю программу как делать
5-9 класс
|
попробуй так 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.
Другие вопросы из категории
и тупое описание некоторых мессенждеров только мозгов хватило. Чем больше-тем лучше
Читайте также
низкое, если известно, что берёза ниже тополя, липа выше клёна, сосна ниже ели, липа ниже берёзы, сосна выше тополя?
И второй вопрос: Пятеро одноклассников - Аня, Саша, Лена, Вася и Миша - стали победителями школьных олимпиад по истории, математике, информатике, литературе и географии. Известно, что: 1) победитель олимпиады по информатике учит Аню и Сашу работе на компьютере; 2) Лена и Вася заинтересовались информатикой; 3) Саша всегда побаивался истории; 4) Лена, Саша и победитель олимпиады по литературе занимаются плаванием; 5) Саша и Лена поздравили победителя олимпиады по математике; 6) Аня сожалеет о том. что у неё остаётся мало времени на литературу.
Победителем какой олимпиады стал каждый из этих ребят?
Задача по информатике:
В процессе преобразования растрового графического файла количество цветов уменьшалось с 4096 до 64. Во сколько раз уменьшится обьем файла?
По возможности покажите решения а то я полный ноль в этом .
За помощь благодарю !
затем все остальные оценки. Сколько учеников имеют по информатике оценку пять?Условный оператор не использовать. 2)Составить программу, которая находит минимальное число большее 200, которое нацело делится на 17. Использовать цикл с предусловием While.всю программу напишите, пожалуйста)))
Нужно решить по информатики уравнения .
X*(a+b)= c