"Информатика (базовый уровень)", Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.
Чтобы передать или обработать информацию, её представляют с помощью знаков и правил — то есть используют язык. Язык может быть естественным, как русский, или формальным, как язык математических формул. Если сообщение нужно представить иначе, применяют кодирование, а для восстановления исходной формы — декодирование. Эти понятия помогают понять, как люди обмениваются сообщениями и как компьютер хранит и обрабатывает текст, числа, изображения и звук.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Язык — система знаков и правил их использования для представления и передачи информации. Он нужен, чтобы участники общения могли создавать сообщения и понимать их. Знаками могут быть буквы, цифры, жесты, звуковые сигналы или специальные символы. Одних знаков недостаточно: их применение должно подчиняться правилам.
Алфавит — конечное множество знаков, используемых в некотором языке. Например, буквы русского алфавита служат знаками для записи русских слов. Алфавит задаёт, из чего можно составлять сообщения, но не объясняет, как именно их строить. Для этого нужны правила языка.
Код — набор условных обозначений и правил, по которым информация представляется в другой форме. Например, букву можно сопоставить определённой комбинации сигналов. Код нужен, когда информацию требуется передать, хранить или обработать в удобном для конкретной задачи виде. Чтобы прочитать полученное сообщение, адресату должны быть известны правила кода.
Кодирование — преобразование информации из одной формы представления в другую по определённым правилам. Оно позволяет приспособить сообщение к способу передачи или возможностям устройства. Обратное преобразование называют декодированием: по коду восстанавливают исходную форму сообщения. Без правила, связывающего исходные знаки и код, однозначно восстановить сообщение может быть невозможно.
Информация становится доступной для передачи и обработки, когда она представлена знаками некоторого языка. Саму мысль или сведения нельзя непосредственно отправить по каналу связи: передавать можно сигнал, например звук, свет или электрический импульс. Знаки связывают сведения с такими сигналами, и получатель может их распознать. Поэтому для обмена информацией отправитель и получатель должны пользоваться понятной им системой представления.
Любой язык включает алфавит и правила построения сообщений, потому что отдельные знаки обычно не сообщают всего смысла. Значение появляется, когда знаки соединяются допустимым способом: из букв составляются слова, а из слов — высказывания. Один и тот же знак в разных сочетаниях может выполнять разные функции. Правила помогают понять, какие последовательности допустимы и как их следует истолковывать.
Естественные языки складываются в процессе общения людей: их правила развиваются вместе с употреблением и культурой. Поэтому они гибкие и позволяют выразить множество оттенков смысла, но отдельная фраза иногда допускает несколько толкований. Формальные языки создают для конкретных задач, когда важно заранее определить каждый знак и способ его сочетания. Их правила можно проверять точно, что особенно полезно в математике и работе компьютеров.
При кодировании исходное сообщение преобразуется в код по заранее установленному соответствию между знаками или их последовательностями. Получатель применяет те же правила в обратном направлении — выполняет декодирование — и восстанавливает сообщение. Для надёжного восстановления правила должны быть известны, а кодирование должно сохранять различия между сообщениями, которые требуется различать. Если двум исходным знакам присвоен один и тот же код без дополнительных условий, декодирование может стать неоднозначным.
Одну и ту же информацию можно представить разными способами: текст можно произнести, записать буквами или передать условными сигналами. Компьютер представляет данные последовательностями двоичных знаков, потому что электронным устройствам проще и надёжнее различать два состояния, например наличие и отсутствие сигнала. Эти состояния условно обозначают цифрами 1 и 0. Так двоичный код становится общим способом представления разных видов данных, хотя смысл последовательности зависит от правил её прочтения.
| Признак | Естественный язык | Формальный язык |
|---|---|---|
| Как возникает | Складывается в общении людей и меняется со временем. | Создаётся специально для определённых задач. |
| Ключевые знаки и их сочетания | Слова, звуки и другие принятые знаки; их сочетания регулируются грамматикой и употреблением. | Знаки выбранного алфавита и точно установленные правила их соединения. |
| Точность и однозначность правил | Правила достаточно гибкие и зависят также от контекста. | Правила стремятся задавать точно и однозначно. |
| Возможность неоднозначного толкования | Возможна: значение может зависеть от ситуации и интонации. | Обычно ограничена строгими правилами записи и толкования. |
| Примеры | Русский, английский и другие языки общения. | Математическая запись, язык программирования. |
| Основное назначение | Общение людей и выражение разнообразных мыслей. | Точная запись объектов, отношений или команд. |
Сравнивайте языки по признакам, а не только по внешнему виду знаков: важны происхождение, правила и назначение. Если требуется точная запись, обратите внимание на строгость правил и возможность однозначного чтения. Таблица показывает общие различия, но не означает, что естественный язык не имеет правил или формальный не может быть понятен человеку.
Задача 1. Определить, являются ли языками русский язык, дорожные знаки, математические формулы и случайный набор символов. Проверяем каждый пример не по тому, похож ли он на запись, а по наличию знаков и правил, позволяющих строить осмысленные сообщения. Это важно, потому что отдельный набор символов ещё не гарантирует наличие языка. Решим по очереди.
У русского языка есть алфавит и правила построения слов и предложений. Значит, это язык.
У дорожных знаков есть набор условных изображений и правила их использования для передачи сообщений участникам движения. Значит, это знаковая система, которую можно считать языком.
Математические формулы используют заданные символы и строгие правила записи. Значит, математическая запись относится к формальным языкам.
Случайный набор символов может использовать знаки из какого-либо алфавита, но сам по себе не следует правилам построения осмысленных сообщений. Его нельзя признать языком только на основании наличия символов.
Ответ: русский язык, система дорожных знаков и математические формулы являются языками; случайная последовательность символов без правил — нет.
Задача 2. По таблице замены букв закодировать слово «ИНФОРМАЦИЯ», а затем выполнить обратное декодирование. В условии не приведена сама таблица соответствий, поэтому числовую или символьную последовательность однозначно вычислить нельзя. В такой задаче важно не придумывать правило, а применить именно то, которое дано. Покажем порядок действий.
Запишите слово по буквам: И, Н, Ф, О, Р, М, А, Ц, И, Я.
Для каждой буквы найдите соответствующий ей знак в таблице и замените буквы найденными знаками, сохраняя порядок. Повторяющуюся букву И кодируйте тем же правилом, если таблица задаёт взаимно однозначную замену.
Для проверки прочитайте полученную последовательность и по таблице выполните обратную замену каждого знака на букву. Сверьте результат с исходным словом.
Ответ: точная закодированная последовательность зависит от таблицы; правильное декодирование должно восстановить «ИНФОРМАЦИЯ».
Задача 3. Сообщение состоит из 8 символов, а для каждой позиции доступны два знака. Нужно найти число разных сообщений и связать его с двоичным кодированием. На каждой позиции выбор независим: можно поставить любой из двух знаков. Поэтому для подсчёта перемножаем число вариантов на всех позициях.
Для первой позиции есть 2 варианта, и для каждой следующей также по 2.
Всего позиций 8, поэтому общее число последовательностей равно 2 × 2 × 2 × 2 × 2 × 2 × 2 × 2 = 2⁸.
Вычисляем: 2⁸ = 256. Длина из восьми двоичных знаков позволяет представить 256 разных последовательностей.
Ответ: 256 сообщений. Именно поэтому двоичные последовательности удобны для кодирования: даже из двух знаков можно составлять множество различных сообщений.
Ошибка — считать языком любой набор знаков. Её допускают, потому что знаки заметны, а правила их сочетания не всегда очевидны. Но без правил последовательность может быть случайной и не образовывать сообщения. Проверьте себя: можно ли объяснить, какие сочетания допустимы и как их понимать?
Ошибка — путать алфавит с языком. Алфавит перечисляет знаки, а язык дополнительно задаёт правила их использования, поэтому списка букв недостаточно для составления правильных фраз. Путаница возникает, когда знаки принимают за всю систему общения. Для проверки назовите отдельно допустимые знаки и правила построения сообщения.
Ошибка — считать кодирование шифрованием. Кодирование меняет форму представления, но не обязательно скрывает смысл: например, компьютерный текст записан двоичными знаками для обработки. Шифрование, напротив, используют, чтобы содержание не прочитал посторонний без ключа. Проверьте цель преобразования: удобство представления указывает на кодирование, сокрытие содержания — на шифрование.
Ошибка — декодировать не по исходным правилам или не в обратном направлении. Тогда вместо исходного сообщения можно получить другие знаки, даже если кодирование было выполнено правильно. Обычно это происходит, когда таблицу соответствий читают не той стороной или пропускают знак. Проверьте каждый элемент по правилам и сравните восстановленное сообщение с исходным.
Для понимания темы полезно знать, что такое информация, сообщение и знак, а также различать способы представления данных. Это помогает отделять сведения от формы, в которой они записаны или переданы. Далее понятия языка и кода понадобятся при изучении двоичного кодирования и представления в компьютере текста, чисел, графики и звука. Языки программирования тоже связаны с этой темой: они формальны, имеют заданный алфавит и строгий синтаксис, то есть правила записи программ.
Чем язык отличается от алфавита?
Алфавит — это набор знаков, которыми можно пользоваться. Язык включает алфавит и правила, по которым знаки сочетаются в сообщения. Поэтому одного списка букв недостаточно, чтобы получить язык.
Почему математический язык считают формальным?
В математике знаки и правила записи задаются точно: например, знак равенства имеет определённый смысл. Это помогает читать формулы одинаково и избегать произвольных толкований. Поэтому математический язык относят к формальным.
Можно ли одну и ту же информацию закодировать разными способами?
Да. Одно сообщение можно представить, например, буквами, условными сигналами или последовательностью нулей и единиц. Главное, чтобы были известны правила кодирования и декодирования.
Чем кодирование отличается от шифрования?
Кодирование меняет форму представления информации, например превращает текст в последовательность двоичных знаков. Шифрование предназначено для сокрытия содержания от тех, у кого нет нужного ключа. Закодированное сообщение не обязательно является секретным.
Почему компьютеры используют именно двоичный код?
Электронным устройствам надёжно различать два состояния, например наличие и отсутствие сигнала. Их удобно обозначать цифрами 1 и 0. Поэтому данные в компьютере представляют последовательностями двоичных знаков.
§ 2. Предоставление информации, языки, кодирование