В качестве примера равномерного кода можно назвать ASCII-таблицу, где каждому из 256 символов сопоставлено двоичное значение от 00000000 до 11111111. Независимо от вероятности появления символа на его представление отводится 1 байт, или 8 бит. Как известно, национальные языки обладают большой избыточностью, то есть разницей между энтропией источника и максимально возможной энтропией, обусловленной равной вероятностью появления любого символа из алфавита. Например, избыточность русского языка составляет 70%, а английского – 50%. Это в частности означает, что некоторые буквы появляются в тексте гораздо чаще других и поэтому использовать равномерное кодирование нерационально.
<span>При неравномерном кодировании часто встречающимся символам сопоставляются более короткие кодовые последовательности, редко встречающимся – более длинные. За счет этого удается значительно сократить объем файла без потерь информации. Существует несколько методов неравномерного кодирования, важнейших из которых является метод Шеннона-Фано.
как-то так
</span>
#!/usr/bin/python3
import math
a = 1.0
b = 2.0
c = 3.0
A = math.degrees(math.acos(math.radians(((b**2 + c**2 - a**2) / 2 * b * c))))
B = math.degrees(math.acos(math.radians(((a**2 + c**2 - b**2) / 2 * a * c))))
C = math.degrees(math.acos(math.radians(((a**2 + b**2 - c**2) / 2 * a * b))))
ravnobedr = (a == b and a == c) or (a == b and b == c) or (a == c and b == c)
ravostor = a == b == c
priamoug = A == 90 or B == 90 or C == 90
ostroug = A < 90 or B < 90 or C < 90
tupoug = A > 90 or B > 90 or C > 90
print(
'''
равнобедренный {}
равносторонний {}
прямоугольный {}
остроугольный {}
тупоугольный {}
'''.format(
ravnobedr,
ravostor,
priamoug,
ostroug,
tupoug,
)
)
uses crt;
var a:integer;
begin
write('Введите число: ');
readln(a);
if (a mod 13)=0 then write('Число делится без остатка на 13') else write('Число не делится без остатка на 13');
writeln;
if (a mod 10)=7 then write('Число оканчивается на цифру 7') else write('Число не оканчивается на цифру 7');
end.
Если нужно выполнять программу из-под программной оболочки, удали первую строку.
Program time;var x, a, b, c, d: integer;begin readln(x); a:= x div 1000; b:= (x mod 1000) div 100; c:= (x mod 100) div 10; d := x mod 10; writeln(d,c,b,a);end.
Программа числа и промежуток (в Кумире) Ввод чисел через пробел