Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Ветвление (http://www.tehnari.ru/f41/t43848/)

Ксения)777) 25.12.2010 23:57

Ветвление
 
1) Для целого числа k от 1 до 99 напечатать фразу “Мне k лет”, учитывая при этом, что при некоторых значениях k слово “лет” надо заменить на слово “год” или “года”. Например, 11 лет, 22 года, 51 год.

2) Числа a, b, c обозначают дату. Проверить корректность этой даты.

Vladimir_S 26.12.2010 09:16

Цитата:

Сообщение от Ксения)777) (Сообщение 434567)
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.

Какие еще будут распоряжения?


Часовой пояс GMT +4, время: 14:01.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.