Что значит формальный язык в информатике

Языки

Определение и классификация языков

Язык — это определенная система символьного представления информации. В словаре по школьной информатике, составленном А.П. Ершовым [6], дано такое определение: “Язык — множество символов и совокупность правил, определяющих способы составления из этих символов осмысленных сообщений”. Поскольку под осмысленным сообщением понимается информация, то данное определение по сути своей совпадает с первым.

Языки делятся на две группы: естественные и формальные. Естественные языки — это исторически сложившиеся языки национальной речи. Для большинства современных языков характерно наличие устной и письменной форм речи. Анализ естественных языков в большей степени является предметом филологических наук, в частности, лингвистики. В информатике анализом естественных языков занимаются специалисты в области искусственного интеллекта. Одна из целей разработки проекта ЭВМ пятого поколения — научить компьютер понимать естественные языки.

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

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

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

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

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

Языки информатики

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

Информация, циркулирующая в компьютере, делится на два вида: обрабатываемая информация (данные) и информация, управляющая работой компьютера (команды, программы, операторы).

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

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

В самом общем смысле можно сказать, что языком представления данных ЭВМ является язык двоичных кодов. Однако с точки зрения приведенных выше свойств, которыми должен обладать всякий язык: алфавита, синтаксиса, семантики, прагматики, — нельзя говорить об одном общем языке двоичных кодов. Общим в нем является лишь двоичный алфавит: 0 и 1. Но для различных типов данных различаются правила синтаксиса и семантики языка внутреннего представления. Одна и та же последовательность двоичных цифр для разных типов данных имеет совсем разный смысл. Например, двоичный код “0100000100101011” на языке представления целых чисел обозначает десятичное число 16 683, а на языке представления символьных данных обозначает два символа — “А+”. Таким образом, для разных типов данных используются разные языки внутреннего представления. Все они имеют двоичный алфавит, но различаются интерпретацией символьных последовательностей.

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

Внутренним языком представления действий над данными (языком управления работой компьютера) является командный язык процессора ЭВМ. К внешним языкам представления действий над данными относятся языки программирования высокого уровня, входные языки пакетов прикладных программ, командные языки операционных систем, языки манипулирования данными в СУБД и пр.

Любой язык программирования высокого уровня включает в себя как средства представления данных — раздел данных, так и средства представления действий над данными — раздел операторов (см. “Языки программирования” ). То же самое относится и к другим перечисленным выше типам компьютерных языков.

Среди формальных языков науки наиболее близким к информатике является язык математики.
В свою очередь, из множества математических дисциплин наибольшее приложение в информатике имеют теория чисел и математическая логика.
В связи с этим можно говорить о том, что темы систем счисления (языка представления чисел) и основ математической логики (языка логики) относятся к фундаментальным основам информатики (см. “Системы счисления” и “Логические выражения” ).

Методические рекомендации

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

Читайте также:  Школа английского языка в благовещенске рб

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

Следует обращать внимание учеников на общность некоторых языковых конструкций, используемых в различных технологиях. Например, правила записи формул в электронных таблицах и арифметических выражений в языках программирования практически одинаковы. Существуют и различия, на которые тоже следует обращать внимание. Например, в языках программирования логические связки (NOT, AND, OR) являются знаками операций, а в электронных таблицах — именами функций.

Для упрощения работы пользователя в современном программном обеспечении часто применяются различного рода оболочки, обеспечивающие удобный пользовательский интерфейс. Следует объяснять ученикам, что за этими оболочками, как правило, скрыт определенный формализованный язык. Например, за графической оболочкой операционной системы Windows скрывается командный язык ОС. Другой пример: СУБД MS Access предоставляет пользователю возможность для создания БД использовать конструктор таблиц, а для построения запросов — конструктор запросов. Однако за этими высокоуровневыми средствами “скрывается” SQL — универсальный язык описания данных и манипулирования данными. Перейдя в соответствующий режим, можно показать, как выглядят команды на SQL, сформированные в результате работы с конструктором.

Источник

Формальные и естественные языки

Естественные языки являются языками, на которых говорят люди, такие как английский, испанский, и французский языки. Они не были разработаны людьми (хотя люди пытаются навязать какие-то правила для них); они развивались естественным путем.

Формальные языки являются языками, которые разработаны людьми для конкретных применений. Например, нотация, которую математики используют как формальный язык, которая особенно хороша для обозначения отношений между числами и символами. Химики используют формальный язык для представления химической структуры молекул. И самое важное:

Языки программирования являются формальными языками, которые были разработаны для расчетных выражений.

Формальные языки, как правило, имеют строгие правила синтаксиса. Например, 3+3=6 является синтаксически правильным математическим утверждением, но 3=+$6 — нет. H2O является синтаксически правильным химическим названием, но 2ZZ — нет.

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

