Текстові процесори та видавничі системи використовують спеціально розроблені формати файлів, що містять не тільки текст, а й відомості про те як він має бути оформлений. Ці додаткові відомості називають
При хранении и передаче информации с технических устройств информацию следует рассматривать как последовательность символов - знаков (букв, цифр, кодов цветов точек изображения и т.д.).Набор символов знаковой системы (алфавит) можно рассматривать как различные возможные состояния (события). Тогда, если считать, что появление символов в сообщении равновероятно, количество возможных событий N можно вычислить как N=2i Количество информации в сообщении I можно подсчитать умножив количество символов K на информационный вес одного символа i Итак, мы имеем формулы, необходимые для определения количества информации в алфавитном подходе:N=2iiИнформационный вес символа, битNМощность алфавитаI=K*iKКоличество символов в текстеIИнформационный объем текста
Возможны следующие сочетания известных (Дано) и искомых (Найти) величин:
ТипДаноНайтиФормула1iNN=2i2Ni3i,KII=K*i4i,IK5I, Ki6N, KIОбе формулы7N, IK8I, KNЕсли к этим задачам добавить задачи на соотношение величин, записанных в разных единицах измерения, с использованием представления величин в виде степеней двойки мы получим 9 типов задач. Рассмотрим задачи на все типы. Договоримся, что при переходе от одних единиц измерения информации к другим будем строить цепочку значений. Тогда уменьшается вероятность вычислительной ошибки.
Задача 1. Получено сообщение, информационный объем которого равен 32 битам. чему равен этот объем в байтах?
Решение: В одном байте 8 бит. 32:8=4 ответ: 4 байта.
Задача 2. Объем информацинного сообщения 12582912 битов выразить в килобайтах и мегабайтах.
Решение: Поскольку 1Кбайт=1024 байт=1024*8 бит, то 12582912:(1024*8)=1536 Кбайт и поскольку 1Мбайт=1024 Кбайт, то 1536:1024=1,5 Мбайт ответ:1536Кбайт и 1,5Мбайт.
Задача 3. Компьютер имеет оперативную память 512 Мб. Количество соответствующих этой величине бит больше:
Задача 4. Определить количество битов в двух мегабайтах, используя для чисел только степени 2. Решение: Поскольку 1байт=8битам=23битам, а 1Мбайт=210Кбайт=220байт=223бит. Отсюда, 2Мбайт=224бит. ответ: 224бит.
Задача 5. Сколько мегабайт информации содержит сообщение объемом 223бит? Решение: Поскольку 1байт=8битам=23битам, то 223бит=223*223*23бит=210210байт=210Кбайт=1Мбайт. ответ: 1Мбайт
Задача 6. Один символ алфавита "весит" 4 бита. Сколько символов в этом алфавите? Решение: Дано:
Задача 8. Алфавит русского языка иногда оценивают в 32 буквы. Каков информационный вес одной буквы такого сокращенного русского алфавита? Решение: Дано:
Задача 10. У племени "чичевоков" в алфавите 24 буквы и 8 цифр. Знаков препинания и арифметических знаков нет. Какое минимальное количество двоичных разрядов им необходимо для кодирования всех символов? Учтите, что слова надо отделять друг от друга! Решение: Дано:
Задача 11. Книга, набранная с компьютера, содержит 150 страниц. На каждой странице — 40 строк, в каждой строке — 60 символов. Каков объем информации в книге? ответ дайте в килобайтах и мегабайтах Решение: Дано:
K=360000Определим количество символов в книге 150*40*60=360000. Один символ занимает один байт. По формуле I=K*iнаходим I=360000байт 360000:1024=351Кбайт=0,4МбайтНайти: I- ? ответ: 351Кбайт или 0,4Мбайт
Задача 12. Информационный объем текста книги, набранной на компьютере с использованием кодировки Unicode, — 128 килобайт. Определить количество символов в тексте книги. Решение: Дано:
I=128Кбайт,i=2байтВ кодировке Unicode один символ занимает 2 байта. Из формулыI=K*i выразим K=I/i,K=128*1024:2=65536Найти: K- ? ответ: 65536
Задача 13.Информационное сообщение объемом 1,5 Кб содержит 3072 символа. Определить информационный вес одного символа использованного алфавита Решение: Дано:
//Данная программа вычисляет детерминант матрицы //PascalABC.NET 3.2 сборка 1318
Var c:char; Reci:array of integer; ma:array of array of integer; n,nc,ip:integer; resf:real;
function minor(ip,i,n:integer; var reci:array of integer):real; Var ic,j,c,ipp,icc:integer; res:real; b:boolean; arf:array[1..4] of integer; begin b:=true; c:=0; reci[ip]:=i; ipp:=ip+1; if ipp=nc-1 then begin for ic:=1 to n do begin for j:=1 to ip do if ic=reci[j] then b:=false; if b=true then begin inc(c); arf[c]:=ma[ipp,ic]; end; b:=true; end; inc(ipp); for ic:=1 to n do begin for j:=1 to ip do if ic=reci[j] then b:=false; if b=true then begin inc(c); arf[c]:=ma[ipp,ic]; end; b:=true; end; minor:=arf[1]*arf[4]-arf[2]*arf[3]; end else begin for ic:=1 to n do begin for j:=1 to ip do if ic=reci[j] then b:=false; if b=true then res+=ma[ipp,ic]*power(-1,ipp+i)*minor(ipp,ic,n,reci); b:=true; end; minor:=res; end; end;
procedure start(); Var i,j:integer; begin write('Введите количество строк и столбцов:'); readln(n); ip:=1; nc:=n; setlength(Reci,n+1); setlength(ma,n+1); for i:=1 to n do setlength(ma[i],n+1); writeln('Введите матрицу:'); for i:=1 to n do for j:=1 to n do readln(ma[i][j]); for i:=1 to n do resf+=ma[ip][i]*power(-1,ip+i)*minor(ip,i,n,reci); writeln('Res:',resf); end;
begin repeat readln(c); until c in ['Z','z','Y','y']; if c in ['Y','y'] then halt else start(); end.
Пример работы программы: 3 //введено ни z, ни y, повторяем ввод z //продолжаем программу Введите количество строк и столбцов:3 Введите матрицу: 9 1 2 8 3 7 4 6 5 Res:-183
Тогда, если считать, что появление символов в сообщении равновероятно, количество возможных событий N можно вычислить как N=2i
Количество информации в сообщении I можно подсчитать умножив количество символов K на информационный вес одного символа i
Итак, мы имеем формулы, необходимые для определения количества информации в алфавитном подходе:N=2iiИнформационный вес символа, битNМощность алфавитаI=K*iKКоличество символов в текстеIИнформационный объем текста
Возможны следующие сочетания известных (Дано) и искомых (Найти) величин:
ТипДаноНайтиФормула1iNN=2i2Ni3i,KII=K*i4i,IK5I, Ki6N, KIОбе формулы7N, IK8I, KNЕсли к этим задачам добавить задачи на соотношение величин, записанных в разных единицах измерения, с использованием представления величин в виде степеней двойки мы получим 9 типов задач.Рассмотрим задачи на все типы. Договоримся, что при переходе от одних единиц измерения информации к другим будем строить цепочку значений. Тогда уменьшается вероятность вычислительной ошибки.
Задача 1. Получено сообщение, информационный объем которого равен 32 битам. чему равен этот объем в байтах?
Решение: В одном байте 8 бит. 32:8=4
ответ: 4 байта.
Задача 2. Объем информацинного сообщения 12582912 битов выразить в килобайтах и мегабайтах.
Решение: Поскольку 1Кбайт=1024 байт=1024*8 бит, то 12582912:(1024*8)=1536 Кбайт и
поскольку 1Мбайт=1024 Кбайт, то 1536:1024=1,5 Мбайт
ответ:1536Кбайт и 1,5Мбайт.
Задача 3. Компьютер имеет оперативную память 512 Мб. Количество соответствующих этой величине бит больше:
1) 10 000 000 000бит 2) 8 000 000 000бит 3) 6 000 000 000бит 4) 4 000 000 000бит Решение: 512*1024*1024*8 бит=4294967296 бит.ответ: 4.
Задача 4. Определить количество битов в двух мегабайтах, используя для чисел только степени 2.
Решение: Поскольку 1байт=8битам=23битам, а 1Мбайт=210Кбайт=220байт=223бит. Отсюда, 2Мбайт=224бит.
ответ: 224бит.
Задача 5. Сколько мегабайт информации содержит сообщение объемом 223бит?
Решение: Поскольку 1байт=8битам=23битам, то
223бит=223*223*23бит=210210байт=210Кбайт=1Мбайт.
ответ: 1Мбайт
Задача 6. Один символ алфавита "весит" 4 бита. Сколько символов в этом алфавите?
i=4По формуле N=2i находим N=24, N=16Найти: N - ?Решение:
Дано:
ответ: 16
Задача 7. Каждый символ алфавита записан с цифр двоичного кода. Сколько символов в этом алфавите?
i=8По формуле N=2i находим N=28, N=256Найти:N - ?Решение:
Дано:
ответ: 256
Задача 8. Алфавит русского языка иногда оценивают в 32 буквы. Каков информационный вес одной буквы такого сокращенного русского алфавита?
N=32По формуле N=2i находим 32=2i, 25=2i,i=5Найти: i- ?Решение:
Дано:
ответ: 5
Задача 9. Алфавит состоит из 100 символов. Какое количество информации несет один символ этого алфавита?
N=100По формуле N=2i находим 32=2i, 25=2i,i=5Найти: i- ?Решение:
Дано:
ответ: 5
Задача 10. У племени "чичевоков" в алфавите 24 буквы и 8 цифр. Знаков препинания и арифметических знаков нет. Какое минимальное количество двоичных разрядов им необходимо для кодирования всех символов? Учтите, что слова надо отделять друг от друга!
N=24+8=32По формуле N=2i находим 32=2i, 25=2i,i=5Найти: i- ?Решение:
Дано:
ответ: 5
Задача 11. Книга, набранная с компьютера, содержит 150 страниц. На каждой странице — 40 строк, в каждой строке — 60 символов. Каков объем информации в книге? ответ дайте в килобайтах и мегабайтах
K=360000Определим количество символов в книге 150*40*60=360000. Один символ занимает один байт. По формуле I=K*iнаходим I=360000байт 360000:1024=351Кбайт=0,4МбайтНайти: I- ?Решение:
Дано:
ответ: 351Кбайт или 0,4Мбайт
Задача 12. Информационный объем текста книги, набранной на компьютере с использованием кодировки Unicode, — 128 килобайт. Определить количество символов в тексте книги.
I=128Кбайт,i=2байтВ кодировке Unicode один символ занимает 2 байта. Из формулыI=K*i выразим K=I/i,K=128*1024:2=65536Найти: K- ?Решение:
Дано:
ответ: 65536
Задача 13.Информационное сообщение объемом 1,5 Кб содержит 3072 символа. Определить информационный вес одного символа использованного алфавита
I=1,5Кбайт,K=3072Из формулы I=K*i выразим i=I/K,i=1,5*1024*8:3072=4Найти: i- ?Решение:
Дано:
ответ: 4
Задача 14.Сообщение, записанное буквами из 64-символьного алфавита, содержит 20 символов. Какой объем информации оно несет?
N=64, K=20По формуле N=2i находим 64=2i, 26=2i,i=6. По формуле I=K*i I=20*6=120Найти: I- ?Решение:
Дано:
ответ: 120бит
//PascalABC.NET 3.2 сборка 1318
Var
c:char;
Reci:array of integer;
ma:array of array of integer;
n,nc,ip:integer;
resf:real;
function minor(ip,i,n:integer; var reci:array of integer):real;
Var
ic,j,c,ipp,icc:integer;
res:real;
b:boolean;
arf:array[1..4] of integer;
begin
b:=true;
c:=0;
reci[ip]:=i;
ipp:=ip+1;
if ipp=nc-1 then
begin
for ic:=1 to n do
begin
for j:=1 to ip do
if ic=reci[j] then
b:=false;
if b=true then
begin
inc(c);
arf[c]:=ma[ipp,ic];
end;
b:=true;
end;
inc(ipp);
for ic:=1 to n do
begin
for j:=1 to ip do
if ic=reci[j] then
b:=false;
if b=true then
begin
inc(c);
arf[c]:=ma[ipp,ic];
end;
b:=true;
end;
minor:=arf[1]*arf[4]-arf[2]*arf[3];
end
else
begin
for ic:=1 to n do
begin
for j:=1 to ip do
if ic=reci[j] then b:=false;
if b=true then
res+=ma[ipp,ic]*power(-1,ipp+i)*minor(ipp,ic,n,reci);
b:=true;
end;
minor:=res;
end;
end;
procedure start();
Var
i,j:integer;
begin
write('Введите количество строк и столбцов:');
readln(n);
ip:=1;
nc:=n;
setlength(Reci,n+1);
setlength(ma,n+1);
for i:=1 to n do
setlength(ma[i],n+1);
writeln('Введите матрицу:');
for i:=1 to n do
for j:=1 to n do
readln(ma[i][j]);
for i:=1 to n do
resf+=ma[ip][i]*power(-1,ip+i)*minor(ip,i,n,reci);
writeln('Res:',resf);
end;
begin
repeat
readln(c);
until c in ['Z','z','Y','y'];
if c in ['Y','y'] then halt else start();
end.
Пример работы программы:
3 //введено ни z, ни y, повторяем ввод
z //продолжаем программу
Введите количество строк и столбцов:3
Введите матрицу:
9
1
2
8
3
7
4
6
5
Res:-183