Двоичное кодирование текстовой информации. Различные кодировки кириллицы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Двоичное кодирование текстовой информации. Различные кодировки кириллицы



Базовые понятия

Код, кодирование, двоичное кодирование, символ, код символа, кодировочная таблица.

 

Обязательно изложить

Если каждому символу какого-либо алфавита сопоставить определенное целое число, то с помощью двоичного кода можно кодировать и текстовую информацию. Для хранения двоичного кода одного символа может быть выделен 1 байт = 8 бит. Учитывая, что каждый бит принимает значение 0 или 1, количество их возможных сочетаний в байте равно 28 = 256. Значит, с помощью 1 байта можно получить 256 разных двоичных кодовых комбинаций и отобразить с их помощью 256 различных символов. Такое количество символов вполне достаточно для представления текстовой информации, включая прописные и заглавные буквы русского и латинского алфавита, цифры, знаки, псевдографические символы и т.д. Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111. Таким образом, человек различает символы по их начертанию, а компьютер — по их коду. Важно, что присвоение символу конкретного кода — это вопрос соглашения, которое фиксируется в кодовой таблице. Кодирование текстовой информации с помощью байтов опирается на несколько различных стандартов, но первоосновой для всех стал стандарт ASCII (American Standard Code for Information Interchange), разработанный в США в Национальном институте ANSI (American National Standards Institute). В системе ASCII закреплены две таблицы кодирования — базовая и расширенная. Базовая таблица закрепляет значения кодов от 0 до 127, а расширенная относится к символам с номерами от 128 до 255. Первые 33 кода (с 0 до 32) соответствуют не символам, а операциям (перевод строки, ввод пробела и т.д.). Коды с 33-го по 127-й являются интернациональными и соответствуют символам латинского алфавита, цифрам, знакам арифметических операций и знакам препинания. Коды с 128-го по 255-й являются национальными, т.е. в национальных кодировках одному и тому же коду соответствуют различные символы.

В языках, использующих кириллический алфавит, в том числе русском, пришлось полностью менять вторую половину таблицы ASCII, приспосабливая ее под кириллический алфавит. В частности, для представле­ния символов кириллицы используется так называе­мая "альтернативная кодировка".

В настоящее время существует несколько различных кодовых таблиц для русских букв (КОИ-8,

СР-1251, СР-866, Mac, ISO), поэтому тексты, созданные в одной кодировке, могут неправильно отображаться в другой.

После появления ОС Windows от фирмы Microsoft выяснилось, что альтернативная кодировка по некоторым причинам для нее не подходит. Передвинув русские буквы в таблице (появилась возможность — ведь псевдографика в Windows не требуется), получили кодировку Windows 1251 (Win-1251).

В настоящее время все большее число программ начинает поддерживать шестнадцатибитовый стандарт Unicode, который позволяет кодировать практически все языки и диалекты жителей Земли в силу того, что кодировка включает в себя 65 536 различных двоичных кодов.

Международная организация по стандартизации (International Organization for Standardization, или IOS) разработала свой код, способный соперничать с Unicode. Здесь для кодирования символов использует­ся комбинация из 32 бит.

 

Желательно изложить

Кодирование и шифрование текста — исторический подход.

Перевод текста из одной кодировки в другую.

 

Ссылка на материалы вопроса

"Информатика" № 12, 2003, с. 3 — 5.

 

3. Практическое задание. Формирование запроса на поиск данных в среде системы управления базами данных

Принципы составления задания

Для организации запросов нужно предложить готовую базу данных, не требуя ее заполнения. Запросов должно быть несколько', причем их можно дифференцировать по сложности для отметок "удовлетворительно, "хорошо", "отлично".

Учащиеся должны продемонстрировать умение соз­давать как простые запросы, так и с использованием логических операций и некоторых простейших функций изучаемой СУБД.

 

Примеры заданий

В качестве вариантов заданий можно использовать материалы задачника-практикума "Информатика. Задачник-практикум в 2 т." / Под ред. И.Г. Семакина, Е.К. Хеннера. Т. 1, 2. М.: Лаборатория Базовых Знаний, 1999.

Примеры запросов можно посмотреть в статье: Брызгалов Е.В., Шестаков А.П. Уроки по Access // Инфор­матика и образование № 7, 2000, с. 18—29.


Ссылка на материалы

"Информатика" № 16, 2002, с. 13—22.


БИЛЕТ № 16

 

1. Алгоритмическая структура "цикл". Циклы со счетчиком и циклы по условию.

2. Двоичное кодирование графической информации. Растр. Пиксель. Глубина цвета.

3. Задача на определение количества информации и преобразование единиц измерения количества информации.

 

1. Алгоритмическая структура "цикл". Циклы со счетчиком и циклы по условию

Базовые понятия

