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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2008, 15:32   #11
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

Ужс оказывается я не так понял смысл задачи! необходимо ввести например 213 и программа должна выдать например 23 августа...У меня уже нету времени переделывать, завтра нужно сдавать...думаю профессионалы напишут быстрее, если можно с комментариями ну и блок схема бы не помешала =)
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 17.01.2008, 23:29   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

[Smarik], ну я же вроде всё Вам прямо в руки дал... ;-((

ладно, вот полностью код:
Код:
const
  MonthName : array[1..12] of string =
('Января','Февраля','Марта','Апреля','Мая','Июня','Июля',
'Августа','Сентября','Октября','Ноября','Декабря');  


{*                    OPDATE.PAS 1.21                    *}
{*     Copyright (c) TurboPower Software 1988, 1992.     *}

  function IsLeapYear(Year : Integer) : Boolean;
    {-Return True if Year is a leap year}
  begin
    IsLeapYear := (Year mod 4 = 0) 
          and (Year mod 4000 <> 0) and
            ((Year mod 100 <> 0) or (Year mod 400 = 0));
  end;


  function DaysInMonth(Month, Year : Integer) : Integer;
    {-Return the number of days in the specified month of a given year}
  begin
    case Month of
      1, 3, 5, 7, 8, 10, 12 :
        DaysInMonth := 31;
      4, 6, 9, 11 :
        DaysInMonth := 30;
      2 :
        DaysInMonth := 28+Ord(IsLeapYear(Year));
    else
      DaysInMonth := 0;
    end;
  end;
  
var
  God, NomDay, TempNomDay, CurMonth : integer;

begin
  WriteLn('Введите год (>1900): ');
  Readln(God);
  if God<1900 then begin
    WriteLn('#ошибка: год слишком мал... Bye...');
    Halt;    
  end;
  WriteLn('Введите номер дня в году (>0 и <367): ');
  Readln(NomDay);
  if (NomDay<1) or (NomDay>(365+Ord(IsLeapYear(God)))) then begin
    WriteLn('#ошибка: неверный номер дня в ',God:1,' году! Bye...');
    Halt;    
  end;
  CurMonth := 1;
  TempNomDay := NomDay;
  while TempNomDay>DaysInMonth(CurMonth,God) do
  begin
    TempNomDay := TempNomDay - DaysInMonth(CurMonth,God);
    if TempNomDay>DaysInMonth(CurMonth,God) then
       Inc(CurMonth);
  end;
  
  WriteLn(NomDay:1,'-й день - это ',
     TempNomDay:1,' ',MonthName[CurMonth],' ',God:1,' года.');
  Readln;
end.
Комментарий, блок-схема и тому подобное - делайте сами... меня ломает...
Пиво высылайте бочками.
Чао.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.01.2008, 23:32   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

P.S. 213 день 2007 года - это 1 августа,
213 день 2008 года - 31 июля...
23 августа полюбому не выходит... или Вы так, наобум дату написали?...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.01.2008, 03:44   #14
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

Спасибо большое, дату наобум в качестве премера.
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод числа sergei64_89 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 25.05.2008 21:35
Вывод данных в зависимости от числа sklins Помощь студентам 4 11.03.2008 21:56
Вывод числа lenivec Общие вопросы Delphi 3 10.02.2008 22:45
Консолидация в зависимости от числа месяца Smile E Microsoft Office Excel 6 11.09.2007 21:24