IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача с датами
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 43
Пол: Женский

Репутация: -  1  +


Необходимо решить задачу:
Определить k - порядковый номер дня года по дате d, m, y (день, месяц, год).
Пыталась решить сама, считает правильно до 8 месяца, потом выдает ерунду.
вот код программы, может кто подскажет в чем дело...
Код

program god;
uses CRT;
var k: 1..366;
   d: 1..31;
   m: 1..12;
   y: 0..5000;
   yy: 1..100;
   tmp:integer;
begin
   ClrScr;
   TextColor(LightBlue);
   writeln('wwedite god');
   TextColor(LightGray);
   readln(y);
   TextColor(LightBlue);
   writeln('wwedite mesyac');
   TextColor(LightGray);
   readln(m);
   TextColor(LightBlue);
   writeln('wwedite den');
   TextColor(LightGray);
   readln(d);
   yy:=y mod 100;
   tmp:=(m+10) div 13;
   k:=3055*(m+2) div 100-tmp*2-91+
   (1-(yy-yy div 4*4+3) div 4+
   (yy-yy div 100*100+99) div 100-
   (yy-yy div 400*400+399) div 400)*tmp+d;

      TextColor(LightRed);
     writeln('poryadkovyi nomer dnya goda ', k);
     ReadKey;
end.


Сообщение отредактировано: Людмила -


--------------------
хороших людей мало... полезных ещё меньше....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






В следующий раз пользуйтесь поиском, пожалуйста... Я думаю, вот это Вам поможет: http://forum.pascal.net.ru/index.php?showt...indpost&p=34965
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 43
Пол: Женский

Репутация: -  1  +


Цитата(volvo @ 12.02.05 16:31)
В следующий раз пользуйтесь поиском, пожалуйста... Я думаю, вот это Вам поможет: http://forum.pascal.net.ru/index.php?showt...indpost&p=34965

Я смотрела эти задачи, у них совсем другой алгоритм, хотелось бы узнать что не правильно в моём, по идеи должен идти, да и до 8 месяца считает без отказно. Помогите если не трудно. unsure.gif


--------------------
хороших людей мало... полезных ещё меньше....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Ну если Вам хочется изобретать велосипед - пожалуйста, только вот в вышеприведенной программе я не увидел никакого алгоритма. Ведь в году все-таки 12 месяцев, следовательно это какой-то цикл, покажите мне у Вас в программе хоть один оператор, связанный с циклом... А выписать все операторы в одну строчку, это - извините, не алгоритм, а подгонка под ответ... Да и преподаватель (или пользователь), наверняка не станет разбираться с такой программой...

Мне, например, расхотелось вникать в логику работы программы, как только я увидел число "k:=3055*(m+2) div ..." А почему, собственно, 3055? А не 5424? или 6405? Так что, делайте выводы...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 43
Пол: Женский

Репутация: -  1  +


Цитата(volvo @ 13.02.05 14:22)
Ну если Вам хочется изобретать велосипед - пожалуйста, только вот в вышеприведенной программе я не увидел никакого алгоритма. Ведь в году все-таки 12 месяцев, следовательно это какой-то цикл, покажите мне у Вас в программе хоть один оператор, связанный с циклом... А выписать все операторы в одны строчку, это - извините, не алгоритм, а подгонка под ответ... Да и преподаватель (или пользователь), наверняка не станет разбиралься с такой программой...

Мне, например, расхотелось вникать в логику работы программы, как только я увидел число "k:=3055*(m+2) div ..." А почему, собственно, 3055? А не 5424? или 6405? Так что, делайте выводы...


Спасибо. Попробую пересмотреть полностью. Извиняюсь, я только начала учиться ещё и заочно, очень трудно мне даётся Паскаль с нулевым опытом программирования. sad.gif


--------------------
хороших людей мало... полезных ещё меньше....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 43
Пол: Женский

Репутация: -  1  +


Огромное спасибо у меня получилось с Вашей помощью. :rose:
Я ВАМ очень благодарна.

Сообщение отредактировано: Людмила -


--------------------
хороших людей мало... полезных ещё меньше....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 26.04.2024 2:09
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name