Приложение 1: Примеры блок-схем
MS-Dos версия:
Windows версия:
Пример 1. Нахождение максимума из двух чисел.
Пример 2. Сортировка методом пузырька (Windows версия).
Пример3. Вычислительная программа (MS-Dos версия)
Приложение 2: Матрицы переходов анализаторов
Матрица лексического анализатора (сканера)
| 0
| (
| )
| +
| -
| /
| *
| <
| >
| =
| ^
| |
| !
| [
| ]
| ,
| ;
| &
| .
| "
| 0
| ‘’
| ‘
| “
|
0
| 1
| 2
| 22
| 22
| 9
| 12
| 14
| 15
| 17
| 24
| 14
| 18
| 23
| 22
| 22
| 22
| 22
| 22
| 3
| -9
| E
| 0
| 4
| 6
|
1
| 1
| 1
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| -1
| -1
| -1
| 0
| -1
| -1
|
2
| -1
| 2
| -1
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| -1
| 0
| 0
| 0
| 0
| 3
| -1
| -1
| 0
| -1
| -1
|
3
| -1
| 3
| -1
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| -1
| 0
| 0
| 0
| 0
| -1
| -1
| -1
| 0
| -1
| -1
|
4
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
| 5
|
5
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 7
| -1
|
6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| 6
| -1
| 6
| 6
| 8
|
7
| -1
| -1
| -1
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| -1
| 0
| -1
| 0
| 0
| -1
| -1
| 0
| -1
| -1
|
8
| -1
| -1
| -1
| 0
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 0
| 0
| -1
| -1
| -1
| -1
| 0
| -1
|
9
| 0
| 0
| 0
| -1
| 10
| -1
| -1
| -1
| -1
| -1
| 11
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| 0
| -1
|
10
| -1
| -1
| -1
| 0
| -1
| -1
| 0
| 0
| 0
| 0
| -1
| 0
| 0
| 0
| -1
| 0
| 0
| 0
| 0
| -1
| -1
| -1
| 0
| -1
|
11
| 0
| 0
| 0
| -1
| -1
| 0
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| 0
| 0
|
12
| 0
| 0
| 0
| -1
| -1
| 13
| -1
| -1
| -1
| -1
| 11
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| 0
| 0
|
13
| -1
| -1
| -1
| -1
| 0
| -1
| 0
| 0
| 0
| 0
| -1
| 0
| 0
| 0
| -1
| 0
| 0
| 0
| 0
| -1
| -1
| -1
| 0
| -1
|
14
| 0
| 0
| 0
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 11
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| 0
| 0
|
15
| 0
| 0
| 0
| -1
| -1
| 0
| -1
| -1
| 16
| 0
| 11
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| 0
| 0
|
16
| 0
| 0
| 0
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 11
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 0
| -1
|
17
| 0
| 0
| 0
| -1
| -1
| 0
| -1
| -1
| -1
| 16
| 11
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| 0
| 0
|
18
| 0
| 0
| 0
| -1
| -1
| 0
| -1
| -1
| -1
| -1
| 11
| -1
| 19
| -1
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| 0
| 0
|
19
| 0
| 0
| 0
| -1
| -1
| 0
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| 0
| 0
|
20
| 0
| 0
| 0
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 11
| -1
| -1
| 0
| -1
| -1
| -1
| -1
| 21
| 0
| -1
| -1
| 0
| 0
|
21
| 0
| 0
| 0
| -1
| -1
| 0
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| 0
| 0
|
22
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
|
23
| 0
| 0
| 0
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 11
| -1
| -1
| 0
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| 0
| 0
|
24
| 0
| 0
| 0
| -1
| -1
| 0
| -1
| -1
| -1
| -1
| 11
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| -1
| 0
| -1
| -1
| 0
| 0
|
Матрица синтаксических переходов блока “НАЧАЛО”
состояние
| Идентификатор
| Константа
| Int
| Long
| Char
| Float
| Double
| ,
| ;
| [
| ]
| NULL
| "
|
0
| -30
| -31
| 2
| 1
| 2
| 2
| 2
| -32
| -32
| -32
| -32
| Е
| -32
|
1
| -30
| -31
| 2
| -30
| -30
| -30
| -30
| -32
| -32
| -32
| -32
| -32
| -32
|
2
| 3
| -33
| -33
| -33
| -33
| -33
| -33
| -32
| -32
| -32
| -32
| -32
| -32
|
3
| -32
| -32
| -32
| -32
| -32
| -32
| -32
| 2
| 0
| 4
| -32
| -32
| -32
|
4
| -34
| 5
| -34
| -34
| -34
| -34
| -34
| -34
| -34
| -34
| -34
| -34
| -34
|
5
| -34
| -34
| -34
| -34
| -34
| -34
| -34
| 4
| -34
| -34
| 6
| -34
| -34
|
6
| -34
| -34
| -34
| -34
| -34
| -34
| -34
| 2
| 0
| -34
| -34
| -34
| -34
|
Матрица синтаксических переходов блока “ВВОД”
Состояние
| идентификатор
| [
| ,
| ;
| "
| NULL
|
0
| 1
| -35
| -35
| -35
| -35
| -35
|
1
| -35
| 1 \ 0 \-36
| 0
| 2
| -35
| -35
|
2
| 1
| -35
| -35
| -35
| -35
| Выход
|
Матрица синтаксических переходов индексации массивов 1
состояние
| Идентификатор
| Константа
| Любая конст.
| [
| ]
| ,
| +
| -
| ~
| #
| *
| /
| ^
| Mod
| Div
| (
| )
| "
| NULL
|
0
| 1
| .
| 2
| .
| .
| .
| .
| .
| 4
| 4
| .
| .
| .
| .
| .
| 1\1
| .
| .
| .
|
1
| .
| .
| .
| 2\0
| .
| .
| 3
| 3
| .
| .
| 3
| 3
| 3
| 3
| 3
| .
| Е
| .
| .
|
2
| .
| .
| .
| .
| .
| .
| 3
| 3
| .
| .
| 3
| 3
| 3
| 3
| 3
| .
| Е
| .
| .
|
3
| 1
| .
| 2
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| 1\1
| .
| .
| .
|
4
| 1
| .
| 2
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| 1\1
| .
| .
| .
|
Матрица синтаксических переходов индексации массивов 2
состояние
| Идентификатор
| Константа
| Любая конст.
| [
| ]
| ,
| +
| -
| ~
| #
| *
| /
| ^
| Mod
| Div
| (
| )
| "
| NULL
|
0
| 1
| .
| 2
| .
| .
| .
| .
| .
| 4
| 4
| .
| .
| .
| .
| .
| 1\1
| .
| .
| .
|
1
| .
| .
| .
| 2\0
| Е
| 0
| 3
| 3
| .
| .
| 3
| 3
| 3
| 3
| 3
| .
| .
| .
| .
|
2
| .
| .
| .
| .
| Е
| 0
| 3
| 3
| .
| .
| 3
| 3
| 3
| 3
| 3
| .
| .
| .
| .
|
3
| 1
| .
| 2
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| 5\1
| .
| .
| .
|
4
| 1
| .
| 2
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| 5\1
| .
| .
| .
|
5
| .
| .
| .
| .
| Е
| 0
| 3
| 3
| .
| .
| 3
| 3
| 3
| 3
| 3
| 5\1
| .
| .
| .
|
Матрица синтаксических переходов функции strlen
состояние
| Идентифи-катор
| [
| )
| "
| NULL
| (
| Константа
|
0
| .
| .
| .
| .
| .
| 2
| .
|
1
| .
| 3 \ 0
| Выход
| .
| .
| .
| .
|
2
| 1
| .
| .
| .
| .
| .
| 4
|
3
| .
| .
| Выход
| .
| .
| .
| .
|
4
| .
| .
| Выход
| .
| .
| .
| .
|
Матрица синтаксических переходов блока “ВЫВОД”
состояние
| Константа str
| Константа
| 1
| 2
| 5
| Clock
| Strlen
| ,
| (
| [
| ;
| Идентификатор
| "
| NULL
| )
|
0
| 1
| 2
| 5
| .
| 4
| 6
| 2\2
| .
| 2\3
| .
| .
| 9
| .
| .
| .
|
1
| .
| .
| .
| .
| .
| .
| .
| 0
| .
| .
| 10
| .
| .
| .
| .
|
2
| .
| .
| .
| 3
| .
| .
| .
| 0
| .
| .
| 10
| .
| .
| .
| .
|
3
| .
| 2
| .
| .
| 4
| 6
| 2\2
| .
| 2\3
| .
| .
| 9
| .
| .
| .
|
4
| .
| .
| .
| .
| .
| .
| .
| .
| 2\3
| .
| 10
| .
| .
| .
| .
|
5
| .
| 2
| .
| .
| 4
| 6
| 2\2
| .
| 2\3
| .
| .
| 9
| .
| .
| .
|
6
| .
| .
| .
| .
| .
| .
| .
| .
| 7
| .
| .
| .
| .
| .
| .
|
7
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| 8
|
8
| .
| .
| .
| 3
| .
| .
| .
| 0
| .
| .
| 10
| .
| .
| .
| .
|
9
| .
| .
| .
| 3
| .
| .
| .
| 0
| .
| 2\0
| 10
| .
| .
| .
| .
|
10
| 1
| 2
| 5
| .
| 4
| 6
| 2\2
| .
| 2\3
| .
| .
| 9
| .
| Е
| .
|
Матрица синтаксических переходов блока “Автоматические действия”
Состояние
| Константа str
| Константа
| Идентифик.
| (
| [
| ;
| 1
| 2
| 3
| 5
| Clock
| Getch
| Kbhit
| Strlen
| )
| "
| NULL
|
0
| .
| .
| 1
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
|
1
| .
| .
| .
| 2\0
| .
| .
| .
| 3
| .
| .
| .
| .
| .
| .
| .
| .
| .
|
2
| .
| .
| .
| .
| .
| .
| .
| 3
| .
| .
| .
| .
| .
| .
| .
| .
| .
|
3
| .
| 4
| 5
| 4\3
| .
| .
| 6
| .
| .
| 8
| 13
| 10
| 13
| 4\2
| .
| .
| .
|
4
| .
| .
| .
| .
| .
| 9
| .
| 7
| .
| .
| .
| .
| .
| .
| .
| .
| .
|
5
| .
| .
| .
| .
| 4\0
| 9
| .
| 7
| .
| .
| .
| .
| .
| .
| .
| .
| .
|
6
| .
| 4
| 5
| 4\3
| .
| .
| .
| .
| .
| 8
| 13
| .
| 13
| 4\2
| .
| .
| .
|
7
| .
| 4
| 5
| 4\3
| .
| .
| .
| .
| .
| 8
| 13
| .
| 13
| 4\2
| .
| .
| .
|
8
| .
| .
| .
| 4\3
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
|
9
| .
| .
| 1
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| Е
|
10
| .
| .
| .
| 11
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
|
11
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| 12
| .
| .
|
12
| .
| .
| .
| .
| .
| 9
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
|
13
| .
| .
| .
| 14
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
|
14
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| 4
| .
| .
|
Матрица синтаксических переходов математического выражения
состояние
| идентификатор
| Константа str
| Константа
| 1
| 2
| 5
| Clock
| Strlen
| (
| [
| )
| "
| NULL
|
0
| 1
| .
| 3
| 4
| .
| 5
| 6
| 3\2
| 3\3
| .
| .
| .
| .
|
1
| .
| .
| .
| .
| 2
| .
| .
| .
| .
| 3\0
| Е
| .
| .
|
2
| 1
| .
| 3
| .
| .
| 5
| 6
| 3\2
| 3\3
| .
| .
| .
| .
|
3
| .
| .
| .
| .
| 2
| .
| .
| .
| .
| .
| Е
| .
| .
|
4
| 1
| .
| 3
| .
| .
| 5
| 6
| 3\2
| 3\3
| .
| .
| .
| .
|
5
| .
| .
| .
| .
| .
| .
| .
| .
| 3\3
| .
| .
| .
| .
|
6
| .
| .
| .
| .
| .
| .
| .
| .
| 7
| .
| .
| .
| .
|
7
| .
| .
| .
| .
| .
| .
| .
| .
| .
| .
| 3
| .
| .
|
Матрица синтаксических переходов блока “Подпрограмма”
Состояние
| Константа str
| идентификатор
| [
| ;
| ,
| 2
| Programm
| "
| NULL
|
0
| .
| 1
| .
| .
| .
| .
| 4
| .
| .
|
1
| .
| .
| 2 \ 0
| .
| .
| 3
| .
| .
| .
|
2
| .
| .
| .
| .
| .
| 3
| .
| .
| .
|
3
| .
| .
| .
| .
| .
| .
| 4
| .
| .
|
4
| 6
| 5
| .
| .
| .
| .
| .
| .
| .
|
5
| .
| .
| .
| .
| 4
| .
| .
| .
| .
|
6
| .
| .
| .
| 7
| .
| .
| .
| .
| .
|
7
| .
| .
| .
| .
| .
| .
| .
| .
| Выход
|
Матрица синтаксических переходов блоков “Метка” и “Безусловный переход”
Состояние
| Константа
| ;
| "
| NULL
|
0
| 1
| .
| .
| .
|
1
| .
| 2
| .
| .
|
2
| .
| .
| .
| Выход
|
Матрица синтаксических переходов блока “Ветвление по условию”
состояние
| Константа str
| Константа
| Идентификатор
| (
| [
| !
| 4б
| ;
| "
| NULL
|
0
| .
| 1
| 2
| 3 \ 4
| .
| 4
| .
| .
| .
| .
|
1
| .
| .
| .
| .
| .
| .
| 5
| 6
| .
| .
|
2
| .
| .
| .
| .
| 3 \ 0
| .
| 5
| 6
| .
| .
|
3
| .
| .
| .
| .
| .
| .
| 5
| 6
| .
| .
|
4
| .
| .
| 2
| .
| .
| .
| .
| .
| .
| .
|
5
| .
| 1
| 2
| 1 \ 4
| .
| 4
| .
| .
| .
| .
|
6
| .
| .
| .
| .
| .
| .
| .
| .
| .
| Выход
|
Вспомогательная матрица синтаксических переходов блока
“ Ветвление по условию ”
состояние
| Константа str
| Константа
| идентификатор
| (
| [
| !
| 4б
| )
| "
| NULL
|
0
| .
| 1
| 2
| 3 \ 4
| .
| 4
| .
| .
| .
| .
|
1
| .
| .
| .
| .
| .
| .
| 5
| Выход
| .
| .
|
2
| .
| .
| .
| .
| 3 \ 0
| .
| 5
| Выход
| .
| .
|
3
| .
| .
| .
| .
| .
| .
| 5
| Выход
| .
| .
|
4
| .
| .
| 2
| .
| .
| .
| .
| .
| .
| .
|
5
| .
| 1
| 2
| 1 \ 4
| .
| 4
| .
| .
| .
| .
|
Матрица синтаксических переходов блока “Стрелка”
состояние
| true
| false
| ;
| "
| NULL
|
0
| 1
| 1
| .
| .
| Выход
|
1
| .
| .
| 2
| .
| .
|
2
| .
| .
| .
| .
| Выход
|
Матрица синтаксических переходов блока “Мультиветвление”
Состояние
| Идентификатор
| ;
| "
| NULL
|
0
| 1
| .
| .
| .
|
1
| .
| 2
| .
| .
|
2
| .
| .
| .
| Выход
|
Матрица синтаксических переходов блока “Конец”
состояние
| Return
| ;
| (
| "
| NULL
|
0
| 1
| .
| .
| .
| .
|
1
| .
| 3
| 2 \ 3
| .
| .
|
2
| .
| 3
| .
| .
| .
|
3
| .
| .
| .
| .
| Выход
|
Воспользуйтесь поиском по сайту: