Имя материала: Методика преподавания информатики

Автор: М.П.ЛАПЧИК

9.1. представление данных в компьютере

 

Изучаемые вопросы:

ª Представление числовой информации.

ª Представления символьной информации.

ª Представление графической информации.

ª Представление звука.

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

Как уже говорилось в предыдущем разделе, для представления всех видов данных в памяти компьютера используется двоичный алфавит. Однако интерпретация последовательностей двоичных цифр для каждого вида данных своя. Еще раз подчеркнем, что речь идет о внутреннем представлении данных, в то время как внешнее представление на устройствах ввода-вывода имеет привычную для человека форму.

Представление числовой информации. Исторически первым видом данных, с которым стали работать компьютеры, были числа. Первые ЭВМ использовались исключительно для математических расчетов. В соответствии с принципами Джона фон Неймана, ЭВМ выполняет расчеты в двоичной системе счисления. Вопрос о внутреннем (машинном) представлении чисел рассмотрим несколько подробнее, чем это делается в учебниках.

Структурные единицы памяти компьютера — бит, байт и машинное слово. Причем понятия бита и байта универсальны и не зависят от модели компьютера, а размер машинного слова зависит от типа процессора ЭВМ. Если машинное слово для данного компьютера равно одному байту, то такую машину называют 8-разрядной (8 бит); если машинное слово состоит из 2 байтов, то это 16-разрядный компьютер; 4-байтовое слово у 32-разрядных ЭВМ. Обсуждение вопроса о том, как представляются числа в памяти ЭВМ, будем вести на примере 16-разрядной машины.

Числа в памяти ЭВМ хранятся в двух форматах: в формате с фиксированной точкой и в формате с плавающей точкой. Под точкой здесь и в дальнейшем подразумевается знак разделения целой и дробной части числа. Формат с фиксированной точкой используется для хранения в памяти целых чисел. В этом случае число занимает одно машинное слово памяти (16 бит). Чтобы получить внутреннее представление целого положительного числа Л^в форме с фиксированной точкой нужно:

1) перевести число N в двоичную систему счисления;

2) полученный результат дополнить слева незначащими нулями до 16 разрядов.

Например, N = 160710 = 110010001112. Внутреннее представление этого числа в машинном слове будет следующим:

 

0000

0110

0100

0111

 

В сжатой шестнадцатеричной форме этот код запишется так: 0647.

Двоичные разряды в машинном слове нумеруются от 0 до 15 справа налево. Старший 15-й разряд в машинном представлении любого положительного числа равен нулю. Поэтому максимальное целое число в такой форме равно:

0111 1111 1111 11112 = 7FFF16 = (215- 1) = 3276710.

Для записи внутреннего представления целого отрицательного числа (-N) нужно:

1) получить внутреннее представление положительного числа N;

2) получить обратный код этого числа заменой 0 на 1 и 1 на 0;

3) к полученному числу прибавить 1.

Определим по этим правилам внутреннее представление числа 160710.

1) 0000 0110 0100 0111

2) 1111 1001 1011 1000

3)_______________ +1

    1111 1001 1011 1001 - результат

Шестнадцатеричная форма результата: F9B9.

Описанный способ представления целого отрицательного числа называют дополнительным кодом. Старший разряд в представлении любого отрицательного числа равен 1. Следовательно, он указывает на знак числа и поэтому называется знаковым разрядом.

Применение дополнительного кода для внутреннего представления отрицательных чисел дает возможность заменить операцию вычитания операцией сложения с отрицательным числом: N – M =  N + (-М). Очевидно, должно выполняться следующее равенство: N + (-N) = 0. Выполним такое сложение для полученных выше чисел 1607 и —1607:

0000 0110 0100 0111 1607

1111 1001 1011 1001 -1607

       1 0000  0000 0000 0000       0

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

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

Двоичное 16-разрядное число 1000 0000 0000 0000 = 215 является «отрицательным самому себе»:

1000 0000 0000 0000   215

0111 1111 1111 1111

_________________+1

1000 0000 0000 0000 -215

Этот код используется для представления значения —215 = —32768. Следовательно, диапазон представления целых чисел в 16-разрядном машинном слове:

В общем случае для k-разрядного машинного слова этот диапазон следующий:

 

В разных типах ЭВМ используются разные варианты организации формата с плавающей точкой. Вот пример одного из вариантов представления вещественного числа в 4-байтовой ячейке памяти:

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

Формат с плавающей точкой предполагает представление вещественного числа R в форме произведения мантиссы (т) на основание системы счисления (л) в некоторой целой степени, которую называют порядком (р):

