Используя табличный код windows 1251 закодируйте слово компьютер
Информатика. 10 класс
Конспект урока
Информатика, 10 класс. Урок № 14.
Тема — Кодирование текстовой информации
Цели и задачи урока:
— познакомиться со способами кодирования и декодирования текстовой информации с помощью кодовых таблиц и компьютера;
— познакомиться со способом определения информационного объема текстового сообщения;
— познакомиться с алгоритмом Хаффмана.
Вся информация в компьютере хранится в двоичном коде. Поэтому надо научиться преобразовывать символы в двоичный код.
Формула Хартли определяет количество информации в зависимости от количества возможных вариантов:
N — это количество вариантов,
i — это количество бит, не обходимых для кодирования.
Если же мы преобразуем эту формулу и примем за N — количество символов в используемом алфавите (назовем это мощностью алфавита), то мы поймем, сколько памяти потребуется для кодирования одного символа.
i — кол-во бит, потребуемых для кодирования
Итак, если в нашем алфавите будет присутствовать только 32 символа, то каждый из них займет только 5 бит.
И тогда каждому символу мы дадим уникальный двоичный код. Такую таблицу мы будем назвать кодировочной.
Первая широко используемая кодировочная таблица была создана в США и называлась ASCII, что в переводе означало American standard code for information interchange. Как вы видите, в таблице присутствуют не только латинские буквы, но и цифры, и даже действия. Каждому символу отводится 7 бит, а значит, всего было закодировано 128 символов.
Но так как этого количества было недостаточно, стали создаваться другие таблицы, в которых можно было закодировать и другие символы. Например, таблица Windows-1251, которая, по сути, являлась изменением таблицы ASCII, в которую добавили буквы кириллицы. Таких таблиц было создано множество: MS-DOS, КОИ-8, ISO, Mac и другие:
Проблема использования таких различных таблиц приводила к тому, что текст, написанный на одном компьютере, мог некорректно читаться на другом. Например:
Поэтому была разработана международная таблица кодировки Unicode, включающая в себя как символы английского, русского, немецкого, арабского и других языков. На каждый символ в такой таблице отводится 16 бит, то есть она позволяет кодировать 65536 символов. Однако использование такой таблицы сильно «утяжеляет» текст. Поэтому существуют различные алгоритмы неравномерной кодировки текста, например, алгоритм Хаффмана.
Идея алгоритма Хаффмана основана на частоте появления символа в последовательности. Символ, который встречается в последовательности чаще всего, получает новый очень маленький код, а символ, который встречается реже всего, получает, наоборот, очень длинный код.
Пусть нам дано сообщение aaabcbeeffaabfffedbac.
Чтобы узнать наиболее выгодный префиксный код для такого сообщения, надо узнать частоту появления каждого символа в сообщении.
Подсчитайте и внесите в таблицу частоту появления каждого символа в сообщении:
У вас должно получиться:
Расположите буквы в порядке возрастания их частоты.
Теперь возьмем два символа с наименьшей чистотой и представим их листьями в дереве, частота которого будет равна сумме частот этих листьев.
Символы d и c превращаются в ветку дерева:
Проделываем эти шаги до тех пор, пока не получится дерево, содержащее все символы.
Итак, сортируем таблицу:
Объединяем символ e и символ cd в ветку дерева:
Получился префиксный код. Теперь осталось расставить 1 и 0. Пусть каждая правая ветвь обозначает 1, а левая — 0.
Составляем код буквы, идя по ветке дерева от буквы к основанию дерева.
Тогда код для каждой буквы будет:
Закодируйте ASCII кодом слово MOSCOW.
Составим таблицу и поместим туда слово MOSCOW. Используя таблицу ASCII кодов, закодируем все буквы слова:
Пример 1. Закодировать слово «Компьютер» в виде последовательности десятичных и шестнадцатеричных чисел, используя кодировку СР1251
Закодировать слово «Компьютер» в виде последовательности десятичных и шестнадцатеричных чисел, используя кодировку СР1251. Какие символы будут отображены в кодовых таблицах СР866 и КОИ8-Р при использовании полученного кода.
Последовательности шестнадцатеричного и двоичного кода слова «Компьютер» на основе кодировочной таблицы СР1251 (см. рис. 3.3, б) будут выглядеть следующим образом:
Данная кодовая последовательность в кодировках СР866 и КОИ8-Р приведет к отображению следующих символов:
Для преобразования русскоязычных текстовых документов из одного стандарта кодирования текстовой информации в другой используются специальные программы – конверторы. Конверторы обычно встраиваются в другие программы. Примером может служить программа браузер – Internet Explorer (IE), которая имеет встроенный конвертор. Программа браузер – это специальная программа для просмотра содержимого Web-страниц в глобальной компьютерной сети Интернет. Воспользуемся этой программой для подтверждения полученного в примере 1 результата отображения символов. Для этого выполним следующие действия.
1. Запустим программу Блокнот (NotePad). Программа Блокнот в операционной системеWindows ХР запускается с помощью команды: [Кнопка Пуск – Программы – Стандартные – Блокнот]. В открывшемся окне программы Блокнот напечатаем слово «Компьютер» с использованием синтаксиса языка разметки гипертекстовых документов – HTML (Hyper Text Markup Language). Этот язык используется для создания документов в Интернете. Текст должен выглядеть следующим образом:
Компыотер
Рис. 5. Отображение текста в окне Блокнот
Сохраним этот текст, выполнив команду: [Файл – Сохранить как…] в соответствующей папке компьютера, при сохранении текста файлу присвоим имя – Прим, с расширением файла. html.
2. Запустим программу Internet Explorer, выполнив команду: [Кнопка Пуск – Программы –Internet Explorer]. При запуске программы появится окно, представленное на рис. 6
Рис. 3.6. Окно доступа в автономный режим
Выберем и активизируем кнопку Автономнопри этом не произойдет подключение компьютера к глобальной сети Интернет. Появится основное окно программы Microsoft Internet Explorer, представленное на рис. 7.
Рис. 7. Основное окно Microsoft Internet Explorer
Выполним следующую команду: [Файл – Открыть], появится окно (рис. 8), в котором необходимо указать имя файла и нажать кнопку ОК или нажать кнопку Обзор…и найти файл Прим.html.
Рис. 8. Окно «Открыть»
Основное окно программы Internet Explorer примет вид, показанный на рис. 9. В окне отобразится слово «Компьютер». Далее, используя верхнее меню программы Internet Explorer, выполним следующую команду: [Вид – Кодировка – Кириллица (DOS)]. После выполнения этой команды в окне программы Internet Ехplorer отобразятся символы, показанные на рис. 10. При выполнении команды: [Вид – Кодировка – Кириллица (KOI8-R) ] в окне программы Internet Explorer отобразятся символы, показанные на рис. 11.
Рис. 9. Символы, отображаемые при кодировке СР1251
Рис. 10. Символы, отображаемые при включении кодировки СР866 для кодовой последовательности, представляемой в кодировке СР1251
Рис. 11. Символы, отображаемые при включении кодировки КОИ8-Р для кодовой последовательности, представляемой в кодировке СР1251
Таким образом, полученные с помощью программы Internet Explorer последовательности символов совпадают с последовательностями символов, полученных с помощью кодовых таблиц СР866 и КОИ8-Р в примере 1.
Урок 12
Представление нечисловой информации в компьютере
Представление текстовой информации в компьютереИзучив эту тему, вы узнаете и повторите: — как в компьютере представляется текстовая информация; Компьютеры не с самого рождения могли обрабатывать символьную информацию. Лишь с конца 60-х годов они стали использоваться для обработки текстов и в настоящее время большинство пользователей ПК занимаются вводом, редактированием и форматированием текстовой информации. 1. Таблица кодирования ASCII.А теперь «заглянем» в память компьютера и разберемся, как же представлена в нем текстовая информация. Текстовая информация состоит из символов: букв, цифр, знаков препинания, скобок и других. Мы уже говорили, что множество всех символов, с помощью которых записывается текст, называется алфавитом, а число символов в алфавите — его мощностью. Для представления текстовой информации в компьютере используется алфавит мощностью 256 символов. Мы знаем, что один символ такого алфавита несет 8 битов информации: 2 в 8 степени равно 256. 8 битов = 1 байт, следовательно: Один символ в компьютерном тексте занимает 1 байт памяти. Как мы выяснили, традиционно для кодирования одного символа используется 8 бит. И, когда люди определились с количеством бит, им осталось договориться о том, каким кодом кодировать тот или иной символ, чтобы не получилось путаницы, т.е. необходимо было выработать стандарт – все коды символов сохранить в специальной таблице кодов. В первые годы развития вычислительной техники таких стандартов не существовало, а сейчас наоборот, их стало очень много, но они противоречивы. Первыми решили эти проблемы в США, в институте стандартизации. Этот институт ввел в действие таблицу кодов ASCII (AmericanStandardCodeforInformationInterchange – стандартный код информационного обмена США). Рассмотрим таблицу кодов ASCII. Пояснение: раздать учащимся распечатанную таблицу кодов ASCII. Таблица ASCII разделена на две части. Первая – стандартная – содержит коды от 0 до 127. Вторая – расширенная – содержит символы с кодами от 128 до 255. Первые 32 кода отданы производителям аппаратных средств и называются они управляющие, т.к. эти коды управляют выводом данных. Им не соответствуют никакие символы. Коды с 32 по 127 соответствуют символам английского алфавита, знакам препинания, цифрам, арифметическим действиям и некоторым вспомогательным символам. Коды расширенной части таблицы ASCII отданы под символы национальных алфавитов, символы псевдографики и научные символы. Стандартная часть таблицы кодов ASCII Если вы внимательно посмотрите на обе части таблицы, то увидите, что все буквы расположены в них по алфавиту, а цифры – по возрастанию. Этот принцип последовательного кодирования позволяет определить код символа, не заглядывая в таблицу. Коды цифр берутся из этой таблицы только при вводе и выводе и если они используются в тексте. Если же они участвуют в вычислениях, то переводятся в двоичную систему счисления. Коды национального (русского) алфавита расширенной частитаблицы ASCII Альтернативные системы кодирования кириллицы.Тексты, созданные в одной кодировке, не будут правильно отображаться в другой.В настоящее время для поддержки букв русского алфавита (кириллицы) существует несколько кодовых таблиц (кодировок), которые используются различными операционными системами, что является существенным недостатком и в ряде случаев при-водит к проблемам, связанным с операциями декодирования числовых значений символов. Для разных типов ЭВМ используются различные кодировки: В настоящее время существует 5 кодовых таблиц для русских букв: Windows (СР(кодовая страница)1251), MS – DOS (СР(кодовая страница)866), KOИ – 8 (Код обмена информацией, 8-битный) (используется в OS UNIX), Mac (Macintosh), ISO (OS UNIX). Одним из первых стандартов кодирования кириллицы на компьютерах был стан-дарт КОИ-8. Национальная часть кодовой таблицы стандарта КОИ8-Р В настоящее время применяется и кодовая таблица, размещенная на странице СР866 стандарта кодирования текстовой информации, которая используется в операционной системе MS DOS или сеансе работы MS DOS для кодирования кириллицы. Национальная часть кодовой таблицы СР866 В настоящее время для кодирования кириллицы наибольшее распространение получила кодовая таблица, размещенная на странице СР1251 соответствующего стандарта, которая используется в операционных системах семейства Windows фирмы Microsoft. Национальная часть кодовой таблицы СР1251 Во всех представленных кодовых таблицах, кроме таблицы стандарта Unicode, для кодирования одного символа отводится 8 двоичных разрядов (8 бит). В мире существует примерно 6800 различных языков. Если прочитать текст, напечатанный в Японии на компьютере в России или США, то понять его будет нельзя. Чтобы буквы любой страны можно было читать на любом компьютере, для их кодировки стали использовать 2 байта (16 бит). Основополагающая таблица использования кодового пространства Unicode Использование Unicode значительно упрощает создание многоязычных документов, публикаций и программных приложений. Рассмотрим примеры. 1) Представьте в форме шестнадцатеричного кода слово «ЭВМ» во всех пяти кодировках. Воспользуемся компьютерным калькулятором для перевода чисел из десятичной в шестнадцатеричную систему счисления. Последовательности десятичных кодов слова «ЭВМ» в различных кодировках составляем на основе кодировочных таблиц: Переводим с помощью калькулятора последовательности кодов из десятичной системы в шестнадцатеричную: 2) Определить числовой код символа в кодировке Unicode с помощью тексто-вого редактора MicrosoftWord. 1. В операционной системе Windows запустить текстовый редактор MicrosoftWord. 2. В текстовом редакторе MicrosoftWord ввести команду [Вставка-Символ…]. На экране появится диалоговое окно Символ. Центральную часть диалогового окна занимает фрагмент таблицы символов. 3. Для определения числового кола знака кириллицы с помощью раскрывающегося списка Набор: выбрать пункт кириллица. 4. Для определения шестнадцатеричного числового кода символа в кодировке Unicode с помощью раскрывающегося списка из: выбрать тип кодировки Юникод (шестн.). 5. В таблице символов выбрать символ Э. В текстовом поле кодзнака : появится его шестнадцатеричный числовой код (в данном случае 042D). Решите задачи:№1. Закодируйте с помощью таблицы ASCII слова: А) Excel; Б) Access; В) Windows; Г) ИНФОРМАЦИЯ. №2. Буква «i» в таблице кодов имеет код 105. Не пользуясь таблицей, расшифруйте следующую последовательность кодов: 102, 105, 108, 101. №3. Десятичный код буквы «е» в таблице ASCII равен 101. Не пользуясь таблицей, составьте последовательность кодов, соответствующих слову help. №4. Десятичный код буквы «i» в таблице ASCII равен 105. Не пользуясь таблицей, составьте последовательность кодов, соответствующих слову link. №5. Декодируйте следующие тексты, заданные десятичным кодом: №6. Во сколько раз увеличится информационный объем страницы текста при его преобразовании из кодировки Windows 1251 (таблица кодировки содержит 256 символов) в кодировку Unicode (таблица кодировки содержит 65536 символов)? №7. Каков информационный объем текста, содержащего слово ПРОГРАММИРОВАНИЕ: №8. Текст занимает ¼ Кбайта. Какое количество символов он содержит? №9. Текст занимает полных 6 страниц. На каждой странице размещается 30 строк по 80 символов. Определить объем оперативной памяти, который займет этот текст. №10. Свободный объем оперативной памяти компьютера 320 Кбайт. Сколько страниц книги поместится в ней, если на странице: №11. Текст занимает 20 секторов на двусторонней дискете объемом 360 Кбайт. Дискета разбита на 40 дорожек по 9 секторов. Сколько символов содержит текст? Кодирование текстовой информацииI. Организационный момент (1 мин) Проверка готовности рабочего места (учебник, тетрадь, дневник, ручка, карандаш). II. Актуализация опорных знаний В кинотеатре 16 рядов по 32 места в каждом. Какое количество информации в битах содержит сообщение о том, что продан один билет в 8-м ряду место № 4? N = 16 • 32 = 2 9 В одном из способов представления Unicode каждый символ закодирован 2 байтами. Определите информационный объем следующего предложения в данном представлении: 1) 41 байт 2) 74 байта 3) 592 бита 4) 656 бит 41 * 2 = 82 байта = 656 бит III.Самостоятельная работа Задание 1. Загадано число из промежутка от 1 до 64. Какое количество информации необходимо для угадывания числа из этого промежутка? Задание 2. При составлении сообщения использовали 128-символьный алфавит. Каким будет информационный объем такого сообщения, если оно содержит 2048 символов? Задание 3. Сообщение занимает 2 страницы. На каждой странице по 80 строк. В каждой строке по 32 символа. Найдите информационный объем такого текста, если при его составлении использовали 256-символьный алфавит. Задание 1. Загадано число из промежутка от 1 до 128. Какое количество информации необходимо для угадывания числа из этого промежутка? Задание 2. При составлении сообщения использовали 64-символьный алфавит. Каким будет информационный объем такого сообщения, если оно содержит 3072 символа? Задание 3. Сообщение занимает 3 страницы. На каждой странице по 48 строк. В каждой строке по 64 символов. Найдите информационный объем такого текста, если при его составлении использовали 256-символьный алфавит. IV. Изучение нового материала Начиная с конца 60-х годов, компьютеры все больше стали использоваться для обработки текстовой информации и в настоящее время большая часть персональных компьютеров в мире (и наибольшее время) занято обработкой именно текстовой информации. Важно, что присвоение символу конкретного кода – это вопрос соглашения, которое фиксируется в кодовой таблице. Первые 33 кода (с 0 по 32) соответствуют не символам, а операциям (перевод строки, ввод пробела и так далее). Коды с 33 по 127 являются интернациональными и соответствуют символам латинского алфавита, цифрам, знакам арифметических операций и знакам препинания. Коды с 128 по 255 являются национальными, то есть в национальных кодировках одному и тому же коду соответствуют различные символы. Кодовая таблица – это таблица соответствий символов и их компьютерных кодов. Исторически сложилось так, что в России есть несколько несовместимых кодировок, то есть одинаковые символы имеют различные коды в разных кодировках. Имеет два недостатка: • строчная буква я имеет код 0xFF (255 в десятичной системе). Она является виновницей ряда неожиданных проблем в программах без поддержки чистого 8-го бита, а также использующих этот код как служебный; Для включения символов, например, русского алфавита возникла необходимость включения 8-го разряда, что позволило увеличить количество кодов таблицы ASCII до 255. Оставшуюся часть кодов использовали для кодирования символов псевдографики, которые можно использовать, например, для оформления в тексте различных рамок и текстовых таблиц. Полный набор символов, используемый для кодирования текста, называется алфавитом или азбукой. Этот алфавит представлен в кодовых таблицах. V. Вычислительный практикум – Сегодня мы займемся кодированием и декодированием текстовой информации, используя различные кодировки русского алфавита. 1. С использованием кодовой таблицы Windows (CP-1251) закодируйте слова «информатика», «АЛГОРИТМ», «система счисления». 2. Закодируйте с помощью кодировочной таблицы ASCII и представьте в шестнадцатеричной системе счисления следующие тексты: а) Password; б) Windows; в) Norton Commander. а) 50 61 73 73 77 6F 72 64; 3. Декодируйте с помощью кодировочной таблицы ASCII следующие тексты, заданные шестнадцатеричным кодом: а) 54 6F 72 6Е 61 64 6F; a) Tornado; 4. Декодируйте следующие тексты, заданные десятичным кодом: а) 087 111 114 100; В программе Блокнот набираем код на дополнительной клавиатуре при нажатой клавише Alt. Word VOS Paintbrush 5. Представьте в форме шестнадцатеричного кода слово «БИС» во всех пяти кодировках. 6. Как будет выглядеть слово «диск», записанное в кодировке СР1251, в других кодировках. VI. Инструктаж по выполнению домашнего задания Задание: закодировать свое имя в двух кодировочных таблицах VII. Итог урока (2 мин.) Учитель: Мы учились кодировать и декодировать информацию, используя различные кодировочные таблицы русского языка.
|