1.Из условия задачи «Для кодирования секретного сообщения используются 12
специальных значков-символов. При этом символы кодируются одним и тем же минимально возможным количеством бит. следует, что для кодирования используется алфавит, мощность которого равна N=12 (все символы алфавита равнозначны). Тогда информационный вес символов одинаков и вычисляется по формуле Хартли i=log212=4 бита. Тогда информационный объем сообщения, согласно алфавитному подходу, измеряется по формуле V=i*k. Значение i мы уже нашли, а k по условию задачи равно 256.
Получаем: V=4 (бита)×256 (символов) =1024 (бита) = 128 (байта).
2.всего используется 26 букв + 10 цифр = 36 символов для кодирования 36 вариантов необходимо использовать 6 бит, так как 2^5=32<36<2^6=64, т.е. пяти бит не хватит (они позволяют кодировать только 32 варианта), а шести уже достаточно таким образом, на каждый символ нужно 6 бит (минимально возможное количество бит).
полный номер содержит 7 символов, каждый по 6 бит, поэтому на номер требуется 6 x 7 = 42 бита.
По условию каждый номер кодируется целым числом байт (в каждом байте – 8 бит), поэтому требуется 6 байт на номер (5x8=40<42<6x8=48), пяти байтов не хватает, а шесть – минимально возможное количество на 20 номеров нужно выделить 20x6=120 байт.
ответ: 120 байт.
3. Всего клеток 8х8 = 64. Для кодирования 1 клетки необходимо 6 бит (2^6=64). В записи решения будет описано 12 клеток (11 ходов+начальная позиция). Объем информации записи 12х6 = 72 бита = 72:8 = 9 байт.
ответ: 9 байт.
4. 76 символов = 76 байт, 76 байт * 8 = 608 бит.
ответ: 608 бит.
5. на один символ было 16 бит, стало 8, таким образом:
8x=16x-240, отсюда:
x=30 символов
6. 4096 = 1024⋅4, 16 бит = 2 байта, 8 бит = 1 байт
Было в Unicode: 212 * 2 = 213 байт
Стало в Windows-1251: 212 байт.
Объём файла уменьшился на 213 байт - 212 байт = 212 байт = 4 Кбайта
ответ: 4.
1.Из условия задачи «Для кодирования секретного сообщения используются 12
специальных значков-символов. При этом символы кодируются одним и тем же минимально возможным количеством бит. следует, что для кодирования используется алфавит, мощность которого равна N=12 (все символы алфавита равнозначны). Тогда информационный вес символов одинаков и вычисляется по формуле Хартли i=log212=4 бита. Тогда информационный объем сообщения, согласно алфавитному подходу, измеряется по формуле V=i*k. Значение i мы уже нашли, а k по условию задачи равно 256.
Получаем: V=4 (бита)×256 (символов) =1024 (бита) = 128 (байта).
2.всего используется 26 букв + 10 цифр = 36 символов для кодирования 36 вариантов необходимо использовать 6 бит, так как 2^5=32<36<2^6=64, т.е. пяти бит не хватит (они позволяют кодировать только 32 варианта), а шести уже достаточно таким образом, на каждый символ нужно 6 бит (минимально возможное количество бит).
полный номер содержит 7 символов, каждый по 6 бит, поэтому на номер требуется 6 x 7 = 42 бита.
По условию каждый номер кодируется целым числом байт (в каждом байте – 8 бит), поэтому требуется 6 байт на номер (5x8=40<42<6x8=48), пяти байтов не хватает, а шесть – минимально возможное количество на 20 номеров нужно выделить 20x6=120 байт.
ответ: 120 байт.
3. Всего клеток 8х8 = 64. Для кодирования 1 клетки необходимо 6 бит (2^6=64). В записи решения будет описано 12 клеток (11 ходов+начальная позиция). Объем информации записи 12х6 = 72 бита = 72:8 = 9 байт.
ответ: 9 байт.
4. 76 символов = 76 байт, 76 байт * 8 = 608 бит.
ответ: 608 бит.
5. на один символ было 16 бит, стало 8, таким образом:
8x=16x-240, отсюда:
x=30 символов
6. 4096 = 1024⋅4, 16 бит = 2 байта, 8 бит = 1 байт
Было в Unicode: 212 * 2 = 213 байт
Стало в Windows-1251: 212 байт.
Объём файла уменьшился на 213 байт - 212 байт = 212 байт = 4 Кбайта
ответ: 4.
Поделитесь своими знаниями, ответьте на вопрос:
Введите с клавиатуры одномерный массив а(к), элементами которого являются положительные и отрицательные числа.подсчитайте сумму положительных и произведение отрицательных.затем сформируйте новый массив в(к) из массива а(к), в котором все положительные элементы замените на произведение отрицательных, а отрицательные на сумму положительных
Pascal
var a,b: array of integer;
i,k,s1,s2: integer;
begin
s1:=0;
s2:=1;
write('Введите количество элементов массива');
readln(k);
setlength(a,k);
setlength(b,k);
for i:=0 to k-1 do
begin
write('Ввод данных для a[',i,']=');
readln(a[i]);
if a[i]>0 then s1:=s1+a[i] else s2:=s2*a[i];
end;
writeln('Данные массива A:');
for i:=0 to k-1 do writeln('a[',i,'] = ',a[i]);
writeln;
writeln('Данные массива B:');
for i:=0 to k-1 do
begin
if a[i]>0 then b[i]:=s2 else b[i]:=s1;
writeln('b[',i,'] = ',b[i]);
end;
end.