Срешением
1. считая, что каждый символ кодируется 16 битами, определите информационный объем следующего предложения в кодировке unicode:
когда в товарищах согласья нет,
на лад их дело не пойдет,
и выйдет из него не дело, только мука.
2. рассказ, набранный на компьютере, содержит 2 страницы, на каждой странице 32 строки, в каждой строке 64 символа. определите информационный объём рассказа (кбайт) в одной из кодировок unicode, в которой каждый символ кодируется 16 битами.
3. текст рассказа набран на компьютере. информационный объём получившегося файла 35 кбайт. текст занимает 14 страниц, на каждой странице одинаковое количество строк, в каждой строке 64 символа. все символы представлены в кодировке unicode, в которой каждый символ кодируется 2 байтами. определите, сколько строк помещается на каждой странице.
4. информационное сообщение объёмом 4 кбайта состоит из 1024 символов. каков информационный вес символа этого сообщения? сколько символов содержит алфавит, с которого записано это сообщение?
var a,b,c : Integer;
begin
Randomize;
a:=random(19)-9;
b:=random(19)-9;
c:=random(19)-9;
Writeln(a+' '+b+' '+c);
if((a>b)and(a>c)) then
Writeln('Наибольшее '+a)
else if(b>c) then
Writeln('Наибольшее '+b)
else
Writeln('Наибольшее '+c);
if((a<b)and(a<c)) then
Writeln('Наименьшее '+a)
else if(b<c) then
Writeln('Наименьшее '+b)
else
Writeln('Наименьшее '+c);
end.
т.к. n заранее не дано(и это все лишь фрагмент кода) то m при разных n будет получаться разный. n лежит в промежутке [-2;8]
потому, что тут m:=(l+r)div 2; при n<-2 получается индекс <0
и при n>8 в цикле индекс >7
а массив у нас всего 8 элементов
Поэтому в цикле я вывел все значения m при всех возможных значениях n
Надеюсь понятно объяснил.
при n=-2 m=0
при n=-1 m=0
при n=0 m=0
при n=1 m=1
при n=2 m=2
при n=3 m=3
при n=4 m=4
при n=5 m=5
при n=6 m=6
при n=7 m=6
при n=8 m=6
Pascal
var
a:array [0..7] of integer = (34, 16, 16, 2, 2, 0, -4, -4);
l, n, m, key, r:integer;
flag:boolean;
begin
for n:=-2 to 8 do begin
key:=-4;
L:=1;
r:=n;
flag:=false;
Repeat
m:=(l+r)div 2;
if a[m]>key then
l:=m+1
else
if a[m]=key then
flag:=true
else
r:=m-1;
until flag or (l>r);
writeln('при n=',n,' m=', m);
end;
end.