<span>Если вероятности сообщений в наборе p1, ..pN равны между собой, то каждая из них равна 1/N, и формула Шеннона превращается в формулу Хартли.</span>
<em>// PascalABC.NET 3.3, сборка 1634 от 14.02.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var mn:=Arr('январь','февраль','март','апрель','май','июнь',
'июль','август','сентябрь','октябрь','ноябрь','декабрь');
var n:=ReadInteger('Номер месяца');
case n of
12,1,2:Write('Зима');
3,4,5:Write('Весна');
6,7,8:Write('Лето');
9,10,11:Write('Осень');
else begin
Writeln('Неверный номер');
exit
end
end;
Writeln(', ',mn[n-1],', предшествующий ',n=1?mn[11]:mn[n-2],
', следующий ',n=12?mn[0]:mn[n])
end.
<u>Пример</u>
Номер месяца 2
Зима, февраль, предшествующий январь, следующий март
Где русские буквы 8
где английские 14
Пусть первоначально число имело вид abc, После зачеркивания второй цифры оно превратилось в ac, а когда зачеркнутую b приписали справа, получилось acb=456, откуда понятно, что фактически поменяли местами цифры b и c. Поэтому программа должна получить число (456) и поменять в нем последнюю цифру с соседней, получив 465.
<u>MS DOS QBasic 1.0</u>
DIM r AS INTEGER
CLS
INPUT r
b = r MOD 10
a = INT(r / 100)
c = INT(r / 10) MOD 10
r = 100 * a + 10 * b + c
PRINT "x="; r