Цикл — последовательность команд (серия, тело цикла), которая может исполняться многократно для разных значений, данных до удовлетворения некоторого условия.

Циклы с неопределенным количеством повторений (по условию) и с параметром (счетчиком).

 

Обязательно изложить

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

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

Для полноты классификации следует добавить, что цикл с условием, в свою очередь, тоже может реализовываться двумя способами. В первом варианте в начале цикла поверяется условие, а затем, если оно истинно, выполняются операторы цикла и происходит возврат на новую проверку; поскольку здесь условие предше­ствует содержимому цикла, то в литературе его при­нято называть циклом с предусловием. Во втором варианте, напротив, сначала цикл выполняется, а затем проверяется условие его завершения: в случае ложности цикл повторяется (иначе заканчивается); такой цикл, когда условие ставится после операторов содержимого, называют "с постусловием". Чаше всего только одна из названных разновидностей цикла наилучшим образом подходит к конкретной задаче. Например, если вы собираетесь удалить пробелы, стоящие в начале строки, то, скорее всего, выберете цикл с предусловием, потому что надо сначала убедиться, что пробел имеется, и только затем его удалять (глупо поступать наоборот — сначала удалять, а потом проверять, стоило ли это делать, хотя в практической жизни такая, с позволения сказать, логика порой встречается...). Зато ввод текста до точки трудно построить иначе как с постусловием, поскольку сначала требуется ввести очередной символ и только потом сравнивать его с точкой.

Часто одни и те же действия требуется выполнить для различных значений параметра: типичная ситуация — подставить числа от 1 до 10 в какую-нибудь формулу. Для решения такого типа задач лучше всего подойдет цикл с параметром, который возьмет на себя автоматическое изменение переменной цикла и ее сравнение с окончательным значением.

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

 

Желательно изложить

Циклы с неопределенным количеством повторений, как правило, не имеют каких-то существенных особенностей реализации в различных языках. А вот цикл с параметром (FOR), напротив, часто обладает теми или иными специфическими свойствами. Например, в языке Бейсик, где параметром цикла может быть только числовая переменная (но зато любого типа), разрешается цикл от 0 до 1 с дробным шагом изменения 0.1. В Паскале параметр цикла не обязательно числовой, но зато он должен являться порядковым (иметь конечный упорядоченный набор допустимых значений). Таким образом, можно строить циклы по целым, символьным (CHAR), логическим, заданным перечнем своих значений и некоторым другим типам переменных, но зато запрещено использование веще­ственных значений1. Фактически в Паскале при каждом новом исполнении цикла берется или следующее, или предыдущее в используемом типе значение. В языке Си цикл FOR еще более интересный. Его заголовок фактически содержит три части: действия по инициализации, действия по проверке окончания цикла и, хотя бы потому, что для вещественных чисел не определено понятие "следующий": в самом деле, какое значение следует после 1.1 - 1.2, 1.11 или 1.101? наконец, действия после каждой итерации. Характерной особенностью является возможность иметь в каждой части произвольное количество операторов, включая вариант их отсутствия. Например,

for (i = 0, j = n - 1; i < n; i++, j —) a[i] = a[j];

Настолько общий подход позволяет вообще написать цикл без содержимого: например, сам оператор организации цикла

for (s=0, i = 1; i < 11; s=s+i, i=i+l) уже вычисляет сумму первых 10 натуральных чисел.

Примечание. Ярые приверженцы Си последние два оператора никогда не напишут иначе, чем s += i, i++, давая возможность компилятору составить чуть более эффективную программу. Но мне хотелось сделать текст более удобочитаемым для тех, чье мышление не связано с конкретными комбинациями значков.

Разумеется, рассказанный в предыдущем абзаце материал не предназначен для включения в ответ це­ликом. Просто подчеркнуто, что ученику желательно раскрыть особенности цикла FOR в том языке, кото­рый он изучал (а приведенные примеры просто указывают те места, где эти особенности надо искать).

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

 

Примечание для учителей

В литературе обычно используется термин "цикл с параметром", а не "цикл со счетчиком".

 

Примечание для учеников

Как обычно, при подготовке вопроса необходимо продумать и подобрать на изученном языке примеры циклических алгоритмов. Вне зависимости от языка при ответе желательно использовать блок-схемы.


2. Двоичное кодирование графической информации. Растр. Пиксель. Глубина цвета

Базовые понятия

Растр — специальным образом организованная со­вокупность точек, на которой представляется изображение.

Пиксель — логический элемент изображения.

 

Обязательно изложить

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

 

Ссылка на материалы вопроса

"Информатика" № 14, 2003, с. 3 — 8.

 



Поделиться:


Последнее изменение этой страницы: 2020-03-13; просмотров: 292; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.80.129.195 (0.038 с.)