Что такое символьная информация
Символьная информация. Понятие о знаках и знаковых системах
Знаки представляют материальное замещение понятий, которыми человек пользуется, чтобы упорядочить и упростить свои представления о внешнем мире (так, понятие “человек” обобщает множество индивидуальностей разного возраста, пола, расы и т.д., а этому понятию может соответствовать определенный знак, например, пиктограмма).
Обычно знаки образуют систему. Примером знаковой системы являются различные языки – от живого языка человеческого общения до алгоритмического языка для записи программ или языка химических формул. Другие примеры – набор цветов светофора, знаков дорожного движения и т.д. Существуют и внесистемные знаки, которые обычно тоже являются «обломками» знаковых систем (например жесты или междометия).
По своей природе знаковые системы дискретны, то-есть, используют ограниченный набор элементов.
Другой аспект – связь формы знака и его смысла. Знаки, форма (вид), которых непосредственно связана с их смыслом называют символами. Таковы, например, гербы и пиктограммы. Если подобная связь отсутствует (как в случае слов естественного языка или знаков математических операций), знаки называют диакритиками. Обычно знаковые системы состоят из диакритических знаков, хотя в ряде случаев можно проследить их символические корни (например, некоторых букв и иероглифов).
Законы построения знаковых систем изучает семиотика, которая включает ряд направлений.
Синтактика занимается правилами соединения знаков (например, построения фраз).
Семантика изучает смысл – соответствие знака (слова) и понятия. Фраза «Глокая куздра штеко будланула бокра и кудлачит бокренка» построена синтаксически верно, однако она бессмысленна, поскольку словам не соответствуют понятия.
Прагматика занимается полезностью и истинностью. Фраза «Сегодня хорошая погода» синтаксически правильна и семантически корректна. Однако истинность и ценность информации, которую она передает, зависит от конкретных условий.
Сигматика изучает вопросы обозначений.
В нашем курсе использование знаков рассматривается с точки зрения передачи информации. С этих позиций они представляют собой условное изображение элементов сообщения. Типичный случай сообщения, ссотоящего из знаков – текст.
Дата добавления: 2015-09-18 ; просмотров: 1084 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ
Конспект по дисциплине Архитектура ЭВМ на тему «Символьная информация»
В общем объеме вычислительных действий все большая доля приходится на обработку символьной информации, содержащей буквы, цифры, знаки препинания, математические и другие символы. Каждому символу ставится в соответствие определенная двоичная комбинация. Совокупность возможных символов и назначенных им двоичных кодов образует таблицу кодировки. В настоящее время применяется множество различных таблиц кодировки. Объединяет их весовой принцип, при котором коды цифр возрастают по мере увеличения цифры, а коды символов увеличиваются в алфавитном порядке. Так код буквы «Б» на единицу больше кода буквы «А». Это способствует упрощению обработки в ЭВМ.
До недавнего времени наиболее распространенными были кодовые таблицы, в которых символы кодируются с помощью восьмиразрядных двоичных комбинаций (байтов), позволяющих представить 256 различных символов:
американский стандартный код для обмена информацией ASCII (American ‘ Standard Code for Information Interchange).
Код EBCDIC используется в качестве внутреннего кода в универсальных ЭВМ фирмы IBM. Он же известен под названием ДКОИ (двоичный код для обработки информации).
Стандартный код ASCII – 7-разрядный, восьмая позиция отводится для записи бита четности. Это обеспечивает представление 128 символов, включая все латинские буквы, цифры, знаки основных математических операций и знаки пунктуации. Позже появилась европейская модификация ASCII, называемая Latin 1 (стандарт ISO 8859-1). В ней «полезно» используются все 8 разрядов. Дополнительные комбинации (коды 128-255) в новом варианте отводятся для представления специфических букв алфавитов западноевропейских языков, символов псевдографики, некоторых букв греческого алфавита, а также ряда математических и финансовых символов. Именно эта кодовая таблица считается мировым стандартом де-факто, который применяется с различными модификациями во всех странах.
Хотя код ASCII достаточно удобен, он все же слишком тесен и не вмещает множества необходимых символов. По этой причине в 1993 году консорциумом компаний Apple Computer, Microsoft, Hewlett-Packard, DEC и IBM был разработан 16-битовый стандарт ISO 10646, определяющий универсальный набор символов (UCS, Universal Character Set). Новый код, известный под названием Unicode, позволяет задать до 65536 символов, то есть дает возможность одновременно представить символы всех основных «живых» и «мертвых» языков. Для букв русского языка выделены коды 1040-1093.
Наряду с UCS-2 в рамках Unicode существуют еще несколько вариантов кодировки Unicode (UTF, Unicode Transformation Formats), основные из которых UTF-8 и UTF-7. В кодировке UTF-8 коды символов меньшие, чем 128, представляются одним байтом. Все остальные коды формируются по более сложным правилам. В зависимости от символа его код может занимать от двух до шести байтов, причем старший бит каждого байта всегда имеет единичное значение. Иными словами, значение байта лежит в диапазоне от 128 до 255. Ноль в старшем бите байта означает, что код занимает один байт и совпадает по кодировке с ASCII.
В UTF-7 код символа также может занимать один или более байтов, однако в каждом из байтов значение не превышает 127 (старший бит байта содержит ноль). Многие символы кодируются одним байтом, и их кодировка совпадает с ASCII, однако некоторые коды зарезервированы для использования в качестве преамбулы, характеризующей последующие байты многобайтового кода.
Стандарт Unicode обратно совместим с кодировкой ASCII, однако если в ASCII для представления схожих по виду символов (минус, тире, знак переноса) применялся общий код, в Unicode каждый из этих символов имеет уникальную кодировку. Впервые Unicode был использован в операционной системе Windows NT.
Параллельно с развитием Unicode исследовательская группа ISO проводит работы над 32-битовой кодовой таблицей, однако ввиду широкой распространенности кодировки Unicode дальнейшие перспективы новой разработки представляются неопределенными.
^
Что такое символьная информация
Воспринимая информацию с помощью органов чувств, человек стремится зафиксировать ее так, чтобы она стала понятной и другим, представляя ее в той или иной форме.
Музыкальную тему композитор может наиграть на пианино, а затем записать с помощью нот. Образы, навеянные все той же мелодией, поэт может воплотить в виде стихотворения, хореограф выразить танцем, а художник — в картине.
Форма представления информации очень важна при ее передаче: если человек плохо слышит, то передавать ему информацию в звуковой форме нельзя; если у собаки слабо развито обоняние, то она не может работать в розыскной службе. В разные времена люди передавали информацию в различной форме с помощью: речи, дыма, барабанного боя, звона колоколов, письма, телеграфа, радио, телефона, факса. Независимо от формы представления и способа передачи информации, она всегда передается с помощью какого-либо языка.
На уроках математики вы используете специальный язык, в основе которого — цифры, знаки арифметических действий и отношений. Они составляют алфавит языка математики. На уроках физики при рассмотрении какого-либо физического явления вы используете характерные для данного языка специальные символы, из которых составляете формулы. Формула — это слово на языке физики.
На уроках химии вы также используете определенные символы, знаки, объединяя их в «слова» данного языка.
Существует язык глухонемых, где символы языка — определенные знаки, выражаемые мимикой лица и движениями рук.
Основу любого языка составляет алфавит — набор однозначно определенных знаков (символов), из которых формируется сообщение. Языки делятся на естественные (разговорные) и формальные. Алфавит естественных языков зависит от национальных традиций. Формальные языки встречаются в специальных областях человеческой деятельности (математике, физике, химии и т. д.). В мире насчитывается около 10 000 разных языков, диалектов, наречий. Многие разговорные языки произошли от одного и того же языка. Например, от латинского языка образовались французский, испанский, итальянский и другие языки.
Информация становится понятной, если она выражена языком, на котором говорят те, кому предназначена информация.
В процессе развития человеческого общества люди выработали большое число языков. Примеры языков:
Язык –– это знаковая система, используемая для целей коммуникации и познания. Основой большинства языков является алфавит – набор символов, из которых можно составлять слова и фразы данного языка.
Все языки можно разделить на естественные и искусственные.
Естественными называются “обычные”, “разговорные” языки, которые складываются стихийно и в течение долгого времени. История каждого такого языка неотделима от истории народа, владеющего им. Естественный язык, предназначенный, прежде всего, для повседневного общения, имеет целый ряд своеобразных черт:
Основными функциями естественного языка являются:
Искусственные языки создаются людьми для специальных целей либо для определенных групп людей: язык математики, морской семафор, язык программирования. Характерной особенностью искусственных языков является однозначная определенность их словаря, правил образования выражений и правил придания им значений.
Любой язык –– и естественный и искусственный –– обладает набором определенных правил. Они могут быть явно и строго сформулированными (формализованными), а могут допускать различные варианты их использования.
Формализованный (формальный) язык –– язык, характеризующийся точными правилами построения выражений и их понимания. Он строится в соответствии с четкими правилами, обеспечивая непротиворечивое, точное и компактное отображение свойств и отношений изучаемой предметной области (моделируемых объектов).
В отличие от естественных языков формальным языкам присущи четко сформулированные правила семантической интерпретации и синтаксического преобразования используемых знаков, а также то, что смысл и значение знаков не изменяется в зависимости от каких-либо прагматических обстоятельств (например, от контекста).
Большинство формальных языков (созданных конструкций) строится по следующей схеме. сначала выбираетсяалфавит, или совокупность исходных символов, из которых будут строиться все выражения языка; затем описываетсясинтаксис языка, то есть правила построения осмысленных выражений. Буквами в алфавите формального языка могут быть и буквы алфавитов естественных языков, и скобки, и специальные знаки и т.п. Из букв, по определенным правилам можно составлять слова и выражения. Осмысленные выражения получаются в формальном языке, только если соблюдены определенные в языке правила образования. Для каждого формального языка совокупность этих правил должна быть строго определена и модификация любого из них приводит чаще всего к появлению новой разновидности (диалекта) этого языка.
Формальные языки широко применяются в науке и технике. В процессе научного исследования и практической деятельности формальные языки обычно используются в тесной взаимосвязи с естественным языком, поскольку последний обладает гораздо большими выразительными возможностями. В то же время формальный язык является средством более точного представления знаний, чем естественный язык, а следовательно, средством более точного и объективного обмена информацией между людьми.
Формальные языки часто конструируются на базе языка математики. Веком бурного развития различных формальных языков можно считать XX век.
С точки зрения информатики, среди формальных языков наиболее значительную роль играют формальный язык логики(язык алгебры логики) и языки программирования.
Возникновение языков программирования приходится на начало 50-х годов XX века.
Языков программирования и их диалектов (разновидностей) насчитывается несколько тысяч. Классифицировать их можно по-разному. Некоторые авторы разбивают все многообразие языков программирования на процедурные и декларативные. В процедурных языках преобразование данных задается с помощью описания последовательности действий над ними. В декларативных языках преобразование данных задается посредством описания отношений между самими данными. Согласно другой классификации, языки программирования можно разделить на процедурные, функциональные, логические, объектно-ориентированные. Однако любая классификация несколько условна, поскольку, как правило, большинство языков программирования включает в себя возможности языков разных типов.Особое место среди языков программирования занимают языки, обеспечивающие работу систем управления базами данных (СУБД). Часто в них выделяют две подсистемы: язык описания данных и язык манипулирования
Теория кодирования – это раздел теории информации, связанный с задачами кодирования и декодирования сообщений, поступающих к потребителям и посылаемых из источников информации.
Теория кодирования близка к древнейшему искусству тайнописи – криптографии. Над разработкой различных шифров трудились многие известные ученые: философ Ф. Бэкон, математики Д.Кардано, Д. Валлис. Одновременно с развитием методов шифровки развивались приемы расшифровки, или криптоанализа.
В середине ХIХ в. ситуация изменилась. Изобретение телефона и искрового телеграфа поставило перед учеными и инженерами проблему создания новой теории кодирования. Первой ориентированной на технику системой кодирования оказалась азбука Морзе, в которой принято троичное кодирование (точка, тире, пауза).
Двоичное кодирование – один из распространенных способов представления информации. В вычислительных машинах, в роботах и станках с числовым программным управлением, как правило, вся информация, с которой имеет дело устройство, кодируется в виде слов двоичного алфавита.
Двоичный алфавит состоит из двух цифр 0 и 1.
Цифровые ЭВМ (персональные компьютеры относятся к классу цифровых) используют двоичное кодирование любой информации. В основном это объясняется тем, что построить техническое устройство, безошибочно различающее 2 разных состояния сигнала, технически оказалось проще, чем то, которое бы безошибочно различало 5 или 10 различных состояний.
К недостаткам двоичного кодирования относят очень длинные записи двоичных кодов, что затрудняет работу с ними.
ДВОИЧНОЕ КОДИРОВАНИЕ СИМВОЛЬНОЙ (ТЕКСТОВОЙ) ИНФОРМАЦИИ
При сравнении символов наиболее важными аспектами являются уникальность кода для каждого символа и длина этого кода, а сам выбор принципа кодирования практически не имеет значения.
Для кодирования текстов используются различные таблицы перекодировки. Важно, чтобы при кодировании и декодировании одного и того же текста использовалась одна и та же таблица.
Наиболее популярные таблицы перекодировки: ДКОИ-8, ASCII, CP1251, Unicode.
Исторически сложилось, что в качестве длины кода для кодирования символов было выбрано 8 бит или 1 байт. Поэтому чаще всего одному символу текста, хранимому в компьютере, соответствует один байт памяти.
Различных комбинаций из 0 и 1 при длине кода 8 бит может быть 28 = 256, поэтому с помощью одной таблицы перекодировки можно закодировать не более 256 символов. При длине кода в 2 байта (16 бит) можно закодировать 65536 символов.
В настоящее время большая часть пользователей при помощи компьютера обрабатывает текстовую информацию, которая состоит из символов: букв, цифр, знаков препинания и др.
т. е. для представления текстовой информации можно использовать алфавит мощностью 256 символов.
Суть кодирования заключается в том, что каждому символу ставят в соответствие двоичный код от 00000000 до 11111111 или соответствующий ему десятичный код от 0 до 255.
Одному и тому же двоичному коду ставится в соответствие различные символы.
Двоичный код | Десятичный код | КОИ8 | СР1251 | СР866 | Мас | ISO |
11000010 | 194 | б | В | — | — | Т |
Коды 128. 255 (модифицированный альтернативный вариант) |
Для того, чтобы определить по этим таблицам код того или иного символа, нужно сложить номер строки с номером столбца, в которых он расположен. Так, код цифры 5 равен 05+048 = 053.
Типы данных, используемые для обработки
символьной информации
Язык | Тип, ключевое слово | Примеры использования |
Школьный АЯ | Символьный сим | a:=» f » ; b:=»+» ; c:=»5″ If a=» » then k:=k+1 |
Литерный лит | t:=»Литерная величина» s:=» » (пустая строка) | |
Turbo Pascal | Символьный Char | a:=‘ f ‘ ; b:=’+’ ; c:=’5′ ; If a=’ ‘ then k:=k+1 |
Литерный String | t:=’Литерная величина’ ; f:=’ ‘ ; (пустая строка) | |
QBasic | Литерный | t$:=»Литерная величина» f$:=» » (пустая строка) |
Функции и команды обработки строк
Школьный АЯ
Функция длин(S) Возвращает количество символов в строке S.
Операция вырезка позволяет «вырезать» из строки группу соседних символов. Вырезка из строки S подстроки, начинающейся с i-ой и кончающейся j-ой позицией, обозначается S [ i : j]. Вырезка из строки S одного i-го символа обозначается S[i].
Команда присваивания вырезке S[N : M] := SubS. Часть строки S, начиная с позиции N и кончая позицией M, заменяется на подстроку SubS такой же длины.
Turbo Pascal
Процедуры
Delete(Var S:String; N,M:Integer) Удаляет M символов из строки S, начиная с позиции N.
Insert(SubS: String; Var S:String; N:Integer) Вставляет подстроку SubS в строку S, начиная с позиции N.
Str(X:Integer; Var S:String) Возвращает представление числа X в его символьной форме S.
Val(S:String; Var X, Code: Integer) Возвращает представление символов строки S в ее числовой форме X. Параметр Code содержит признак ошибки преобразования (если Code = 0, ошибки нет).
Функции
Chr(X:Byte): Char Возвращает символ с заданным порядковым номером X.
Copy(S: String; N,M: Integer): String Возвращает подстроку из строки S, начиная с позиции N и длиной M символов.
Length(S: String): Byte Возвращает количество символов в строке S.
Ord(X: Char): LongInt Возвращает порядковый номер символа X в таблице кодов символов.
Pos(SubS, S: String): Byte Возвращает номер позиции, начиная с которой в строке S располагается подстрока SubS (если значение функции равно нулю, то S не содержит SubS).
QBasic
Функции
ASC(X$) Возвращает порядковый номер символа X$ в таблице кодов символов.
CHR$(N) Возвращает символ с заданным порядковым номером N.
INSTR([N,] X$,Y$) Возвращает номер позиции строки X$, начиная с которой в ней размещается подстрока Y$. Если подстрока не найдена, то значение функции равно нулю. Поиск подстроки ведется с позиции N, а если N не задано, то с начала строки.
LEFT$(X$,N) Возвращает подстроку, составленную из первых N символов строки X$.
LEN(X$) Возвращает количество символов в строке X$.
MID$(X$,N [,M]) Возвращает подстроку, составленную из M символов строки X$, начиная с позиции N (если параметр М опущен, то возвращаются все символы, начиная с позиции N).
RIGHT$(X$,N) Возвращает подстроку, составленную из последних N символов строки X$.
STR$(N) Возвращает представление числа N в символьной форме.
VAL(X$) Возвращает представление символов строки X$ в числовой форме.
Операторы
MID$(X$,N,M) = Y$ Часть строки X$, начиная с позиции N, длиной M позиций заменяется на строку Y$. Длина X$ не изменяется.
SWAP X$,Y$ Строки X$ и Y$ обмениваются своими значениями.
Представление символьной информации в ЭВМ
Символьная (алфавитно-цифровая) информация хранится и обрабатывается в ЭВМ в форме цифрового кода. Кодом называется уникальное беззнаковое целое двоичное число, поставленное в соответствие некоторому символу.
Необходимый набор символов, предусмотренный в конкретной ЭВМ, включает в себя:
— буквы латинского алфавита
— специальные символы и знаки
— буквы национального алфавита
— символы псевдографики — растры, прямоугольники, одинарные и двойные рамки, стрелки.
Среди наборов символов наибольшее распространение получили знаки кода ASCII (American Standard Code of Information Interchange — американский стандартный код информационного обмена информацией).
В таблице ASCII содержится 256 символов и их кодов. Таблица состоит из двух частей: основной и расширенной. Основная часть (символы с кодами от 0 до 127 включительно) является базовой, она в соответствии с принятым стандартом не может быть изменена. В нее вошли:
— управляющие коды (им соответствуют коды с 1 по 31), которым не соответствуют никакие символы языков, и соответственно эти коды не выводятся ни на экран, ни на устройства печати, но они могут управлять тем, как производится вывод данных.
— арабские цифры, буквы латинского алфавита, знаки препинания, знаки арифметических действий, специальные символы (коды с 32 по 127).
Расширенная часть (символы с кодами от 128 до 255) отдана национальным алфавитам, символам псевдографики и некоторым специальным символам.
В расширенной таблице стандартной кодировки фирмы IBM:
— коды 176-223 занимают символы псевдографики;
— коды 128-175, 224-239 используются для размещения некоторых символов национальных алфавитов различных европейских языков;
— коды 240-255 для размещения специальных знаков.
ОС Windows поддерживает большое число расширенных таблиц для различных национальных алфавитов.
В России используются следующие кодировки символов русского языка:
— ГОСТ-альтернативная кодировка (главное достоинство – расположение символов псевдографики на тех же местах, что и в кодировке IBM);
— кодировка Windows 1251 (используется на большинстве ПК, работающих на платформе Windows);
— КОИ-8 (используется в компьютерных сетях на территории России).
В 1991 году была создана универсальная система кодирования текстовых данных – UNICODE. В данной системе символы кодируются 16-разрядными числами. 16 разрядов позволяет обеспечить уникальные коды для 65536 различных символов – этого достаточно для размещения в одной таблице всех широкоупотребляемых языков.