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

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

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

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

Нужна ваша помощь при решении задачи в паскале

  • Автор темы Автор темы Sergei47
  • Дата начала Дата начала

Sergei47

Новые
Регистрация
5 Окт 2009
Сообщения
21
Реакции
0
Баллы
0
Нужна ваша помощь при решении задачи в паскале

Даны числа A,B,C(число, месяц, год). Проверить корректность даты.
 
Даны числа A,B,C(число, месяц, год). Проверить корректность даты.

Как-то так:

VAR
A, B, C:INTEGER;
A_corr, B_corr, C_corr, Date_corr, vis:BOOLEAN;

BEGIN
Write('Enter day '); ReadLn(A);
Write('Enter month '); ReadLn(B);
Write('Enter year '); ReadLn(C);
IF C>0 THEN C_corr:=TRUE ELSE C_corr:=FALSE;
IF (C_corr) AND (C mod 4 = 0) AND (C mod 400 <> 0) THEN vis:=TRUE ELSE vis:=FALSE;
IF A<0 THEN A_corr:=FALSE ELSE A_corr:=TRUE;
IF B<0 THEN B_corr:=FALSE ELSE B_corr:=TRUE;
CASE B OF
1,3,5,7,8,10,12: IF A>31 THEN A_corr:=FALSE;
4,6,9,11: IF A>30 THEN A_corr:=FALSE;
2: IF ((vis) AND (A>29)) OR ((vis=FALSE) AND (A>28)) THEN A_corr:=FALSE;
ELSE B_corr:=FALSE;
END;
IF (A_corr) AND (B_corr) AND (C_corr) THEN
WriteLn('The date is CORRECT') ELSE
WriteLn('The date is NOT CORRECT');
ReadLn;
END.
 
Большое спс.. надеюсь когда нибудь помочь и вам!
 
Назад
Сверху