Когда вы читаете предложение на английском языке или оператор на формальном языке, вы должны выяснить, какова структура предложения присутствует (хотя на естественном языке вы делаете это подсознательно). Этот процесс называется синтаксическим анализом.

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

Хотя у формальных и естественных языков есть много особенностей в общих лексемах, структуре, синтаксисе и семантике, там много различий:

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

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

буквальность — естественные языки полны идиом и метафор. Если я говорю: «Второй ботинок упал» там, вероятно, нет никакой обуви и нечему падать. Формальные языки означают именно то, что они говорят.

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

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

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

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

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

Традиционно первая программа, которую пишут на новом языке, называется «Hello, World!», потому что всё, что она делает — это отображает слова «Hello, World!». В Python, это выглядит следующим образом:

Это пример оператора печати, который на самом деле не печатает ничего на бумаге. Он отображает значение на экране. В этом случае результатом являются слова:

Кавычки в программе отмечают начало и конец значения; они не появляются в результате.

Некоторые люди судят о качестве языка программирования по простоте программы «Hello, World!». По этому образцу, Python делает это настолько, насколько это возможно.

Решение проблемы — процесс разработки проблемы, нахождение решения и отражение решения.

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

Низкоуровневый язык — язык программирования, который разработан, чтобы быть естественным для выполнения компьютером; также называемый «машинным языком» или «языком ассемблера».

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

Читайте также:  Музыкальное поздравление с днем рождения на немецком языке

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

Исходный код — программа на языке высокого уровня перед ее компиляцией. объектный код — вывод компилятора после того, как он перевел программу. выполняемый код — другое имя для «объектного кода», который готов к выполнению. сценарий — программа, хранимая в файле (как правило та, которая будет интерпретироваться).

Программа — набор инструкций, который определяет вычисления. алгоритм — общий процесс решения класса проблем.

Баг — ошибка в программе. отладка — процесс поиска и удаления любой из трех типов ошибок программирования.

Синтаксис — структуры программы. синтаксическая ошибка — ошибка в программе, которая делает невозможным анализ (и, следовательно, невозможность интерпретации).

Ошибка выполнения — ошибка, которая не встречается, пока программа не начнет выполняться, но которая предотвращает продолжение программы.

Исключение — другое название ошибки выполнения. семантическая ошибка — ошибка в программе, которая заставляет ее делать что-то другое, чем то, что подразумевалось программистом.

Семантика — смысл программы. естественный язык — любой из языков, на котором говорят люди и которые развивались естественным образом.

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

Лексема — один из основных элементов синтаксической структуры программы, аналогичный слову на естественном языке.

Синтаксический анализ — изучение программы и анализ синтаксической структуры.

Оператор печати — инструкция, которая вызывает интерпретатор Python для отображения значения на экране.

Статьи к прочтению:

Естественные и формальные язык. Формы представления информации | Информатика 7 класс #8 | Инфоурок

Похожие статьи:

Если речь идёт о составлении алгоритмов для процессора ЭВМ (электронно-вычислительной машины), исполнителем является процессор. Упрощённая модель…

Иску?сственные языки? — специальные языки, которые, в отличие от естественных, сконструированы целенаправленно. Таких языков существует уже более тысячи,…

Источник

Формальный язык

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

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

Определение

Формальный язык может быть определён по-разному, например:

Если алфавит задан как <a, b>, а язык L включает в себя все слова над ним, то слово ababba принадлежит L. Пустое слово (то есть строка нулевой длины) допускается и часто обозначается как e, ε или Λ.

Некоторые примеры формальных языков:

Операции

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

Список литературы

Смотреть что такое «Формальный язык» в других словарях:

формальный язык — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN formal language … Справочник технического переводчика

Формальный язык — то же, что Формализованный язык. Иногда под термином «Ф. я.» понимают также формальную систему (См. Формальная система) … Большая советская энциклопедия

ФОРМАЛЬНЫЙ ЯЗЫК — в математической лингвистике произвольное множество цепочек (т. е. слов )в нек ром (конечном или бесконечном) алфавите V (иногда называемом также словарем), т. е. выражений вида где число k, обычно обозначаемое есть длина цепочки Рассматривается… … Математическая энциклопедия

ФОРМАЛЬНЫЙ ЯЗЫК, ПРЕДСТАВИМЫЙ МАШИНОЙ — формальный язык, распознаваемый машиной, множество всех тех слов, при работе над к рыми машина попадает в одно из выделенных состояний. Всякое рекурсивно перечислимое множество слов есть формальный язык (ф. я.), представимый нек рой Тьюринга… … Математическая энциклопедия