Порядок указывает, на какое количество позиций и в каком направлении должна сместиться («переплыть») точка в мантиссе. Например, 25,32410 = 0,25324´102. Однако справедливы и следующие равенства:

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

Для рассмотренного числа нормализованной формой будет: 0,25324 хЮ2.

В памяти ЭВМ мантисса представляется как целое число, содержащее только ее значащие цифры (нуль целых и запятая не хранятся). Следовательно, задача внутреннего представления вещественного числа сводится к представлению пары целых чисел: мантиссы (т) и порядка (р). В рассмотренном нами примере т = 25324, р = 2.

В разных типах ЭВМ используются разные варианты организации формата с плавающей точкой. Вот пример одного из вариантов представления вещественного числа в 4-байтовой яч6ейке памяти:

 

Машинный порядок

           М а

  н  т  и  с

 c    а

                  1-й байт         2-й байт      3-й байт             4-й байт

 

В старшем бите 1-го байта хранится знак числа: 0 — плюс, 1 — минус; 7 оставшихся битов 1-го байта содержат машинный порядок; в следующих 3-х байтах хранятся значащие цифры мантиссы.

В рамках базового курса информатики вопрос о представлении вещественных чисел может рассматриваться лишь на углубленном уровне. Теоретический материал и практические задания на эту тему имеются в пособии [6].

Представление символьной информации. В настоящее время одним из самых массовых приложений ЭВМ является работа с текстами. Термины «текстовая информация» и «символьная информация» используются как синонимы. В информатике под текстом понимается любая последовательность символов из определенного алфавита. Совсем не обязательно, чтобы это был текст на одном из естественных языков (русском, английском и др.). Это могут быть математические или химические формулы, номера телефонов, числовые таблицы и пр. Будем называть символьным алфавитом компьютера множество символов, используемых на ЭВМ для внешнего представления текстов.

Первая задача — познакомить учеников с символьным алфавитом компьютера. Они должны знать, что

— алфавит компьютера включает в себя 256 символов;

— каждый символ занимает 1 байт памяти.

Эти свойства символьного алфавита компьютера, в принципе, уже знакомы ученикам. Изучая алфавитный подход к измерению информации, они узнали, что один символ из алфавита мощностью 256 несет 8 бит, или 1 байт, информации, потому что 256 = 28. Но поскольку всякая информация представляется в памяти ЭВМ в двоичном виде, следовательно, каждый символ представляется 8-разрядным двоичным кодом. Существует 256 всевозможных 8-разрядных комбинаций, составленных из двух цифр «0» и «1» (в комбинаторике это называется числом размещений из 2 по 8 и равно 28): от 00000000 до 11111111. Удобство побайтового кодирования символов очевидно, поскольку байт — наименьшая адресуемая часть памяти и, следовательно, процессор может обратиться к каждому символу отдельно, выполняя обработку текста. С другой стороны, 256 символов — это вполне достаточное количество для представления самой разнообразной символьной информации.

Далее следует ввести понятие о таблице кодировки. Таблица кодировки — это стандарт, ставящий в соответствие каждому символу алфавита свой порядковый номер. Наименьший номер — 0, наибольший — 255. Двоичный код символа — это его порядковый номер в двоичной системе счисления. Таким образом, таблица кодировки устанавливает связь между внешним символьным алфавитом компьютера и внутренним двоичным представлением.

Международным стандартом для персональных компьютеров стала таблица ASCII. На практике можно встретиться и с другой таблицей — КОИ-8 (Код Обмена Информацией), которая используется в глобальных компьютерных сетях, на ЭВМ, работающих под управлением операционной системы Unix, а также на компьютерах типа PDP. К ним, в частности, относится отечественный школьный компьютер Электроника-УКНЦ.

От учеников не нужно требовать запоминания кодов символов. Однако некоторые принципы организации кодовых таблиц они должны знать. Следует рассмотреть вместе с учениками таблицу кода ASCII, приведенную в ряде учебников и в справочниках. Она делится на две части. Международным стандартом является лишь первая половина таблицы, т.е. символы с номерами от 0 до 127. Сюда входят строчные и прописные буквы латинского алфавита, десятичные цифры, знаки препинания, всевозможные скобки, коммерческие и другие символы. Символы с номерами от 0 до 31 принято называть управляющими. Их функция — управление процессом вывода текста на экран или печать, подача звукового сигнала, разметка текста и т.п. Символ номер 32 — пробел, т.е. пустая позиция в тексте. Все остальные отражаются определенными знаками. Важно обратить внимание учеников на соблюдение лексикографического порядка в расположении букв латинского алфавита, а также цифр. На этом принципе основана возможность сортировки символьной информации, с которой ученики впервые встретятся, работая с базами данных.

