// PascalABC.NET 3.1, сборка 1198 от 11.03.2016 begin var k:=0; var Terminate:boolean; repeat Terminate:=True; var n:=ReadInteger('Введите номер месяца:'); case n of 1,3,5,7,8,10,12:Writeln('31 день'); 4,6,9,11:Writeln('30 дней'); 2:Writeln('28 дней в обычном году и 29- в високосном') else begin Writeln('Вы ошиблись, номер должен быть от 1 до 12'); Inc(k); Terminate:=False end end until Terminate; if k>0 then Writeln('Вы ошиблись ',k,' раз(а).') end.
Тестовое решение: Введите номер месяца: 18 Вы ошиблись, номер должен быть от 1 до 12 Введите номер месяца: 0 Вы ошиблись, номер должен быть от 1 до 12 Введите номер месяца: 5 31 день Вы ошиблись 2 раз(а).
{
if (tnum < tden)
{
temp = tnum;
tnum = tden;
tden = temp;
}
tnum = tnum - tden;
}
gcd = tden; //вычисляем наибольший общий делитель
numerator = numerator / gcd; //делим числитель и знаменатель на
НОД, получаем сокращенную дробь
denominator = denominator / gcd;