40 баллов !!!Напишите программу, которая по порядковому номеру месяца выводит ** экран...

0 голосов
166 просмотров

40 баллов !!!Напишите программу, которая по порядковому номеру месяца выводит на экран время года (через условный оператор if, и с объяснением пожалуйста )


Информатика (533 баллов) | 166 просмотров
0

язык какой?

0

я на python напишу

0

Тут - Паскаль

0

Обязательно через if ? Нельзя через Case ?

0

Обязательно через if

0

только, что отвечал на такой же вопрос))))

0

Причём вопрос этот же человек задал

Дано ответов: 2
0 голосов
Правильный ответ

Var n:integer;
begin
write('n = ');
readln(n);
if n in [1,2,12] then writeln('Зима')
else if n in [3,4,5] then writeln('Весна')
     else if n in [6,7,8] then writeln('Лето')
          else if n in [9,10,11] then writeln('Осень')
               else writeln('Ошибка ввода');
end.

Пример:
n = 3
Весна

(194k баллов)
0 голосов

Тут есть несколько вариантов, как это можно записать:

Если номера месяцев не превысят 12, то есть имеются ввиду только месяцы одного года, то вот так:


Var
N:integer;
Begin
WriteLn('Введите номер месяца');
ReadLn(N);
if (N = 12)or(N = 1)or(N = 2) then WriteLn('Зима') //если N = 12, 1 или 2, то выводим 'Зима', иначе идём по следующей ветке if, проверяем следующее условие
else if (N = 3)or(N = 4)or(N = 5) then WriteLn('Весна') // тут точно также N = 3, 4 или 5, если нет - то проверяем следующее условие
else if (N = 6)or(N = 7)or(N = 8) then WriteLn('Лето')
else if (N = 9)or(N = 10)or(N = 11) then WriteLn('Осень')
End.


Если же номер месяца может превысить 12, то перед проверкой нужно найти остаток от деления этого числа на количество месяцев, то есть на 12. При этом остаток от деления 12 на 12 = 0.

Var
N:integer;
Begin
WriteLn('Введите номер месяца');
ReadLn(N);
N:= N mod 12;
if (N = 0)or(N = 1)or(N = 2) then WriteLn('Зима')
else if (N = 3)or(N = 4)or(N = 5) then WriteLn('Весна')
else if (N = 6)or(N = 7)or(N = 8) then WriteLn('Лето')
else if (N = 9)or(N = 10)or(N = 11) then WriteLn('Осень')
End.

Эти же самые условия можно записать иначе:
if (N>=0)and(N<=2) then<br>или:
if (N>=0)and(N<3) then<br>

(34.0k баллов)
0

Что-то непонятно?