Вторая половина кодовой таблицы может иметь различные варианты. В первую очередь, она используется для размещения национальных алфавитов, отличных от латинского. Поскольку для кодировки русского алфавита — кириллицы, применяются разные варианты таблиц, то часто возникают проблемы с переносом русского текста с одного компьютера на другой, из одной программной системы в другую. Можно сообщить ученикам, что таблица кодировки символов 128 — 255 называется кодовой страницей и каждый ее вариант имеет свой номер. Так, например, в MS-DOS используется кодовая страница номер 866, а в Windows — номер 1251.

В качестве дополнительной информации можно рассказать о том, что проблема стандартизации символьного кодирования решается введением нового международного стандарта, который называется Unicode. Это 16-разрядная кодировка, т.е. в ней на каждый символ отводится 2 байта памяти. Конечно, при этом объем занимаемой памяти увеличивается в два раза. Но зато такая кодовая таблица допускает включение до 65 536 символов. Ясно, что в нее можно внести всевозможные национальные алфавиты.

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

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

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

Информация в видеопамяти (видеоинформация) представляет собой совокупность кодов цвета каждого пикселя экрана. Отсюда следует, что вопрос о представлении изображения связан со способами кодирования цветов. Физический принцип получения разнообразных цветов на экране дисплея заключается в смешивании трех основных цветов: красного, зеленого и синего. Значит информация, заключенная в коде пикселя должна содержать сведения о том, какую интенсивность (яркость) имеет каждая составляющая в его цвете. Достаточно подробно этот вопрос раскрыт в учебнике [6].

Необходимо раскрыть перед учениками связь между кодом цвета и составом смеси базовых цветов. Следует начать с рассмотрения варианта восьмицветной палитры. В этом случае используется трехбитовый код и каждый бит такого кода обозначает наличие (1) или отсутствие (0) соответствующего базового цвета. В следующей таблице приведены коды восьмицветной палитры (табл. 9.1).

Таблица 9.1

Двоичный код восьмицветной палитры

 

к

3

с

Цвет

0

0

0

Черный

0

0

1

Синий

0

1

0

Зеленый

0

1

1

Голубой

1

0

0

Красный

1

0

1

Розовый

1

1

0

Коричневый

1

1

1

Белый

 

Биты в таком коде распределены по принципу «КЗС», т. е. первый бит отвечает за красную составляющую, второй — за зеленую, третий — за синюю. По этой теме ученики должны уметь отвечать на вопросы такого типа:

— Смешиванием каких цветов получается розовый цвет?

— Известно, что коричневый цвет получается смешиванием красного и зеленого цветов. Какой код у коричневого цвета?

При программировании цветных изображений принято каждому цвету ставить в соответствие десятичный номер. Получить номер цвета очень просто. Для этого его двоичный код, рассматривая как целое двоичное число, следует перевести в десятичную систему счисления. Тогда, согласно табл. 9.1, номер черного цвета — 0, синего — 1, зеленого — 2 и т.д. Белый цвет имеет номер 7. Полезными, с точки зрения закрепления знаний двоичной системы счисления, являются вопросы такого рода:

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

Только после того, как ученики разобрались с 8-цветной палитрой, можно переходить к рассмотрению кодирования большего числа цветов. Таблица кодов 16-цветной палитры приведена в учебнике [14]. Это те же восемь цветов, но имеющие два уровня яркости. Управляет яркостью дополнительный четвертый бит — бит интенсивности. В структуре 16-цветного кода «ИКЗС» И — бит интенсивности. Например, если в 8-цветной палитре код 100 обозначает красный цвет, то в 16-цветной палитре: 0100 — красный, 1100 — ярко-красный цвет; ОНО — коричневый, 1110 — ярко-коричневый (желтый).

Палитры большего размера получаются путем раздельного управления интенсивностью каждого из трех базовых цветов. Для этого в коде цвета под каждый базовый цвет выделяется более одного бита. Например, структура восьмибитового кода для палитры из 256 цветов такая: «КККЗЗЗСС», т.е. по 3 бита кодируют красную и зеленую составляющие и 2 бита — синюю. В результате полученная величина — это объем видеопамяти, необходимый для хранения одного кадра, одной страницы изображения. Практически всегда в современных компьютерах в видеопамяти помещается одновременно несколько страниц изображения.

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

