"Информатика", Поляков К.Ю., Еремин Е.А.
Язык — это система знаков, правил и смыслов, с помощью которой люди и компьютеры представляют и передают информацию. Его алфавит задаёт допустимые знаки, грамматика — правила построения слов и сообщений, а смысл помогает понять содержание. Естественные языки возникают в общении людей, формальные создаются для специальных задач. Знание языка необходимо, чтобы правильно закодировать сообщение и прочитать его.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Язык — система знаков и правил их использования для представления и передачи информации. Знаки заменяют реальные объекты, действия или мысли. Поэтому язык позволяет записать сообщение так, чтобы его мог понять другой человек или обработать компьютер.
Алфавит — конечный набор знаков, используемых в языке. В него могут входить буквы, цифры, знаки препинания или специальные символы. Знание алфавита помогает проверить, допустим ли каждый знак в сообщении.
Слово — последовательность знаков алфавита, имеющая смысл или допустимая по правилам языка. В русском языке словом будет «дом», а в языке программирования допустимая команда может быть специальным словом. Это понятие нужно, чтобы отличать разрешённые последовательности знаков от случайного набора.
Грамматика — совокупность правил построения слов и сообщений языка. Она определяет, в каком порядке можно располагать знаки и части сообщения. Благодаря грамматике получатель понимает, является ли запись правильной и как её следует читать.
Язык можно использовать для кодирования, потому что его знаки замещают объекты, действия и сообщения. Например, слово «дерево» обозначает предмет, хотя само состоит только из букв. Получатель восстанавливает исходную информацию по принятому значению знаков, то есть выполняет декодирование.
Из знаков алфавита составляют слова, а из слов — более сложные сообщения. Но любая последовательность символов ещё не является правильным сообщением: в ней могут встретиться запрещённые знаки или неверный порядок элементов. Правила нужны потому, что они уменьшают неопределённость и позволяют одинаково читать одну и ту же запись.
Естественные языки складываются постепенно в процессе общения людей и меняются вместе с обществом. В них встречаются исключения, разные варианты выражений и слова, смысл которых зависит от ситуации. Формальные языки создаются заранее для конкретной задачи, поэтому их знаки и правила стараются сделать точными и однозначными.
Грамматика определяет правильность построения сообщения: например, допустимы ли скобки, порядок слов или расположение знаков операции. Однако грамматически правильная запись ещё не обязательно сообщает что-то осмысленное. Содержание зависит от значения использованных знаков и от того, что именно они обозначают.
Один объект можно закодировать на разных языках: например, понятие снега обозначается словом «снег» по-русски, snow по-английски или специальным обозначением в программе. Записи будут различаться, хотя передаваемая информация может быть одной и той же. Чтобы понять сообщение, нужно знать выбранный язык, его алфавит, правила и значения знаков.
| Характеристика | Естественный язык | Формальный язык |
|---|---|---|
| Способ возникновения | Складывается и изменяется в процессе общения людей | Создаётся специально для определённой задачи |
| Алфавит | Может включать буквы, цифры и другие знаки | Задаётся точно и однозначно |
| Правила построения сообщений | Содержат исключения и допускают варианты | Формулируются строго и однозначно |
| Понимание смысла | Может зависеть от контекста | Определяется заданными правилами |
| Примеры | Русский, английский и другие национальные языки | Язык математических формул, язык программирования |
Таблицу удобно использовать, если нужно быстро сравнить языки по одному признаку. Например, по строке «Правила построения сообщений» видно, почему программа требует более точной записи, чем обычная фраза. При разборе конкретного языка сначала определите его алфавит, затем проверьте правила и способы понимания смысла.
Условие: для двоичного языка с алфавитом {0, 1} определить, какие последовательности являются словами: 10101, 1201, 00110. Нужно проверить не смысл записи, а только принадлежность каждого символа алфавиту. В этом языке разрешены лишь цифры 0 и 1.
Ответ: словами являются 10101 и 00110. Запись 1201 не подходит из-за цифры 2. Даже если последовательность не имеет привычного смысла, она может быть допустимым словом формального языка.
Условие: определить, какие записи являются правильными формулами языка арифметики: 2 + 3 · 4, (2 + 3, 2 + · 3, x = 5. Проверяем не только наличие разрешённых символов, но и порядок их соединения. В рассматриваемом языке скобка должна закрываться, а знак операции — стоять между числами или выражениями.
Ответ: без дополнительных оговорок правильна формула 2 + 3 · 4. Записи (2 + 3 и 2 + · 3 неправильны. Для x = 5 нужно учитывать полный набор правил выбранного языка.
Условие: закодировать сообщение с помощью заранее заданного алфавита соответствий и объяснить, почему его можно прочитать только при знании этого алфавита. Пусть А = 1, Б = 2, В = 3, а сообщение — «АБВА». Тогда каждый знак заменяется назначенным ему кодом.
Ответ: закодированное сообщение имеет вид 1 2 3 1. Без таблицы соответствий набор цифр может быть понят по-разному или остаться непонятным. Это показывает, что кодирование связано не только с заменой знаков, но и с общими правилами чтения.
Ошибка 1. Алфавитом называют весь язык, хотя алфавит содержит только допустимые знаки. Язык дополнительно включает правила их сочетания и смысл. Проверьте себя вопросом: перечисляете ли вы только символы или ещё описываете их использование.
Ошибка 2. Любой набор символов считают словом, потому что видят в нём знаки нужного алфавита. Но последовательность должна также соответствовать грамматике языка. Сначала проверьте состав знаков, затем их порядок и допустимость всей записи.
Ошибка 3. Иногда правильную запись считают автоматически осмысленной. Грамматика подтверждает только форму сообщения, а не наличие содержательной мысли. Проверьте отдельно, построена ли запись правильно и что именно обозначают её знаки.
Ошибка 4. Кодирование смешивают с шифрованием, поскольку в обоих случаях запись меняет вид. При кодировании информацию переводят в удобную форму представления, а при шифровании стараются скрыть содержание. Спросите себя, предназначена ли новая запись для удобной передачи или для ограничения доступа.
До изучения темы нужно знать, что такое информация, сообщение, знак и способ представления информации. Эти понятия объясняют, что именно передаётся и с помощью каких обозначений. Язык объединяет отдельные знаки в понятную систему.
Знания о языке нужны при изучении языков программирования и записи математических формул. В обоих случаях используются специальные алфавиты и правила построения выражений. Компьютерное кодирование также опирается на замену информации последовательностями знаков.
Дальше эти знания пригодятся при изучении алгоритмов, программ и синтаксических ошибок. Алгоритм записывают на языке, а ошибка в структуре команды означает нарушение его грамматики. Умение находить такие нарушения помогает правильно читать и создавать программы.
Чем язык отличается от алфавита?
Алфавит — это только набор допустимых знаков. Язык включает алфавит, правила построения сообщений и их смысл.
Может ли набор символов быть словом, если он не имеет смысла?
Он может считаться словом формального языка, если состоит из допустимых знаков и соответствует его правилам. В естественном языке бессмысленная последовательность обычно словом не считается.
Зачем нужны правила языка, если известны все его знаки?
Правила показывают, как соединять знаки и какие последовательности допустимы. Без них нельзя отличить правильное сообщение от случайного набора символов.
Чем естественный язык отличается от формального?
Естественный язык складывается исторически и меняется в процессе общения людей. Формальный язык создают специально, поэтому его алфавит и правила задаются точно.
Почему язык программирования считают формальным языком?
У языка программирования есть точно заданные символы, конструкции и правила их записи. Компьютер принимает только сообщения, соответствующие этой грамматике.
§ 4. Язык — средство кодирования