в кинозале всего 16×32=512 мест. Сообщение о купленном билете однозначно определяет выбор одного из этих мест. Из уравнения 2 i = 512=29получаем: i=9 бит. Но эту же задачу можно решать иначе. Сообщение о номере ряда несет 4 бита информации, т.к. 24=16. Сообщение о номере места несет 5 бит информации, т.к. 25=32. В целом сообщение про ряд и место несет: 4+5=9 бит информации. Данный пример иллюстрирует выполнение закона активности информации (правило сложения): количество информации в сообщении одновременно о нескольких результатах независимых друг от друга событий равно сумме количеств информации о каждом событии отдельно.
procedure oddDec(var a,b:integer); //подпрограмме переданы аргументы a и b //процедура для вычитания в нечётном элементе begin; a:=a-b; end;
procedure NotoddInc(var a,b:integer); //подпрограмме переданы аргументы a и b //процедура для сложения в чётном элементе begin; a:=a+b; end;
begin randomize; readln(a); //ввод a readln(b); //ввод b writeln('Array:'); for i:=1 to 10 do //весь массив begin; ar[i]:=random(-20,80); //случайные числа от -20 до 80 включительно write(ar[i]:4); //вывод if odd(i) then oddDec(ar[i],b) else NotoddInc(ar[i],a); {если нечётное, то первая процедура, иначе вторая. Обращаю внимания на то, что элементы меняются сразу после вывода} end; writeln; writeln('Final array:'); //вывод получившегося массива for i:=1 to 10 do write(ar[i]:4); end.
Пример ввода: 20 10 Пример вывода: Array: 10 16 0 60 23 4 22 -20 4 55 Final array: 0 36 -10 80 13 24 12 0 -6 75
ответ:var
y,x:real;
begin
write ('X = ');readln(x);
if x<0 then writeln ('Y does not exist') else begin
y:=sqrt(x);
writeln ('Y = ',y:0:4);
end;
readln;
end.
Это?