Положение и форма графических примитивов задаются в системе графических координат, связанных с экраном. Обычно начало координат расположено в верхнем левом углу экрана. Сетка пикселей совпадает с координатной сеткой. Горизонтальная ось X направлена слева направо; вертикальная ось Y— сверху вниз.

Отрезок прямой линии однозначно определяется указанием координат его концов; окружность — координатами центра и радиусом; многоугольник — координатами его углов, закрашенная область — граничной линией и цветом закраски и пр. Подробнее о векторной графике см. учебник [6, ч. 2], а также [5].

Векторный формат изображения создается в результате использования графических редакторов векторного типа, например CorelDraw. Получаемая таким образом информация сохраняется в графических файлах векторного типа. Графические файлы растровых типов получаются при работе с растровыми графическими редакторами (Paint, Adobe Photoshop), а также в результате сканирования изображений. Следует понимать, что различие в представлении графической информации в растровом и векторном форматах существует лишь для графических файлов. При выводе красная и синяя составляющие имеют по 8 (23) уровней интенсивности, а синяя — 4 (22). Всего: 8x8x4 = 256 цветов.

Связь между разрядностью кода цвета — b и количеством цветов — ^(размером палитры) выражается формулой: К= 2Ь. В литературе по компьютерной графике величину b принято называть битовой глубиной цвета. Так называемая естественная палитра цветов получается при b = 24. Для такой битовой глубины палитра включает более 16 миллионов цветов.

При изучении данной темы следует раскрыть связь между величинами битовой глубины, разрешающей способностью графической сетки (размером растра) и объемом видеопамяти. Если обозначить минимальный объем видеопамяти в битах через Vm, разрешающую способность дисплея — M´N (М точек по горизонтали и N точек по вертикали), то связь между ними выразится формулой:

 

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

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

Положение и форма графических примитивов задаются в системе графических координат, связанных с экраном. Обычно начало координат расположено в верхнем левом углу экрана. Сетка пикселей совпадает с координатной сеткой. Горизонтальная ось Х  направлена слева направо; вертикальная ось Y – сверху вниз.

Отрезок прямой линии, однозначно определяется указанием координат его концов; окружность – координатами центра и радиусом; многоугольник – координатами его углов; закрашенная область – граничной линией и цветом закраси и пр. Подробнее о векторной графике см. учебник [6, ч. 2], а также  [5].

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

Представление звука. Современные компьютеры «умеют» сохранять и воспроизводить звук (речь, музыку и пр.). Звук, как и любая другая информация, представляется в памяти ЭВМ в форме двоичного кода.

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

Основной принцип кодирования звука, как и кодирования изображения, выражается словом «дискретизация».

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

Физическая природа звука — это колебания в определенном диапазоне частот, передаваемые звуковой волной через воздух (или другую упругую среду). Процесс преобразования звуковых волн в двоичный код в памяти компьютера:

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

В процессе записи звука аудиоадаптер с определенным периодом измеряет амплитуду электрического тока и заносит в регистр двоичный код полученной величины. Затем полученный код из регистра переписывается в оперативную память компьютера. Качество компьютерного звука определяется характеристиками аудиоадаптера: частотой дискретизации и разрядностью.

Частота дискретизации — это количество измерений входного сигнала за 1 секунду. Частота измеряется в герцах (Гц). Одно измерение за 1 секунду соответствует частоте 1 Гц. 1000 измерений за 1 секунду — 1 килогерц (кГц). Характерные частоты дискретизации аудиоадаптеров: 11 кГц, 22 кГц, 44,1 кГц и др.

Разрядность регистра — число бит в регистре аудиоадаптера. Разрядность определяет точность измерения входного сигнала. Чем больше разрядность, тем меньше погрешность каждого отдельного преобразования величины электрического сигнала в число и обратно. Если разрядность равна 8 (16), то при измерении входного сигнала может быть получено 2s = 256 (216 = 65536) различных значений. Очевидно, 16-разрядный аудиоадаптер точнее кодирует и воспроизводит звук, чем 8-разрядный.

Звуковой файл — файл, хранящий звуковую информацию в числовой двоичной форме. Как правило, информация в звуковых файлах подвергается сжатию.

 

Пример. Определить размер (в байтах) цифрового аудиофайла, время звучания которого составляет 10 секунд при частоте дискретизации 22,05 кГц и разрешении 8 бит. Файл сжатию не подвержен.

Решение. Формула для расчета размера (в байтах) цифрового аудиофайла (монофоническое звучание): (частота дискретизации в Гц) х ( время записи в сек) х (разрешение в битах)/8.

Таким образом, размер файла вычисляется так: 22050´10´8/8 = 220500 байт.

 

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 |