• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите кто-нибудь с Паскалем

Катерюшка

Ученик
Регистрация
1 Фев 2012
Сообщения
2
Реакции
0
Баллы
0
Помогите кто-нибудь с Паскалем

Никогда не сталкивалась с программированием, а тут поступила в универ и задали на Паскале задачку:
Даны целые числа day, month, year. Проверьте возможность существования этой даты и в случае положительного результата выведите ее в виде "число название месяц год".
 
Никогда не сталкивалась с программированием, а тут поступила в универ и задали на Паскале задачку:
Даны целые числа day, month, year. Проверьте возможность существования этой даты и в случае положительного результата выведите ее в виде "число название месяц год".
Легко.
Только вот два замечания.
1. Вы не указали тип Паскаля (они разные бывают). Программа написана для Turbo. Если же нужно для АВС, каковой типизированных констант понимать не изволит, то помочь не могу - я с этим извращением дела не имею.
2. На допустимый диапазон лет наложено только одно ограничение: номер года должен быть больше 1582 (год принятия Григорианского календаря).
Код:
CONST
 Month_Name:Array[1..12] of String=('January','February','March','April',
                               'May','June','July','August',
                               'September','October','November','December');
 Days_in_Months_not_bis:Array[1..12] of Byte=(31,28,31,30,31,30,
                                              31,31,30,31,30,31);
 Days_in_Months_bis:Array[1..12] of Byte=(31,29,31,30,31,30,
                                          31,31,30,31,30,31);
VAR
 Year_Type:Byte;
 Day,Month,Year:Integer;
 B:Boolean;
 i,j,N,Days:Integer;

BEGIN
 Write('Day= ');
 Readln(Day);
 Write('Month= ');
 Readln(Month);
 Write('Year= ');
 Readln(Year);
 B:=True;
 If Year<1583 then B:=False;
 If B then
  Begin
   If (((Year mod 4)=0) and ((Year mod 100)>0)) or
      (((Year mod 100)=0) and ((Year mod 400)=0))  then
      Year_Type:=1 else Year_Type:=0;
   If (Month<0) or (Month>12) or (Day<1) then B:=False;
    If B then
     begin
      If ((Year_Type=0) and (Day>Days_in_Months_not_bis[Month])) or
         ((Year_Type=1) and (Day>Days_in_Months_bis[Month])) then B:=False;
     end;
  End;
 Writeln;
 If B then
  Writeln(Day,', '+Month_Name[Month]+', ',Year)
 else
  Writeln('Incorrect!');
 Readln
END.
 
Огромное спасибо, то что нужно, как раз на турбо паскаль)))))))
 
Назад
Сверху