Представьте с блок-схемы алгоритм решения следующей : "из трех монет одинакового достоинства одна фальшивая (более легкая). как ее найти с одного взвешивания на чашечных весах без гирь? ".
Const n=10; var a:array[1..n] of integer; i,s,min:integer; begin writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(21)-10; write(a[i]:4); end; writeln; s:=0; min:=a[1]; for i:=1 to n do begin if a[i]>0 then s:=s+a[i]; if a[i]<min then min:=a[i]; end; writeln('s = ',s,' min = ',min); for i:=1 to n do if a[i]>0 then a[i]:=s else if a[i]<0 then a[i]:=a[i]-min; writeln('Измененный массив:'); for i:=1 to n do write(a[i]:4); writeln; end.
1) В кодировке КОИ-8 каждый символ кодируется 8-мью битами (1 байтом, т.к 8 бит = 1 байт). Нам требуется перевести 170 КБ в байты ( для упрощения вычислений) = 170 * 1024 = 174 080 байт. После чего находим находим колл-во символов. Делается это очень просто. Нам всего-то нужно разделить объем сообщения на глибину кодировки. Вычисления: 174 080 / 1 = 174 080 символов (почему мы делили на 1? На этот вопрос имеется соотвествующий ответ. При вычислениях, категорически нельзя вычислять разные величины, именно поэтому мы перевели 8 битов в 1 байт)
ответ: 174080 символов
2) В данном задании нам требуется найти общее колл-во символов. Находится это непосредственно делением объема информации на кодировку. Кодировка Unicode кодирует каждый символ 16-ю битами. Вычисления: 72 000 / 2 (перевели биты в байты) = 36 000 символов. После чего найдем общее число строк: 4 * 40 = 160 строк. В условии задачи сказано найти сколько символов использовалось для составления каждой строки. Для этого делим колл-во символов на колл-во строк: 36 000 / 160 = 225 символов.
ответ: 225 символов.
3) Вычислим сколько всего введет секретарь символов за 40 минут : За 1 минуту : 32 * 2 = 64 символа. За 40 минут : 40 * 64 = 2560 символов. Далее нам требуется опеределить сколькими битами кодируется каждый символ. Для этого существует определенная формула N = 2^{I}. Из этого следует то что N = 2^{8}, а это в свою очередь означает что I = 8 бит. У нас есть все что нам нужно: Колл-во символов и глубина кодировки. Действуем! Для того чтобы вычислить колл-во информации нам потребуется умножить колл-во символов на глубину кодировки. Вычисления: 2560 * 8 = ((20 480/8)/1024) = 2.5 КБ