Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2010, 16:49   #1
sllh_111
Форумчанин
 
Регистрация: 10.02.2010
Сообщений: 137
Сообщение Часы(есть наработки)

Народ нужна помощь!
Ну в общем ближе к делу: Нужно написать программу отображения движения часовой стрелки по циферблату, в зависемости от введенного угла; установить простенький будильник.

Код:
Program zadanie_2;
uses graph,crt;
var gm,gd,x,y,p,k,i,z:integer; a,b,c,x1,x2,d: string;
begin
gd:=detect;
initgraph(gm,gd,' ');
writeln(' ');
writeln('vvedite ygol melodii: ');
readln(z);
writeln('vvedite ygol: ');
readln(p);
circle(270,240,100);
line(270,140,270,150);
line(270,340,270,330);
line(170,240,180,240);
line(370,240,360,240);
outtextxy(264,130,'12');
outtextxy(267,345,'6');
outtextxy(160,237,'9');
outtextxy(375,237,'3');

delay(10000);
line(270-round(50*sin(p)),240+round(50*cos(p)),270,240); {strelka}

begin
for i:= 1 to p do
setcolor(15);
line (i*30, i+1,270,240);
setcolor(0); end; setcolor(15);


{k:=(p*30)div 180;
y:=round(240-50*cos(k));
x:=round(270+50*sin(k)); }
{line(270,240,x,y);}
{line(i*30,150,2,2);}

readln;

if p = z then begin
 sound(1319);
delay(65000);
nosound;delay(25000);
 sound(1568);
delay(65000);delay(65000);
nosound;delay(65000);delay(25000);
 sound(1568);
delay(65000);
nosound;delay(15000);
sound(1319);
delay(65000);delay(25000);
nosound;delay(45000);
sound(1760);
delay(35000);
nosound;delay(5000);
sound(1568);
delay(35000);
nosound;delay(5000);
sound(1760);
delay(35000);
nosound;delay(5000);
sound(1568);
delay(33000);
nosound;delay(4000);
sound(1760);
delay(33000);
nosound;delay(4000);
sound(1568);
delay(30000);
nosound;delay(4000);
sound(1760);
delay(30000);
nosound;delay(4000);
sound(1568);
delay(30000);
nosound;
sound(1760);
delay(30000);
nosound;
   delay(25000);
sound(1975);
delay(65000);
delay(30000);
nosound;delay(5000) end;
closegraph;
end.
Циферблат я нарисовал, создал мелодию, а вот отображения движения часовой стрелки по циферблату, в зависемости от введенного угла, немогу сделать
sllh_111 вне форума Ответить с цитированием
Старый 19.04.2010, 16:53   #2
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

гуглим на синус и косинус.

x=x_center+cos(angle)*radius;
y=y_center+sin(angle)*radius;
Levsha100 вне форума Ответить с цитированием
Старый 19.04.2010, 17:04   #3
sllh_111
Форумчанин
 
Регистрация: 10.02.2010
Сообщений: 137
По умолчанию

В том то и дело что Гагл и Яндекс недал результатов. Я нашел там пару формул, но они не верные. Может кто посоветует формулы именно для данной программы.

Кстати извиняюсь за создание 2 темы(комп гонит).
sllh_111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal, наработки есть. Otre4eHHbIu Помощь студентам 1 24.12.2009 08:43
Pascal, модули, наработки есть. auhb Помощь студентам 2 07.12.2009 23:43
Паскаль, массивы, наработки есть. Otre4eHHbIu Помощь студентам 14 17.05.2009 01:16
Паскаль, массивы, наработки есть. Otre4eHHbIu Помощь студентам 3 12.05.2009 12:26