А) var s:string; mas:array ['a'..'z'] of longint;{индексы элементов соответствуют латинице} c:char; i:longint; begin read(s); for c:='a' to 'z' do{заполнение нулями элементов массива, для запоминания количества элементов в латинице} mas[c]:=0; for i:=1 to ord(s[0]) do{пробегаем по всей строке ord(s[0]) это количесвто элементов в строке (только паскаль)} mas[s[i]]:=mas[s[i]]+1; for c:='a' to 'z' do{пробегаем по массиву значений и выводим только неповторяющиеся} if(mas[c]=1) then writeln(c); 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 КБ
12