Реферат: Организация информации
Представление и обработка информации
Информатика и информационные технологии
Информатика [computer science] – научное направление, занимающееся изучением законов, методов и способов накапливания, обработки и передачи информации с помощью ЭВМ и других технических средств. Предметом изучения информатики являются информационные технологии и их применение для решения прикладных задач. Технология практически определяет что, как и сколько нужно сделать, чтобы получить требуемый результат. Конечная задача использования информационных технологий – это подготовка и принятие управленческих решений.
Информация и данные
Первичное понятие информатики – информация. Данное понятие неопределяемо. Поэтому, строго говоря, это понятие можно раскрыть только через указание процессов, в которых оно участвует. Чаще всего под этим понятием подразумевают содержательную сторону, отличая его от понятия «данные», которое, следовательно, отражает собой формальную сторону.
Будем понимать под информацией [information] меру устранения неопределённости в отношении исхода интересующего нас события.
Тогда под данными [data] будут пониматься объекты любой формы, выступающие в качестве средства представления информации. Можно сказать, что данные – это информация, зафиксированная в определённой форме.
Одни и те же данные могут нести различную информацию для разных потребителей. Фиксация информации в виде данных осуществляется с помощью конкретных средств (языковых, изобразительных, числовых и т.д.) на конкретном физическом носителе.
Формальное назначение ЭВМ заключается в обработке данных. Причём ЭВМ обрабатывает данные без учёта их смыслового содержания. Для этой обработки используются лишь математические операции. Оценивать смысловое содержание данных может только человек.
Представление и обработка данных
Для того, чтобы использовать ЭВМ для обработки данных, необходимо располагать некоторым способом представления данных. Способ представления данных будет зависеть от того, для кого эти данные предназначены: для человека (внешнее представление) или для ЭВМ (внутреннее представление).
Во внутреннем представлении данные могут быть описаны в аналоговой (непрерывной) или цифровой (дискретной) формах. В соответствии с этим различают аналоговые и цифровые ЭВМ. Практически все используемые ЭВМ в настоящее время являются цифровыми. Таким образом, любые данные в современных ЭВМ представляются в виде целых чисел.
Любые виды данных, обрабатываемых на ЭВМ, могут быть сведены к совокупности простейших форм: набор символов (текст), звук (мелодия), изображение (фотографии, рисунки, схемы), вещественные и целые числа (числовая информация).
Каждый такой вид данных должен быть некоторым универсальным образом представлен в виде набора целых чисел. Правила такого представления разрабатываются научными институтами и оформляются в виде стандартов.
Во внешнем представлении все данные хранятся в виде файлов. Во многих случаях требуется ещё более высокий уровень организации данных на внешнем уровне, тогда данные группируются в базы данных (см. рис.1.
/>Рис. 1. Уровни представления данных
Задачи по обработке данных предполагают также способы описания процесса самой обработки. Процедуры обработки данных также представляются на внешнем и внутреннем уровне. На внутреннем уровне каждая такая процедура представляет собой последовательность логических операций с целыми числами, и называется программой. Сами логические операции кодируются с помощью средств машинного языка.
/>Рис. 2 Уровни представления обработки данных
На внешнем уровне процедуры представляются в виде алгоритма. Конкретный вид алгоритма зависит от используемого алгоритмического языка (см. рис. 2).
Таким образом, решение любых задач с помощью ЭВМ в конечном счёте сводится к двум взаимосвязанным проблемам: цифровому представлению данных и алгоритмическому представлению способов обработки данных.
Внутреннее представление данных
Двоичная форма целых чисел. Количество информации
ЭВМ является электрическим прибором. Она управляется с помощью электрических сигналов. Поэтому любые данные должны быть некоторым универсальным образом представлены в таком виде, чтобы их можно было легко перевести на «электрический» язык. Таким свойством обладают двоичная форма целых чисел. Для записи числа в двоичной форме используются только два символа 0 и 1. Эти символы легко поставить в соответствие некоторому фиксированному значению напряжения в электрических схемах ЭВМ (см. рис. 3).
/>Рис.3 Поток данных в двоичной форме
Чтобы обрабатывать данные, необходимо иметь некоторый универсальный способ представления операций с целыми числами, чтобы эти операции были легко представимы на «электрическом» языке. Оказывается, что этому условию удовлетворяют три операции с двоичными числами. Это операции логического сложения «ИЛИ», логического умножения «И» и отрицания «НЕ».
Таблица 1. Операции с двоичными числами
x y ИЛИ И НЕ х 1 1 1 1 1 1 1 1 1 1Таким образом, все данные, с которыми работают ЭВМ, представлены в виде двоичных чисел, а все действия с данными сводятся к комбинации трёх логических операций.
ПримерРассмотрим сложение чисел 4+3. В двоичной форме эти числа будут иметь вид соответственно 0100 и 0011. Выполняя операцию логического сложения с каждым разрядом обоих чисел, получим число 0111, что является двоичным представлением числа 7.
Количество информации, соответствующее двоичному числу, называют битом [bit]. Число, которое представлено N битами называется N-битным или N-разрядным.
В дальнейшем оказалось удобным оперировать последовательностями нулей и единиц, объединённых в группы фиксированного размера.
Наибольшее значение имеет последовательность из восьми двоичных чисел — 8-разрядное число. Количество информации, соответствующее такому числу, называется байтом [byte]. Кроме того, используются группы, называемые словом [word]. Размер слова зависит от характеристик конкретной ЭВМ, но, как правило, в большинстве современных ЭВМ размер слова равен 2 байтам.
Очень часто программистам приходится непосредственно работать с двоичными числами, поэтому, чтобы упростить эту работу, часто используются шестнадцатеричное представление двоичных чисел.
ПримерДля упрощения перевода целых чисел в двоичную и шестнадцатеричную формы составляется следующая таблица:
Х10 Х2 Х16 Х10 Х2 Х16 0000 8 1000 8 1 0001 1 9 1001 9 2 0010 2 10 1010 A 3 0011 3 11 1011 B 4 0100 4 12 1100 C 5 0101 5 13 1101 D 6 0110 6 14 1110 E 7 0111 7 15 1111 F4310= 2В16 = 001010112
Таким образом, первая задача, которая ставится в информатике – это задача представления любых данных в форме целых чисел (в цифровой форме).
Цифровое представление символов
Правило цифрового представления символов следующее: каждому символу ставится в соответствие некоторое целое число, то есть каждый символ нумеруется.
ПримерРассмотрим последовательность строчных букв русского алфавита: а, б, в, г, д, е, ё, ж, з, и, й, к, л, м, н, о, п, р, с, т, у, ф, х, ц, ч, ш, щ, ъ, ы, ь, э, ю, я. Присвоив каждой букве номер от 0 до 33, получим простейший способ представления символов. Последнее число — 32 в двоичной форме имеет вид 100000, то есть для хранения символа в памяти понадобится 6 бит. Так как с помощью шести бит можно представить число 26 – 1 = 63, то шести бит будет достаточно для представления 64 букв.
Имеются разные стандарты для представления символов, которые отличаются лишь порядком нумерации символов. Наиболее распространён американский стандартный код для информационного обмена — ASCII [American Standard Code for Information Interchange] введён в США в 1963г. В 1977 году в несколько модифицированном виде он был принят в качестве всемирного стандарта Международной организации стандартов [International Standards Organization — ISO] под названием ISO-646. Согласно этому стандарту каждому символу поставлено в соответствие число от 0 до 255. Символы от 0 до 127 – латинские буквы, цифры и знаки препинания – составляют постоянную часть таблицы. Остальные символы используются для представления национальных алфавитов. Конкретный состав этих символов определяется кодовой страницей. В русской версии ОС Windows95 используется кодовая страница 866. В ОС Linux для представления русских букв более употребительна кодировка КОИ-8.
Недостатки такого способа кодировки национального алфавита очевидны. Во-первых, невозможно одновременное представление русских и, например, французских букв. Во-вторых, такая кодировка совершенно непригодна для представления китайских или японских иероглифов. В 1991 году была создана некоммерческая организация Unicode, в которую входят представители ряда фирм (Borland, IBM, Lotus, Microsoft, Novell, Sun, WordPerfect и др.), и которая занимается развитием и внедрением нового стандарта. Кодировка Unicode использует 16 разрядов и может содержать 65536 символов. Это символы большинства народов мира, элементы иероглифов, спецсимволы, 5000 мест для частного использования, резерв из 30000 мест.
ПримерASCII-код символа A = 6510 = 4116 = 010001112;
ASCII-код символа G = 7110 = 4716 = 010001112;
ASCII-код символа Z = 9010 = 5A16 = 010110102.
ASCII-код символа C = 6710 = 4316 = 011001112
Unicode-код символа C = 6710 = 00000000011001112.
Цифровое представление вещественных чисел
Для того, чтобы представить вещественное число в виде набора целых чисел, его необходимо привести к нормализованной форме:
x = M*2P;
где M — называется мантиссой (дробной частью), а P — экспонентой (порядком).
/>После этого мантисса и порядок переводятся в двоичное представление. В памяти ЭВМ вещественное число хранится в виде:
здесь S – признак знака. Поэтому необходимо также определить, какой размер памяти будет отведён под все три части нормализованного числа.
Далее должны быть определены правила (алгоритмы), по которым будут выполняться арифметические операции с нормализованными вещественными числами. Совокупность таких алгоритмов, а также правил представления чисел в нормализованной форме называется арифметикой плавающих чисел [floating point number].
Поскольку размер памяти, отводимый под мантиссу и порядок, ограничен, то вещественные числа представляются с некоторой погрешностью (точность десятичных цифр) и имеют ограниченный диапазон изменения. Чем больше размер памяти для плавающего числа, тем точнее можно представить вещественное число. Поэтому для пользователя основными характеристиками арифметики плавающего числа являются длина числа (размер), измеряемая в битах, и точность представления числа. По точности представления вещественных чисел различают плавающие числа одинарной и двойной точности [single and double divcision].
ПримерРассмотрим принцип цифрового представления вещественного числа 15,375. Пусть под мантиссу отведено 5 десятичных разрядов, а под порядок – 2 разряда. Представим число в нормализованной форме: 15,375 » 1,9219*23. Так как в нормализованной форме первая цифра всегда равна единице, то её можно не хранить. Тогда число будет представлено в виде целого числа 9219003 с относительной погрешностью не более 10-4, то есть число верных десятичных чисел равно 4. В памяти ЭВМ это число будет храниться в двоичной форме, причём можно легко подсчитать, что для хранения такого числа потребуется 27 бит. Максимальное число, которое можно представить таким образом — 9999999=1,99999*1099, а минимальное, не равное нулю — 0000100=0,00001. Если предусмотреть один бит для хранения знака порядка, то минимально представляемое число будет равно 00001-99, то есть 0,00001*10-99.
При попытке выйти за допустимый диапазон ЭВМ выдаст сообщение о переполнении (underflow или overflow).
Конкретные характеристики арифметики различны для разных стандартов. Для ПЭВМ наиболее распространённым является IEEE-стандарт (IEEE-754-1985) [Institute of Electrical and Electronic Engineers], согласно которому вещественные числа представляются в трёх основных формах (см. табл. 1.2).
Таблица 2. Данные с плавающей точкой по IEEE-стандарту
ТипРазмер,
бит
Диапазон изменения чисел
максимум минимум
Точность десятичн. цифрМашинное
e
single 32 3.4*10-38 3.4*1038 6 1,192*10-7 double 64 1.7*10-308 1.7*10308 15 2,221*10-16 long double 80 3.4*10-4932 3.4*104932 19 1,084*10-19Источник: [5].
Здесь нужно заметить, что характеристики плавающего числа двойной точности будут зависеть от той арифметики, которая используется на конкретной ЭВМ.
ПримерЗапишем число 15,375 в двоичном виде:
15.375 = 1111.0112 1.111011*2112
Тогда согласно стандарту IEEE число будет представляться:
single
15,375 = 0 1000.0001.0 111.0110.0000.0000.0000.00002 = 4176000016
long double
15,375 = 0 1000.0000.00010. 1110.1100.0000.0000. … 00002 = 402ЕС0000000000016.
Источник: [5].
Особенности плавающей арифметики могут существенно влиять на результаты расчётов, вплоть до того, что погрешность может сделать невозможным получение какого-либо результата вообще, поэтому знание деталей реализации арифметики плавающих чисел является необходимым для программистов.
ПримерСуществует особая характеристика плавающей арифметики – машинное эпсилон. Это число, которое определяется как
/>.
Для плавающего числа единичной точности (по IEEE стандарту):
/>.
Это значит, если написать программу на языке BASIC:
a=1.2
b=1.e-7
print a+b
то результат, который выдаст программа, будет равен 1.2.
Поэтому программы, учитывающие особенности плавающей арифметики могут трактовать все числа, меньшие, чем машинное эпсилон, практически равными нулю.
Цифровое представление изображений
Под изображением будем понимать прямоугольную область, закрашенную непрерывно изменяющимся цветом. Поэтому для представления изображений в целых числах необходимо отдельно дискретизировать прямоугольную область и цвет.
Для описания области она разбивается на множество точечных элементов – пикселов [pixel]. Само множество называется растром [bit map, dot matrix, raster] (см. рис. 1.3), а изображения, которые формируются на основе растра, называются растровыми.
/>Рис.4. Дискретизация области изображения
Число пикселов называется разрешением [resolution]. Часто встречаются значения 640х480, 800х600, 1024х768, 1280х1024. Каждый пиксел нумеруется, начиная с нуля слева направо и сверху вниз.
Для представления цвета используются цветовые модели. Цветовая модель [color model] это правило, по которому может быть вычислен цвет. Самая простая цветовая модель – битовая. В ней для описания цвета каждого пиксела (чёрного или белого) используется всего один бит. Для представления полноцветных изображений используются несколько более сложных моделей. Известно, что любой цвет может быть представлен как сумма трёх основных цветов: красного, зелёного и синего. Если интенсивность каждого цвета представить числом, то любой цвет будет выражаться через набор из трёх чисел. Так определяется наиболее известная цветовая RGB-модель. На каждое число отводится один байт. Так можно представить 224 цвета, то есть примерно 16,7 млн. цветов. Белый цвет в этой модели представляется как (1,1,1), чёрный – (0,0,0), красный (1,0,0), синий (0,0,1). Жёлтый цвет является комбинацией красного и зелёного и потому представляется как (1,1,0).
Пример
Пусть имеется изображение вида
/>Будем считать, что белый цвет представляется нулём, а чёрный – единицей, тогда в однобитовой модели такое изображение представится в виде:
0000000000000000
0000000000000000
0000111110000000
0000100010000000
0000100010000000
0000111110000000
0000000000000000
0000000000000000
В шестнадцатеричном виде этот двоичный набор будет выглядеть так:
00 00 00 00 0F 80 08 80 08 80 0F 80 00 00 00 00
Всего для хранения такого изображения потребуется 16 байт.
Данное изображение легко преобразовать в RGB-модель. Достаточно заменить все нули тройками (1,1,1), а все единицы — тройками (0,0,0). Тогда получим следующее шестнадцатеричное представление изображения:
FF FF FF FF FF FF FF FF FF FF FF FF FF F0 00 1F FF FF
FF F1 FF 1F FF FF FF F1 FF 1F FF FF FF F0 00 1F FF FF
--PAGE_BREAK--