Цитата:
Сообщение от Ксения)777)
1) Для целого числа k от 1 до 99 напечатать фразу “Мне k лет”, учитывая при этом, что при некоторых значениях k слово “лет” надо заменить на слово “год” или “года”. Например, 11 лет, 22 года, 51 год.
2) Числа a, b, c обозначают дату. Проверить корректность этой даты.
|
И Вам добрый день, и с наступающим!
Разумеется, на столь вежливую просьбу грех не откликнуться. Пожалуйста:
Код:
VAR
k:Byte;
BEGIN
Write('Сколько мне лет? ');
ReadLn(k);
Write('Мне ',k);
If ((k>10) and (k<15)) or ((k mod 10)>4) and ((k mod 10)<=9) or ((k mod 10)=0) then
Write(' лет') else
If ((k mod 10)>1) and ((k mod 10)<5) then
Write(' года') else Write(' год');
WriteLn;
ReadLn;
END.
Код:
VAR
a,b,c:WORD;
BEGIN
Write('a (date) = ');
Readln(a);
Write('b (month) = ');
Readln(b);
Write('c (year) = ');
Readln(c);
If (b=0) or (b>12) or (a=0) or (c=0) then
Writeln('Not correct!')
else
Case b of
1,3,5,7,8,10,12: if a>31 then Writeln('Not correct!') else Writeln('Correct');
4,6,9,11: if a>30 then Writeln('Not correct!') else Writeln('Correct');
2: if ((((c mod 4)>0) or (((c mod 100)=0) and ((c mod 400)>0))) and (a>28))
or (a>29) then Writeln('Not correct!') else Writeln('Correct');
end;
ReadLn;
END.
Какие еще будут распоряжения?