Помогите с Pascal

Вопросы по программированию, не подходящие в другие разделы.

Модераторы: Naeel Maqsudov, C_O_D_E

Ответить
igosja
Сообщения: 3
Зарегистрирован: 17 авг 2008, 16:51

var
day : integer;
month : char;
year : integer;
ostatok : integer;
begin
Write('Enter the day');
readln(day);
Write('Enter the month');
readln(month);
Write('Enter the year');
readln(year);
ostatok := year mod 4;
case month of
'1','3','5','7','8' : begin
if (day <=31) then writeln('Correct');
'2','4','6','11' :begin
if (day <= 30) then writeln('Correct');
'2' : begin
if (day <= 28) and (ostatok <> 0) then writeln('Correct');
if (day <=28) and (ostatok = 0) then (writeln ('Correct');
'10','12' : begin
if (day <=31 ) then writeln('Correct');
else writeln('False');
end;
end;
end;
end;
readln;

У меня ошибка вылезает, никак не могу исправить :confused:
Аватара пользователя
Alex_Burn
Сообщения: 147
Зарегистрирован: 13 апр 2007, 17:49
Контактная информация:

Если я правильно понял задание (формулировки которого нет :) ), то

[Syntax='Pascal']
var
day : integer;
month : integer;
year : integer;
ostatok : integer;
flag : boolean;

begin

flag := false;
Write('Enter the day ');
readln(day);
Write('Enter the month ');
readln(month);
Write('Enter the year ');
readln(year);

ostatok := year mod 4;

case month of
1,3,5,7,8,10,12 : if (day <=31) then flag := true;
4,6,9,11 : if (day <= 30) then flag := true;

2 :
begin
if (day <= 28) and (ostatok <> 0) then flag := true;
if (day <=29) and (ostatok = 0) then flag := true;
end;
end;

if (flag) then writeln('Correct') else writeln('Uncorrect');

readln;
end.
[/Syntax]

А вообще уточните задание
igosja
Сообщения: 3
Зарегистрирован: 17 авг 2008, 16:51

Это программа котрая определяет может ли существовать дата, которую введут. В условии перечислены номера месяцов, а также апрель где бывает 29 и 28 дней в зависимости от года ( высокосный или нет).
Аватара пользователя
Alex_Burn
Сообщения: 147
Зарегистрирован: 13 апр 2007, 17:49
Контактная информация:

igosja писал(а):а также апрель где бывает 29 и 28 дней в зависимости от года ( высокосный или нет).


:confused: Может все-таки февраль? :D .
igosja
Сообщения: 3
Зарегистрирован: 17 авг 2008, 16:51

Точняк, ошибся :D
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

igosja писал(а):...29 и 28 дней в зависимости от года ( высокосный или нет).
Строго говоря, Вы не совсем верно определяете, високосный год или нет. например, 1700, 1800, 1900, 2100 года НЕ високосные.

Обсуждалось, например, здесь:
http://forum.developing.ru/showpost.php ... ostcount=5
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Опять же, зависит от практического применения. Если задача не оперирует будущим и прошлым - можно оставить как есть. 2000 год по всем правилам был високосным, вряд ли кто-то из программистов или их клиентов жил в 1900 году, и вряд ли кто из них доживет до 2100
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить