Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

9_Ломтадзе В.В., Шишкина Л.П_Практическая информатика_2011

.pdf
Скачиваний:
171
Добавлен:
26.03.2016
Размер:
3.06 Mб
Скачать

Рис. 2.3. Стандартный диа-

лог Параметры страницы

21

Рис. 2.4. Стандартный диалог Сохранить как

Контрольные вопросы к главе 2

Основные особенности современных программных средств, что такое приложение;

что такое событийная ориентированность, объектная ориентированность программ, для чего используются левая и правая кнопки мыши;

что такое унифицированный интерфейс пользователя, для чего нужны элементы управления в интерфейсе ОС и приложений;

каковы основные элементы управления, назначение каждого из них;

как устроены окна ОС, приложений, документов, папок; что такое диалоговые окна;

что такое файл, каталог, папка; типичные пункты меню и типовые диалоги в интерфейсе современных

приложений.

22

3. ИЗМЕРЕНИЕ КОЛИЧЕСТВА ИНФОРМАЦИИ, ЕЁ КОДИРОВАНИЕ И ХРАНЕНИЕ

3.1.Измерение количества информации

3.1.1.Измерение количества информации через неопределённость знаний

Поскольку информация уменьшает неопределённость знаний, то для измерения её количества можно воспользоваться мерой неопределённости – информационной энтропией, введённой К.Шенноном. Если до получения информации энтропия была равна H1, а после получения сообщения стала равной H2, то количество полученной информации можно измерить разностью энтропий:

I = H1 H2.

Поясним это на примере собаки И.П.Павлова. Пусть собаку кормили (событие B) в интервале времени от 17 до 20 часов, причем обычно после звукового сигнала (событие А). Пусть, например, P(A/B) = 0.9, т.е. событие A предшествовало событию B в 9 случаях из 10. В то же время, звуковой сигнал в этом интервале времени иногда звучал и в тех случаях, когда собаку не кормили (событие B ). Пусть, например, вероятность сигнала в таких случаях равна 0.05, т.е. P(A/B) = 0.05. В этой ситуации около 17:00 собака уже считает, что шансы получить еду (событие B) в ближайшее время и еще не получить ее (событие B ) практически равны. Поэтому априорные вероятности (звукового сигнала еще не было) событий B и B в этот период времени примерно одинаковы:

P(B) = 0.5, P( B) = 0.5.

Пусть теперь прозвучал сигнал (событие A), и, следовательно, по формуле Байеса [ 5 ] можно рассчитать апостериорную вероятность (после опыта) событий

В и B:

P(B/ A)

P(B) P(A/ B)

 

 

0.5 0.9

 

0.45

0.947

 

 

 

 

 

 

 

 

 

 

 

P(B) P(A/ B) P(B) P(A/ B)

0.5 0.9 0.5 0.05

0.45 0.025

 

 

 

 

 

 

 

 

 

 

P(

 

) P(A/

 

 

)

 

 

 

 

0.5 0.05

 

0.025

 

P(

 

/ A)

B

B

 

 

 

0.052

B

 

 

 

 

 

 

 

 

 

 

 

 

P(B) P(A/ B) P(B) P(A/ B)

0.5 0.9 0.5 0.05

0.45 0.025

 

 

 

 

 

 

 

Формула Байеса, по-видимому, довольно точно моделирует процесс принятия решений мыслящими существами при поступлении новой информации. Получив сигнал, собака обрела уверенность в том, что сейчас ее накормят (вероятность этого равна 0.947), и у нее начала выделяться слюна – а это уже безусловный рефлекс, точно такой же, как у человека.

Оценим теперь количество информации, которое получила собака, когда прозвучал сигнал. В нашем примере до звукового сигнала энтропия

H1 = – P(B) Log2 P(B) – P( B) Log2 P( B) = 1.

Другими словами, до звукового сигнала энтропия, являющаяся мерой информационной неопределенности, была максимальна, так как оба возможных события B и B были равновероятны. После сигнала вероятности событий B/A

иB/A стали существенно отличаться друг от друга, и энтропия соответственно

уменьшилась:

23

H2 = – P(B/A) Log2 P(B/A) – P( B/A) Log2 P( B /A) = 0.296.