Язык программирования — искусственный (формальный) язык, предназначенный для записи алгоритмов. Язык программирования задается своим описанием и реализуется в виде специальной программы: компилятора или интерпретатора. По английски: Programming language Синонимы:… … Финансовый словарь

ЯЗЫК ПРОГРАММИРОВАНИЯ — это совокупность набора символов (алфавита) системы, правил образования (синтаксис) и истолкования конструкции из символов (семантика) для задания алгоритмов с использованием символов естественного языка. В самом общем виде формальный язык… … Большая политехническая энциклопедия

язык концептуальной схемы — Формальный язык для описания концептуальной схемы, ее составных частей и действий над ними. [ГОСТ 34.320 96] Тематики базы данных EN conceptual schema language … Справочник технического переводчика

ЯЗЫК ПРОГРАММИРОВАНИЯ — формальный язык для описания данных (информации) и алгоритма (программы) их обработки на ЭВМ. Основу Я. п. составляют алгоритмические языки. Первыми Я. п. были внутренние машинные языки, представляющие собой системы команд конкретной ЭВМ,… … Большой энциклопедический политехнический словарь

формальный синтаксис — 3.4.1 формальный синтаксис: Спецификация точно сформулированных предложений формального языка с применением формальной грамматики. Примечание 1 Формальный язык это машинно ориентированный язык с интерпретированием. Примечание 2 Формальная… … Словарь-справочник терминов нормативно-технической документации

Язык (значения) — Язык: В Викисловаре есть статья «язык» Язык знаковая система для обмена информацией. Естественный язык сформи … Википедия

Источник

Естественные и формальные языки. Формы представления информации.

Урок 7. Информатика 7 класс (ФГОС)

Конспект урока «Естественные и формальные языки. Формы представления информации.»

На прошлых уроках мы узнали:

· Информация для человека – это система некоторых посланий, информационных сигналов, которые человек получает из различных источников.

· Информационные сигналы представляют собой некоторые изменения физических величин. Человек получает информационные сигналы и каким-то образом интерпретирует.

· Чтобы сохранить или передать информацию, человек кодирует её с помощью знаков.

· Знак – это объект-заменитель, который может обозначать другой объект, явление или отношение. Большинство знаков являются частью знаковых систем.

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

Читайте также:  Новые формы уроков русского языка и литературы

· Язык – это знаковая система, которую человек использует чтобы выразить свои мысли или для общения с другими людьми.

· Формы представления информации.

И так из прошлого урока мы помним, что при помощи языка мы можем выразить всё, что угодно и передать сообщение любого содержания. Мы можем передавать эти сообщения устно и письменно. Для этого в русском языке есть два набора знаков, звуковые, которые называются фонемами и визуальные знаки, которые называются буквами. Для того, чтобы состоялась передача информации с помощью языка, им должны владеть и отправитель, и получатель.

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

Черты естественных языков:

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

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

· В естественных языках есть большое количество правил. Некоторые из них имеют явный характер, например правила грамматики, а другие – неявные, например правила употребления слов и их осмысления.

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

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

· Такие языки всегда динамично развиваются и подстраиваются под потребности взаимодействия людей, которые им владеют. Это хорошо видно на примере различных профессиональных диалектов. Люди различных профессий часто передают друг другу информацию разного рода. Для того, чтобы делать это оперативно и точно постоянно появляются все новые и новые слова самых разных значений.

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

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

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

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

Формы представления информации

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

Главная разница между знаковой и образной формами представления информации в том, что знаковая информация всегда состоит из дискретных сигналов. Мы можем подсчитать количество буков в алфавите, цифр в десятичной системе счисления или фонем в русском языке. То есть на каждой знаковой позиции при такой форме представления может стоять символ из строго определённого конечного набора. Информация в образной форме всегда состоит из непрерывных сигналов. Можно бесконечно уточнять громкость каждого конкретного звука, или цвет каждой отдельной точки на рисунке. Большая часть информационных сигналов, которые получает человек, непрерывны. Однако компьютер работает лишь с дискретными величинами. Для того, чтобы информацию можно было точно сохранить или передать с помощью компьютера, нужно закодировать её в знаковой форме, то есть представить в виде дискретных сигналов, например в виде цифр.

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

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

· Большинство формальных языков были созданы искусственно. В них одни и те же сочетания знаков всегда имеют одинаковые значения, то есть информация, которая на них записана всегда объективна.

· Человек может представлять информацию в знаковой и образной форме.

· Информация в знаковой форме записана на каком-либо формальном или неформальном языке и имеет дискретную, то есть прерывную форму.

· В образной форме информация представляется звуком или изображением и имеет непрерывную форму.

Источник

Простыми словами о самом интересном
Добавить комментарий