Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Приложение 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 Константа Идентификатор ( [ ! ; " 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 Константа идентификатор ( [ ! ) " 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 . . . . Выход

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...