Следовательно, количество информации, которое получила собака, услышав звуковой сигнал, равно I = H1 – H2 = 0.704.

3.1.2. Количество информации в сообщении о том, что произошло одно из N равновероятных событий

Количество информации в сообщении о том, что произошло одно из N равновероятных событий, рассчитывается по формуле Хартли: I = log2N. Смысл этой формулы становится понятным из простого примера: чтобы узнать, на какой из 8 полок находится требуемая книга, надо получить ответ «да» или «нет» на 3 вопроса:

1)Книга на одной из четырёх верхних полок? Допустим, получен ответ «нет». Заметим, что в этом ответе 1 бит информации.

2)Книга на одной из двух самых нижних полок? Пусть получен ответ «да». В этом ответе также 1 бит информации.

3)Книга на нижней полке? Если получен ответ «нет», а это ещё один бит информации, то ясно, что книга находится на второй снизу полке.

Таким образом, задав три вопроса, мы узнали, что книга находится на второй снизу полке из 8. Поэтому в сообщении «книга на второй из 8 полок» содержится I = log28 = 3 бита информации.

Также заметим, что за единицу количества информации (1 бит) принимается такое её количество, которое содержится в информационном сообщении, уменьшающем неопределенность знания в два раза.

3.1.3. Алфавитный подход к измерению количества информации

Алфавит – это множество из N символов для записи текста; N – мощность алфавита. Например, в коде ASCII 256 символов (N = 256). По формуле Хартли информация о том, что очередной из N равновероятных символов такой-то: I=log2N=8. Значит, 1 символ в тексте, закодированном в ASCII, содержит 8 бит, или 1 байт информации. Если использовать кодировку Unicode, то в 1 символе будет 2 байта информации.

3.2.Кодирование информации

3.2.1.Данные – формализованная информация

Под информацией понимают как исходные данные, т.е. результаты наблюдений или измерений, характеризующие некоторые объекты или явления, так и конечные документы, являющиеся основой для принятия решений. Термин «данные» обычно употребляется по отношению к формализованной информации. Понятие «формализация» тесно связано с понятием «модель». Дело в том, что человек в своей деятельности никогда не рассматривает объект или явление во всех возможных аспектах. Для достижения практических целей

24

всегда выделяются свойства объекта, представляющиеся существенными для решения текущих задач. Другими словами, явление или объект описывается ограниченным набором параметров. Формализованное описание объекта набором параметров, по-существу, и есть построение его модели. От того, насколько при построении модели учтены существенные для круга решаемых задач свойства объектов или явлений, зависит успешность решения этих задач, успешность применения математических методов и средств вычислительной техники.

Итак, информация об объектах и явлениях обычно формализуется. Чаще всего она представляется в виде таблиц: в одной строке таблицы – параметры одного объекта. Кроме табличного, часто применяется графический способ представления информации, причём в форме графиков, карт, схем и чертежей обычно отображаются данные, т.е. формализованная информация. А вот рисунки, фотографии, картины, аудио и видеозаписи – это неформализованная информация, поясняющая и дополняющая формализованные данные.

3.2.2. Системы кодирования, объёмы данных, системы счисления

Для того чтобы записывать информацию перечисленных видов на магнитные, электронные и другие носители, используются системы кодирования. Такие системы разработаны для кодирования текстовой, числовой, графической (чертежи, рисунки, фотографии, картины), аудио (звуковой) и видео (видеофильмы, видеоклипы, анимация) информации. Система кодирования – это совокупность правил кодового обозначения объектов.

При всех видах кодирования информация представляется в виде битов. Бит – это один двоичный разряд: 0 или 1. Для того чтобы закодировать алфа- витно-цифровой символ, число, звук или цвет точки в графическом документе, естественно, не обойтись одним битом. Поэтому для кодирования, хранения и передачи информации биты объединяются в байты – в группы по 8 битов. В одном байте можно закодировать 28 = 256 комбинаций состояний битов – от 00000000 до 11111111. Следовательно, в 1 байте можно закодировать алфа- витно-цифровой символ, а также цвет точки (пикселя) или отрезка линии, если используется не более 256 цветов или оттенков серого цвета. Для кодирования других элементов информации применяются комбинации байтов (по 2, 4, 8 и более). Поэтому объем данных (хранимых или передаваемых), а также емкость запоминающих устройств принято измерять в байтах, килобайтах (1 Кбайт = 1024 байт), мегабайтах (1 Мбайт = 1024 Кбайт), гигабайтах (1 Гбайт = 1024 Мбайт) и терабайтах (1 Тбайт=1024 Гбайт). В одном килобайте можно закодировать примерно полстраницы текста. Следовательно, для кодирования текста одной средней книги (без учёта рисунков) требуется примерно 1 мегабайт памяти. Соответственно в 1 гигабайте можно закодировать приблизительно 1000 книг, но только если не учитывать рисунки.

