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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2012, 22:53   #11
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

Наброски:
Код:
uses
  crt;

var
  h, m, i, d: integer;

begin
  for i := 0 to 720 do
  begin
    h := i div 60;
    m := i mod 60;
    d := 60 * h - 12 * m;
    while d < 0 do
      d := d + 180;
    while d > 180 do
      d := d - 180;
    writeln(h, 'h ', m, 'm - ', d / 11:0:4);
  end;
  readln;
end.
Update Кое-что исправил.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 21.10.2012 в 23:05.
BDA вне форума Ответить с цитированием
Старый 21.10.2012, 23:19   #12
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
var
h,m:integer;
angleH,angleM:real;
delta:real;
i:integer;
begin
readln(h,m);
AngleM:=360/60*M;
AngleH:=360/12*H+0.5*M;
delta:=AngleM-AngleH;
while delta>360 do delta:=delta-360;
i:=0;
While ( delta - 90<>0) and (delta -270<>0) do begin
inc(i);
AngleH:=AngleH+0.5;
angleM:=AngleM+6;
delta:=AngleM-AngleH;
while delta>360 do delta:=delta-360;
end;
writeln(i);
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 21.10.2012 в 23:30. Причина: и ничего серьезного в программе то и нет!!!
Mad_Cat вне форума Ответить с цитированием
Старый 22.10.2012, 15:05   #13
MasterMaind
Новичок
Джуниор
 
Аватар для MasterMaind
 
Регистрация: 21.10.2012
Сообщений: 8
По умолчанию

Спасибо конечно большое...но есть й ошибка.Вы в своих кодах оба не учли что 90 градусов может быть с частичным переходом на следующий час.
Per aspera ad astra!

Последний раз редактировалось MasterMaind; 22.10.2012 в 15:08.
MasterMaind вне форума Ответить с цитированием
Старый 22.10.2012, 15:23   #14
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Это не учли составители задачи так как не задается время в секундах а так как нам нужно точно 90 градусов то как раз в 3 и в 9 ровно это событие наступит остальные наступят не в ровные минуты а с секундами. Найдете еще одно время ровно с часами минутами и 00 секунд код поправлю. Удачи!!!
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 22.10.2012, 17:54   #15
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

Код:
uses
  crt;
 
var
  h, m, i, d: integer;

 
begin
  for i := 0 to 720 do
  begin
    h := i div 60;
    m := i mod 60;
    
    d := i - 12 * (i mod 60) + 180;
    while d > 360 do
        dec(d, 360);
    while d < 0 do
        inc(d, 360);   
    writeln(h, 'h ', m, 'm : ', d / 11:0:4)
  end;
  readln;
end.
Нашел ошибку (не учитывал кое-что при расчете градусов часовой стрелки).
Цитата:
90 градусов может быть с частичным переходом на следующий час.
Посмотрите, осталась ли ошибка, т.к. я пока не понял, где она.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 22.10.2012, 18:05   #16
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
1 => 1 час. 21 мин. 49 сек.
2 => 3 час. 0 мин. 0 сек.
3 => 5 час. 43 мин. 38 сек.
4 => 7 час. 21 мин. 49 сек.
5 => 9 час. 0 мин. 0 сек.
6 => 11 час. 43 мин. 38 сек.
все углы в 90 градусов на циферблате
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 22.10.2012, 18:38   #17
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

У мя больше
Цитата:
1 => 1 час. 21 мин. 49 сек.
1h 54m
2h 27m
2 => 3 час. 0 мин. 0 сек.
3h 32m
4h 5m
4h 38m
5h 10m
3 => 5 час. 43 мин. 38 сек.
6h 16m
6h 49m
4 => 7 час. 21 мин. 49 сек.
7h 54m
8h 27m
5 => 9 час. 0 мин. 0 сек.
9h 32m
10h 5m
10h 38m
11h 10m
6 => 11 час. 43 мин. 38 сек.
Точнее указать не могу.
Кстати, Ваше сообщение помогло найти ошибку в моей программе.
(Неправильная обработка 9 и 3 часов - думаю, как исправить).
Update Всего лишь нужно было сделать строгое неравенство
Код:
uses
  crt;
 
var
  h, m, i, d: integer;

 
begin
  for i := 0 to 720 do
  begin
    h := i div 60;
    m := i mod 60;
    
    d := i - 12 * (i mod 60) + 180;
    while d >= 360 do
        dec(d, 360);
    while d < 0 do
        inc(d, 360);   
    writeln(h, 'h ', m, 'm : ', d / 11:0:4)
  end;
  readln;
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 22.10.2012 в 18:42.
BDA вне форума Ответить с цитированием
Старый 22.10.2012, 18:43   #18
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
6h 16m
92 градуса
Цитата:
6h 49m
89,5 градусов
Цитата:
11h 10m
85 градусов
еще посчитать?
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 22.10.2012 в 18:48.
Mad_Cat вне форума Ответить с цитированием
Старый 22.10.2012, 18:48   #19
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
92 градуса
Вы правы. Хм, но, все равно, около 6 часов 16 минут есть позиция, где угол 90 градусов
(осталось найти еще одну ошибку в программе - не везет мне с этой задачкой).

Цитата:
89,5 градусов
Ну я же предупредил, что указываю не точно (без секунд).

Раз уж Вам нужна точность:
Цитата:
6h 16m 21s
6h 49m 5s
11h 10m 54s
Все же, похоже, нету ошибки
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 22.10.2012 в 18:55.
BDA вне форума Ответить с цитированием
Старый 22.10.2012, 19:23   #20
MasterMaind
Новичок
Джуниор
 
Аватар для MasterMaind
 
Регистрация: 21.10.2012
Сообщений: 8
По умолчанию

Давайте не будем сейчас...суть не в этом. Посмотрел последний код,там переход осушествлен верно но теперь подсчет "сколько времени осталось до 90 градусов" иногда косячит.....сам вот думаю.
Per aspera ad astra!
MasterMaind вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Серьезная ошибка при открытии исходника! artemavd Общие вопросы Delphi 21 19.03.2013 12:45
webmaney-серьезная ошибка! viks1 Софт 7 18.11.2011 22:00
серьезная проблема алексей-ячс Безопасность, Шифрование 24 23.10.2011 19:35
Серьезная проблема. Marat1993 Помощь студентам 2 24.01.2011 06:10
Серьезная проблема с округлением asale Microsoft Office Excel 0 03.02.2009 18:25