Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмы и языки.doc
Скачиваний:
13
Добавлен:
26.08.2019
Размер:
321.54 Кб
Скачать

Основные алгоритмические структуры

Алгоритмической структурой называется стандартный способ соединения отдельных шагов алгоритма для выполнения типичной последовательности действий.

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

Следование. Представляет собой последовательное выполнение действий (рис. 2). Действия 1, 2, … , N могут, в свою очередь, включать в себя другие алгоритмические структуры.

Рис. 2. Следование

Развилка. Применяется в случае, когда в зависимости от истинности некоторого логического условия необходимо выполнить то или иное действие (рис. 3).

Рис. 3. Развилка

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

  1. Цикл До. Применяется, когда некоторые операции надо повторять до тех пор, пока некоторое условие не станет ложным (рис. 4).

Рис. 4. Цикл До

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

  1. Цикл Пока. Применяется, когда некоторые операции надо повторять до тех пор, пока некоторое условие не станет истинным (рис. 5).

Рис. 5. Цикл Пока

Понятие языка

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

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

  • международного общения (эсперанто, интерлингва);

  • автоматической обработки данных с помощью ЭВМ (языки программирования);

  • записи информации из определенной области науки и техники (информационные языки).

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

Основой любого естественного или искусственного языка является алфавит, состоящий из некоторого множества символов или букв.

Алфавитом называется множество, элементы которого будем называются буквами или символами.

Алфавиты будем обозначать заглавными латинскими буквами.

Примеры алфавитов:

A = {а, б, в, …. },

В = {, r, J},

C = {0, 1}

D = {|}.

Любая конечная последовательность букв алфавита называется словом.

Приведем примеры слов.

В алфавите B словами будут следующие последовательности букв:

, r, rrr, JrrJ.

В алфавите D можно построить следующие слова:

|, ||, |||, ||||, |||||.

В любом алфавите можно построить бесконечное множество слов. Однако не любая последовательность букв образует правильное слово с точки зрения данного языка. Например, в алфавите A последовательность букв «карова» не является правильным словом с точки зрения русского языка.

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

Языком называется подмножество L множества всех слов алфавита A: .

Слова, входящие в подмножество L, называются правильно построенными словами. Связь между множеством всех слов алфавита и множеством слов, образующих язык, показана на рис. 6.

Рис. 6. Множество правильно построенных слов

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

      1. Задание правил построения правильно построенных слов.

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

      1. Задание правила распознавания правильно построенных слов. Такое правило является алгоритмом, на вход которого подается слово, а на выходе появляется ответ «да», если слово входит в язык, или «нет», если слово не входит в язык.

Слова могут объединяться в более сложные конструкции – предложения.

Предложением называется конечная последовательность правильно построенных слов.

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

Совокупность правил, с помощью которых строятся правильные предложения, называется синтаксисом.

Каждому правильному предложению языка приписывается некоторый смысл.

Совокупность правил, с помощью которых предложениям ставится в соответствие смысл, называется семантикой.

Таким образом, любой язык включает в себя следующие элементы: алфавит, грамматику, синтаксис и семантику.

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

  • зависимость синтаксиса от семантики;

  • многозначность смысла предложений;

  • расплывчатость смысла предложений и возможность парадоксальных предложений.

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

«Кравченко пришел домой»

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

Приведем пример многозначности естественного языка:

«Я вижу косу».

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

Пример парадоксального предложения:

«Если у состава отцепить последний вагон, то у состава не будет последнего вагона».