Для того чтобы записать состояние байта, можно использовать 8 двоичных, 3 десятичных или 2 шестнадцатеричных цифры, т.е. можно воспользоваться одной из систем счисления, применяемых в информационных технологиях. Система счисления – это способ именования и изображения чисел с по-

25

мощью символов, имеющих определенные количественные значения. В двоичной системе два таких символа: 0 и 1. Эта система удобна для хранения информации в электронных устройствах, в которых обычно четко фиксируются два состояния: намагничено – не намагничено, проводит – не проводит и т.п. В десятичной системе счисления 10 символов: 0,1,2,3,4,5,6,7,8,9, а в шестнадцате-

ричной - 16: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Повсеместное распространение именно десятичной системы связано с тем, что человек учился считать на пальцах, а их у него оказалось 10. Для записи содержимого памяти компьютеров гораздо удобнее шестнадцатеричная система. Так содержимое одного полубайта в двоичной, десятичной и шестнадцатеричной системах счисления записывается следующим образом (таблица 3.1).

Таблица 3.1

Запись содержимого полубайта в разных системах счисления

Двоичная система

Десятичная система

Шестнадцатеричная система

0000

0

0

0001

1

1

0010

2

2

0011

3

3

0100

4

4

0101

5

5

0110

6

6

0111

7

7

1000

8

8

1001

9

9

1010

10

A

1011

11

B

1100

12

C

1101

13

D

1110

14

E

1111

15

F

Поскольку байт состоит из двух полубайтов, то содержимое 1 байта памяти всегда можно записать двумя шестнадцатеричными цифрами.

3.2.3. Кодирование текста

Для кодирования алфавитно-цифровой информации обычно применяется код ASCII (American Standard Code for Information Interchange). Для кодирова-

ния одного символа требуется один байт. Коды от 0 до 127 (от 0 до 7F16) используются для кодирования цифр, английских букв и распространённых символов. Например, шестнадцатеричным кодом цифры 0 будет 3016, кодом английской буквы A – 4116. Коды от 128 до 255 (от 8016 до FF16) применяются для кодирования букв национальных алфавитов (в России – русских букв) и симво-

26

лов псевдографики. На персональных компьютерах код ASCII используется при работе под управлением дисковой операционной системы (DOS), а также в текстовом редакторе Блокнот, работающем под управлением операционной системы Windows. Для кодирования символов в большинстве других программ, работающих под управлением различных версий Windows, применяется код ANSI, отличающийся от ASCII в части кодирования букв национальных алфавитов, не совпадающих с английским. Общей чертой этих и некоторых других встречающихся кодировок текста является использование 1 байта для кодирования 1 символа. Для перекодирования текстовой информации (ASCII ANSI, ANSI ASCII и т.п.) используются специальные программы.

В текстовых процессорах (п. 7.1) используется Unicode – один символ кодируется в двух байтах.

3.2.4. Кодирование чисел

Числа в тексте документов представляются в виде символов. Например, число 123708 может быть представлено в виде шести символов, обозначающих цифры. Но в такой кодировке числа не могут участвовать в арифметических операциях. Поэтому в числовых массивах, предназначенных для расчетов, числа кодируются иначе. Например, целое число 123708 в шестнадцатеричной и двоичной системах счисления можно записать так:

123708 = 1E33C (16) = 0001 1110 0011 0011 1100 (2)

