var k1,k2,k3,k4,k:integer;
begin
writeln('Перед вами программа, которая умеет вычислять количество информации');
writeln('по выбранному наугад шарику из мешка.');
writeln('Введите число шаров белого цвета:');
readln(k1);
writeln('Введите число шаров чёрного цвета:');
readln(k2);
writeln('Введите число шаров синего цвета:');
readln(k3);
writeln('Введите число шаров красного цвета:');
readln(k4);
k:=k1+k2+k3+k4;
if k1<>0 then
writeln('Во фразе «Выпал белый шар» содержится ',log2(k/k1):4:1,' бит(а) информации');
if k2<>0 then
writeln('Во фразе «Выпал чёрный шар» содержится ',log2(k/k2):4:1,' бит(а) информации');
if k3<>0 then
writeln('Во фразе «Выпал синий шар» содержится ',log2(k/k3):4:1,' бит(а) информации');
if k4<>0 then
writeln('Во фразе «Выпал красный шар» содержится ',log2(k/k4):4:1,' бит(а) информации');
end.
Пример:
Перед вами программа, которая умеет вычислять количество информации
по выбранному наугад шарику из мешка.
Введите число шаров белого цвета:
100
Введите число шаров чёрного цвета:
0
Введите число шаров синего цвета:
200
Введите число шаров красного цвета:
100
Во фразе «Выпал белый шар» содержится 2.0 бит(а) информации
Во фразе «Выпал синий шар» содержится 1.0 бит(а) информации
Во фразе «Выпал красный шар» содержится 2.0 бит(а) информации
DIM a(1 TO 12) AS INTEGER
DIM b(1 TO 12) AS INTEGER, c(1 TO 12) AS INTEGER
DIM i AS INTEGER, ib AS INTEGER, ic AS INTEGER
CLS
ib = 0: ic = 0
FOR i = 1 TO 12
READ a(i)
SELECT CASE a(i)
CASE 100
ib = ib + 1
b(ib) = i
CASE IS > 100
ic = ic + 1
c(ic) = i
END SELECT
NEXT i
PRINT "План (100%) в месяцах: ";
FOR i = 1 TO ib
PRINT b(i);
NEXT i
PRINT
PRINT "перевыполнение плана в месяцах ";
FOR i = 1 TO ic
PRINT c(i);
NEXT i
END
Результат выполнения программы:
План (100%) в месяцах: 3 8
перевыполнение плана в месяцах 1 4 6 9 11