Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций СиАОД.docx
Скачиваний:
8
Добавлен:
01.03.2025
Размер:
4.62 Mб
Скачать
  1. Управление с помощью таблиц

Программа «лексический анализатор»

Операция читать_лит – читает очередную литеру анализируемого текста и выдает код, класс литеры.

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

имя := ””

состояние := 1

след_состояние := переход[состояние, класс(след_литера)]

повторять

нц

имя:=имя след_литера;

состояние := след_состояние

след_состояние := переход[состояние, класс(след_литера)]

кц

до след_состояние = 0

Выделяемые лексемы задаются таблицей перехода, которая заполняется исходя из диаграммы перехода

состояние

Класс следующей литеры

Цифра

Точка

Знак операции

Буква

пробел

1- исходное

2

4

6

7

5

2-целое

2

3

0

0

0

3- вещественное

3

0

0

0

0

4- ошибка

3

0

0

0

0

5 -разделитель

0

0

0

0

5

6- оператор

0

0

0

0

0

7-идентификатор

7

0

0

7

0

  1. Графы

В математической теории графов и информатике граф — это совокупность непустого множества вершин и множества пар вершин (связей между вершинами).

Объекты представляются как вершины, или узлы графа, а связи — как дуги, или рёбра. Для разных областей применения виды графов могут различаться направленностью, ограничениями на количество связей и дополнительными данными о вершинах или рёбрах.

Неориентированный граф G= (V, E) состоит из конечного множества вершин V и множества ребер E.

Ориентированный граф G= (V, E) состоит из конечного множества вершин V и множества дуг E.

Дуга – ориентированное ребро, представитма в виде упорядоченной пары вершин ( v, w ), где вершина v называется началом, а вершина w - концом дуги.

    1. Способы представления графа

      1. Матрица смежности

Матрица смежности графа G с конечным числом вершин n (пронумерованных числами от 1 до n) — это квадратная матрица A размера n, в которой значение элемента aij равно числу рёбер из i-й вершины графа в j-ю вершину.

Иногда, особенно в случае неориентированного графа, петля (ребро из i-й вершины в саму себя) считается за два ребра, то есть значение диагонального элемента aii в этом случае равно удвоенному числу петель вокруг i-й вершины.

Матрица смежности простого графа (не содержащего петель и кратных ребер) является бинарной матрицей и содержит нули на главной диагонали.

      1. Матрица инцидентности

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

В случае ориентированного графа каждому ребру <x,y> ставится в соответствие "-1" на позиции (x,y) и "1" на позиции (y,x); если связи между вершинами нет, то ставится в соответствие "0".