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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2013, 19:45   #1
mirstat75
Новичок
Джуниор
 
Регистрация: 10.05.2013
Сообщений: 1
По умолчанию процедура paskal - Составить программу, которая бы считала, когда Вам исполниться 5000 и 7000 дней

У меня проблема с задачей на Paskal. Условие следующее:Составить программу, которая бы считала, когда Вам исполниться 5000 и 7000 дней. Но меня поставило в тупик одно из условий:составить процедуру для нахождения даты в прошлом, то есть даты, которая была за (n) дней до указанной даты. Как эту процудуру написать????
mirstat75 вне форума Ответить с цитированием
Старый 10.05.2013, 22:45   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

А как бы Вы решали эту задачу, будь у Вас вместо компьютера карандаш и лист бумаги?
s-andriano вне форума Ответить с цитированием
Старый 11.05.2013, 18:26   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
с задачей на Paskal.
Пишется Pascal.

Цитата:
У меня проблема с задачей на Paskal.
А мы тут при чем? Почему я должен оторваться от учебы и решать Ваши проблемы?
Интерес? Его нет. Ваша задача не щекочет нервы. От её решения не словишь очередную дозу кайфа. Хорошее отношение? К человеку, который не счел нужным поздороваться и попросить помощи? Деньги? Хорошая шутка.

// Возможно я чрезмерно суров (песня такая попалась)

Не понимаю почему я решил помочь Вам..
Код:

const
	mday : array[1..12] of Byte = (
		31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
	);

procedure NextDay (var d, m, y : Integer);
	
function IsLeapYear (y : Integer) : Boolean;
begin
	Result := (y mod 400 = 0) or (y mod 4 = 0) and (y mod 100 <> 0)
end;

begin
	Inc (d);

	if (d > mday[m]) or
	   not IsLeapYear (y) and (m = 2) and (d = 29) then begin
			Inc (m);
			d := 1;
			if m > 12 then begin
					Inc (y);
					m := 1
			end
	end
	
end;
Таким же макаром можно сделать и процедуру PreviousDay.
Poma][a вне форума Ответить с цитированием
Старый 13.05.2013, 11:23   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Poma][a
Не понимаю почему я решил помочь Вам..
можно и так.

Но, хочу отметить, что существует и другой подход к решению подобных задач:
используя формат даты, когда дата кодируется числом дней (как TDateTime) или число секунд (как в UnixTime), прошедших от некой заданной даты.
В этом случае, очевидно, что достаточно просто к дате рождения в таком формате прибавить заданное число (дней/секунд) и полученное число перевести в привычную дату (число, месяц, год). и всё.

ТУТ, например, готовое решение такой задачи на Паскале...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.05.2013, 11:37   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
А мы тут при чем? Почему я должен оторваться от учебы и решать Ваши проблемы?
Интерес? Его нет. Ваша задача не щекочет нервы. От её решения не словишь очередную дозу кайфа. Хорошее отношение? К человеку, который не счел нужным поздороваться и попросить помощи? Деньги? Хорошая шутка.
эх, молодежь!!!
когда и я был таким потом мне кто-то написал
Цитата:
Не хочешь решать - не решай! И не жди никогда спасибо за сделанное!
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 13.05.2013 в 11:43.
Mad_Cat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить программу, которая запрашивает пароль Olesya2406 Помощь студентам 5 28.04.2015 17:20
Turbo Paskal Составить программу обработки символьных данных beda+ Помощь студентам 2 11.04.2013 21:00
Составить программу, которая заполняет квадратную матрицу... Катюшка_92 Общие вопросы C/C++ 1 18.09.2010 20:43
Составить программу, которая читает произвольный текст Doublefaced Помощь студентам 12 21.06.2009 00:24
Составить программу, которая создает и выводит на экран файл. STEELKUZNECOV Помощь студентам 1 30.05.2009 09:50