Рассматриваемые системы счисления являются позиционными: значение каждой цифры зависит от ее позиции в числе. Позиция 0 (крайняя справа в целой части числа) подразумевает умножение стоящей в ней цифры на основание системы, возведенное в степень 0. Цифра в позиции 1 должна быть умножена на основание системы, возведенное в степень 1 и т.д. Например, цифра 7 в десятичном представлении числа 123708 находится во второй позиции и, следовательно, означает 7 . 102 = 700. Шестнадцатеричное представление числа 123708 можно пояснить следующей записью:

1E33C (16) = 1*16 4 + 14*16 3 + 3*16 2 + 3*16 1 +12*16 0 = 65536+57344+768+48+12 =123708

От шестнадцатеричной записи очень легко перейти к двоичной, заменив

каждую шестнадцатеричную цифру четырьмя двоичными согласно таблице 3.1.

Целые числа обычно хранятся в двухбайтовом (Integer - целое) или че-

тырехбайтовом (Long – длинное целое) формате. В n байтах можно отобра-

зить целое положительное число от 0 до 256 n - 1. Поскольку один из разря-

дов требуется для кодирования знака числа, то максимальное по модулю целое

число, которое можно закодировать в двух байтах, равно 32767 , а в четырех

байтах - 2147483647. При размещении целого числа на регистре арифметиче-

27

ского устройства процессора число «прижимается» к правому краю регистра –

считается, что десятичная точка зафиксирована справа от младшего разряда.

Поэтому по способу представления целые числа называют еще числами с фик-

сированной точкой.

Есть особенности кодирования отрицательных целых чисел. Отрицатель-

ные целые числа могут кодироваться в обратном или дополнительном коде.

Обычно эти особенности поясняют на примере кодирования в одном байте не-

больших чисел. Запишем в одном байте, например, число 17(10) = 21(8) = 010001(2). При этом знаковый разряд для наглядности будем отделять от ос-

тальных семи разрядов запятой. Тогда положительное число 010001(2) в вось-

миразрядной сетке будет иметь вид:

0,0010001

В прямом коде то же самое по модулю, но отрицательное число имело бы вид:

1,0010001

Но в прямом коде отрицательные числа не хранят. Даже если нужно вычесть из

одного положительного числа другое положительное, то второе число пред-

ставляется процессором в обратном или в дополнительном коде (в зависимости

от конструкции процессора) и затем складывается с первым, т.е. операция вы-

читания фактически в процессорах не используется. Если применяется обрат-

ный код, то все разряды, кроме знакового, инвертируются:

1,1101110

Если же применяется дополнительный код, то ещё добавляется 1 в младший

разряд:

1,1101111

Действительные числа кодируются сложнее. По способу представления в разрядной сетке их называют числами с плавающей точкой. Такие числа обычно хранятся в четырехбайтовом (Single – одинарная точность) или в восьмибайтовом (Double – двойная точность) формате. В первом байте кодируются знак числа, знак его порядка и сам порядок, а в остальных байтах мантисса. Например, если бы число 19705.0001 представлялось в разрядной сетке в десятичной системе счисления, то его порядок был бы равен 5, а мантисса 0.197050001, т.е.

19705.0001 = 105 . 0.197050001

Мантисса в разрядной сетке арифметического устройства как бы прижимается к левому краю, причем ноль перед десятичной точкой и сама точка в разрядную сетку не заносятся, а только подразумеваются. Человек, имеющий дело с вычислениями, должен представлять себе, как такие числа складываются и вычитаются. Пусть к рассмотренному уже числу требуется прибавить число

28

0.0001. В нормализованном виде, т.е. с порядком и мантиссой, прижатой к левому краю разрядной сетки, оно будет иметь вид 10-3 . 0.1. Чтобы сложить наши числа, процессор сначала увеличит порядок второго числа до 5, сдвинув мантиссу вправо на 8 разрядов, т.е. денормализует второе число с целью выравнивания порядков. Теперь, когда это число примет вид:

105 . 0.000000001

Процессор сложит мантиссы и при необходимости нормализует результат, прижав его мантиссу к левому краю разрядной сетки с соответствующей коррекцией порядка. Критическим моментом в этой последовательности операций является денормализация меньшего слагаемого. В этот момент младшие разряды его мантиссы могут вытолкнуться из разрядной сетки, если она недостаточно велика, а это приведет к потере точности результата. Поэтому при выборе форматов накапливаемых и хранимых данных (например, в таблицах баз данных) специалист должен представлять диапазон значений признаков – параметров объектов, часто называемых атрибутами.

