Страница 1 из 1

Помогите с Pascal

Добавлено: 17 авг 2008, 16:57
igosja
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:

Re: Помогите с Pascal

Добавлено: 17 авг 2008, 19:12
Alex_Burn
Если я правильно понял задание (формулировки которого нет :) ), то

[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]

А вообще уточните задание

Re: Помогите с Pascal

Добавлено: 18 авг 2008, 00:31
igosja
Это программа котрая определяет может ли существовать дата, которую введут. В условии перечислены номера месяцов, а также апрель где бывает 29 и 28 дней в зависимости от года ( высокосный или нет).

Re: Помогите с Pascal

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


:confused: Может все-таки февраль? :D .

Re: Помогите с Pascal

Добавлено: 18 авг 2008, 23:29
igosja
Точняк, ошибся :D

Re: Помогите с Pascal

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

Обсуждалось, например, здесь:
http://forum.developing.ru/showpost.php ... ostcount=5

Re: Помогите с Pascal

Добавлено: 28 авг 2008, 11:32
Хыиуду
Опять же, зависит от практического применения. Если задача не оперирует будущим и прошлым - можно оставить как есть. 2000 год по всем правилам был високосным, вряд ли кто-то из программистов или их клиентов жил в 1900 году, и вряд ли кто из них доживет до 2100