Нужно взять сумму произведений числителей и знаменателей крест накрест, то есть a на d, b на c, и поделить на произведение знаменателей. В математической форме, чтоб понятнее было: . Дальше можно сократить: для удобства запишем получившийся числитель в переменную n, а знаменатель - в m. Найдем для этого наибольший общий делитель, и для данного алгоритма запишем значение m в переменную m1, n в n1, чтобы не портить их значения: Если n1>m1, поменяем значение переменной n1 на n1-m1, если же m1>n1, то сделаем наоборот - присвоим переменной m значение m1-n1, повторим этот алгоритм до тех пор, пока m1>0 и n1>0. После завершения цикла выберем большее число из m и n, и оно будет наиб. общим делителем. Теперь вернемся к дроби m/n. Поделим m и n на получившийся наибольший общий делитель. Выведем получившиеся результаты. m - в качестве числителя, и n - знаменателя. Дроби суммированы.
Var a:integer; Begin Write('Введите номер месяца: '); readln(a); case a of 1:writeln('Январь - Зима'); 2:writeln('Февраль- Зима'); 3:writeln('Март- Весна'); 4:writeln('Апрель- Весна'); 5:writeln('Май- Весна'); 6:writeln('Июнь-Лето'); 7:writeln('Июль- Лето'); 8:writeln('Август- Лето'); 9:writeln('Сентябрь-Осень'); 10:writeln('Октябрь -Осень'); 11:writeln('Ноябрь- Осень'); 12:writeln('Декабрь - Зима'); else writeln('Введено не верное число. Введите число от 1 до 12'); end; end.
Либо упрощённый вариант: Var a:integer; Begin Write('Введите номер месяца: '); readln(a); case a of 1..2:writeln('Зима'); 3..5:writeln('Весна'); 6..8:writeln('Лето'); 9..11:writeln('Осень'); 12:writeln('Зима'); else writeln('Введено не верное число. Введите число от 1 до 12'); end; end.
Begin
Write('Введите номер месяца: '); readln(a);
case a of
1:writeln('Январь - Зима');
2:writeln('Февраль- Зима');
3:writeln('Март- Весна');
4:writeln('Апрель- Весна');
5:writeln('Май- Весна');
6:writeln('Июнь-Лето');
7:writeln('Июль- Лето');
8:writeln('Август- Лето');
9:writeln('Сентябрь-Осень');
10:writeln('Октябрь -Осень');
11:writeln('Ноябрь- Осень');
12:writeln('Декабрь - Зима');
else writeln('Введено не верное число. Введите число от 1 до 12');
end;
end.
Либо упрощённый вариант:
Var a:integer;
Begin
Write('Введите номер месяца: '); readln(a);
case a of
1..2:writeln('Зима');
3..5:writeln('Весна');
6..8:writeln('Лето');
9..11:writeln('Осень');
12:writeln('Зима');
else writeln('Введено не верное число. Введите число от 1 до 12');
end;
end.