3.2.5. Кодирование графической информации

Графическая информация представляется в растровых или векторных форматах.

В векторных форматах могут записываться команды для плоттера или принтера: выбрать такой-то цвет, встать в точку с такими-то координатами, провести отрезок прямой в точку с другими координатами и т.п. Такой способ кодирования графических документов (по-существу, в виде команд, хранимых в текстовом файле) компактен, точен, позволяет легко изменять масштаб изображения, но применяется только для представления формализованной информации – графиков, схем, чертежей, карт.

Растровый способ позволяет закодировать любое изображение – картину, фотографию и т.п. Файл, содержащий изображение в растровом формате, обычно получают с помощью цифрового фотоаппарата или сканера – периферийного устройства компьютера, которое оптически сканирует картинку с определенным шагом между линиями сканирования и точками на этих линиях. Для каждой точки запоминается оттенок серого или цвет. При разрешении 600 dpi (точек на дюйм) на каждый дюйм (2.54 см) приходится 600 точек. Следовательно, при сканировании картинки размером 25 . 25 см2 должно быть закодировано около 36 млн. точек. Если цвет одной точки кодировать в двух байтах (стандарт High Color – 65536 цветов), то для хранения такой картины потребуется примерно 70 Мбайт памяти. Поэтому все форматы хранения графических образов предусматривают сжатие информации, которое может осуществляться без потерь (форматы BMP, GIF, TIFF) или с потерями (формат JPEG). В последнее время все чаще применяется формат JPEG (имена файлов имеют расширение JPG), уменьшающий объем данных в десятки раз с потерями, которые не заметны для человеческого глаза. В основе методов сжатия информации чаще всего лежит замена многократного повторения величины указанием числа повторений, а также замена часто повторяющихся величин короткими кодами

29

(метод Хаффмана). Сжатие с потерями основывается на том, что незаметными для глаза флюктуациями цветовых оттенков можно пренебречь, уменьшив тем самым количество кодируемых изменений оттенков цвета.

3.2.6. Кодирование звука

Аудио информация представляется следующим образом: с определенной регулярностью измеряется амплитуда электрического сигнала, и полученные в каждый момент результаты записываются в виде двоичных чисел (оцифровываются). Для высококачественной оцифровки на представление каждого числа отводятся 2 байта. Например, при записи на музыкальный CD (Compact Disk) стандартом является «44.1 Кгц 16 бит стерео». Это означает, что при оцифровке за каждую секунду звучания делается 44100 отсчётов по 16 бит на каждый из двух каналов. Таким образом, для хранения одной секунды идеального стереозвука требуется 44100 (отсчётов) . 2 (байта) . 2 (канала) = 176400 байт, или 172.3 Кбайта. Разумеется, подобный размер не всегда приемлем, и, как и в случае с графической и видеоинформацией, применяются различные способы сжатия. В настоящее время наиболее популярен формат MP3, в которых применяется сжатие с потерями. Этот формат разработан международной организацией MPEG (Motion Pictures Expert Group), занимающейся разработкой стандартов для цифрового сжатия видео и аудиоинформации. При сжатии в 11-12 раз в формате MP3 для записи 1 секунды звучания требуются 128 Кбит, или 16 Кбайт, т.е. в 1 Гбайт памяти «влезает» 18 часов музыки. Такое сжатие считается оптимальным. Допустимы и большие степени сжатия, но тогда потери становятся заметны многим слушателям.

3.2.7. Кодирование видео

Видеоинформация представляется аналогично графической. Ведь каждый кадр видео это просто картинка, к которой применяются описанные выше способы хранения и сжатия графической информации. При этом изображение синхронизировано с аудиоинформацией. На DVD-дисках для кодирования видеоинформации применяется формат MPEG2, а звуковая дорожка кодируется в формате AC3, который отличается наличием нескольких каналов для придания объемного звучания.

В настоящее время графика в формате JPG и звук в формате MP3 поддерживаются не только компьютерными программами (ACDSее, WinAMP и др.), но и почти всеми DVD-плейерами.

30