Контрольная работа на тему Методы структурирования программ
Работа добавлена на сайт bukvasha.net: 2014-11-11Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Тема: Методы структурирования программ
Цель: Освоить методологию преобразования произвольной программы в структурированную.
Задание:
Преобразовать управляющую структуру программы, заданную с помощью сокращенной матрицы смежности, в структурированную программу. Показать их функциональную эквивалентность
Вариант: 3
Ход работы:
1. Используя матрицу смежности, построим блок-схему исходной программы:
SHAPE \* MERGEFORMAT
2. Выполним полный анализ исходной программы. Покажем элементы анализа и результирующие блок-схемы для каждого шага анализа.
Находим в исходной блок-схеме структурированные элементы, для каждого из которых вводится функциональный дополнительный узел, в котором хранится идентификатор и счетчик. Идентификатор содержит номер шага структурирования и номер оператора. Счетчик указывает, сколько исходных узлов данным узлом объединено. Данный этап заканчивается, когда в программе не остается ни одного структурированного элемента.
Шаг 1:
SHAPE \* MERGEFORMAT
Шаг 2:
SHAPE \* MERGEFORMAT
Шаг 3:
SHAPE \* MERGEFORMAT
Результат:
SHAPE \* MERGEFORMAT
3. Выделенные неструктурированные фрагменты преобразуем с помощью теоремы о структурировании в структурированную форму. При использовании теоремы о структурировании получим помеченную и рекурсивную программы. Для структурирования программы воспользуемся методом введения переменной состояния:
Шаг 1: Идентифицируем все функциональные и предикатные узлы и помечаем все дуги, причем выходной дуге присваиваем «0», а все остальные дуги помечаются номерами узлов, в которые эти дуги входят:
SHAPE \* MERGEFORMAT
Цель: Освоить методологию преобразования произвольной программы в структурированную.
Задание:
Преобразовать управляющую структуру программы, заданную с помощью сокращенной матрицы смежности, в структурированную программу. Показать их функциональную эквивалентность
Вариант: 3
SA0 | AX0 | XYC | YBU | BU0 | CZ0 | ZCU | UTD | TF0 |
DV0 | VGK | GW0 | WHU | HV0 | FE0 | KL0 | LP0 | PLE |
1. Используя матрицу смежности, построим блок-схему исходной программы:
SHAPE \* MERGEFORMAT
S |
A |
X |
Y |
B |
C |
X |
U |
T |
F |
D |
V |
G |
W |
H |
K |
L |
P |
E |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
2. Выполним полный анализ исходной программы. Покажем элементы анализа и результирующие блок-схемы для каждого шага анализа.
Находим в исходной блок-схеме структурированные элементы, для каждого из которых вводится функциональный дополнительный узел, в котором хранится идентификатор и счетчик. Идентификатор содержит номер шага структурирования и номер оператора. Счетчик указывает, сколько исходных узлов данным узлом объединено. Данный этап заканчивается, когда в программе не остается ни одного структурированного элемента.
Шаг 1:
SHAPE \* MERGEFORMAT
S |
A |
X |
Y |
B |
C |
X |
U |
T |
F |
D |
V |
G |
W |
H |
K |
L |
P |
E |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
Шаг 2:
SHAPE \* MERGEFORMAT
X |
U |
D |
V |
G |
W |
H |
K |
E |
1/1 |
2 |
1/2 |
2 |
1/3 |
2 |
1/4 |
2 |
1/5 |
2 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
Шаг 3:
SHAPE \* MERGEFORMAT
U |
D |
V |
G |
W |
H |
E |
1/1 |
2 |
2/1 |
5 |
1/4 |
2 |
2/2 |
3 |
1 |
0 |
0 |
1 |
1 |
0 |
Результат:
SHAPE \* MERGEFORMAT
U |
D |
V |
G |
W |
H |
E |
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
1 |
0 |
0 |
1 |
1 |
0 |
3. Выделенные неструктурированные фрагменты преобразуем с помощью теоремы о структурировании в структурированную форму. При использовании теоремы о структурировании получим помеченную и рекурсивную программы. Для структурирования программы воспользуемся методом введения переменной состояния:
Шаг 1: Идентифицируем все функциональные и предикатные узлы и помечаем все дуги, причем выходной дуге присваиваем «0», а все остальные дуги помечаются номерами узлов, в которые эти дуги входят:
SHAPE \* MERGEFORMAT
0 |
U |
D |
V |
G |
W |
H |
E |
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
1 |
0 |
0 |
1 |
1 |
1 |
2 |
4 |
6 |
3 |
8 |
9 |
10 |
5 |
7 |
2 |
0 |
10 |
8 |
1 |
2 |
7 |
4 |
3 |
4 |
9 |
5 |
6 |
10 |
Шаг 2: Заменяем функциональные и предикатные узлы новыми элементами с использованием счетчика i:
SHAPE \* MERGEFORMAT
U |
D |
V |
G |
W |
H |
E |
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
U |
D |
V |
G |
W |
H |
E |
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
i=2 |
i=10 |
i=10 |
i=6 |
i=4 |
i=0 |
i=4 |
i=3 |
i=8 |
i=9 |
i=5 |
i=2 |
i=7 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
Шаг 3: Строим структурированную программу, используя новые обозначения, причем вводим дополнительный цикл по счетчику i:
SHAPE \* MERGEFORMAT
U |
D |
V |
G |
W |
H |
E |
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
i=2 |
i=10 |
i=10 |
i=6 |
i=4 |
i=0 |
i=4 |
i=3 |
i=8 |
i=9 |
i=5 |
i=2 |
i=7 |
0 |
1 |
0 |
0 |
1 |
1 |
i=1 |
i=0 |
i=1 |
i=2 |
i=3 |
i=4 |
i=5 |
i=6 |
i=7 |
i=8 |
i=9 |
Шаг 4: Упростим полученную схему путем подстановки узлов и линий в узлы присваивания счетчику нового значения. При этом нельзя допускать образования рекурсии:
SHAPE \* MERGEFORMAT
U |
D |
V |
G |
W |
H |
E |
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
i=2 |
i=10 |
i=10 |
i=6 |
i=4 |
i=0 |
i=4 |
i=3 |
i=8 |
i=9 |
i=5 |
i=2 |
i=7 |
0 |
1 |
0 |
0 |
1 |
1 |
i=1 |
i=0 |
i=1 |
i=2 |
i=3 |
i=4 |
i=5 |
i=6 |
i=7 |
i=8 |
i=9 |
SHAPE \* MERGEFORMAT
U |
D |
V |
G |
W |
H |
E |
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
i=2 |
i=10 |
i=10 |
i=6 |
i=4 |
i=0 |
i=4 |
i=2 |
0 |
1 |
0 |
0 |
1 |
1 |
i=1 |
i=0 |
i=1 |
i=2 |
i=4 |
i=6 |
SHAPE \* MERGEFORMAT
0 |
1 |
U |
D |
V |
G |
W |
H |
E |
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
i=10 |
i=10 |
i=6 |
i=4 |
i=0 |
i=4 |
1 |
0 |
0 |
1 |
i=1 |
i=0 |
i=1 |
i=4 |
i=6 |
U |
D |
1/4 |
2 |
i=10 |
i=4 |
1 |
0 |
SHAPE \* MERGEFORMAT
0 |
1 |
U |
D |
V |
G |
W |
H |
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
i=6 |
i=4 |
i=4 |
1 |
0 |
0 |
1 |
i=1 |
i=0 |
i=1 |
i=4 |
U |
D |
1/4 |
2 |
i=4 |
1 |
0 |
E |
i=0 |
E |
i=0 |
E |
i=0 |
4. Проверим функциональную эквивалентность выделенного неструктурированного фрагмента исходной программы и полученного структурированного аналога:
Е-схема исходной программы:
SHAPE \* MERGEFORMAT
U |
D |
V |
G |
W |
H |
E |
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
1 |
2 |
3 |
3 |
E |
1 |
2 |
0 |
1 |
0 |
1 |
0 |
1 |
r1 |
r2 |
Е-дерево исходной программы:
SHAPE \* MERGEFORMAT
U |
D |
V |
G |
W |
H |
E |
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
E |
0 |
1 |
0 |
1 |
0 |
1 |
r1 |
r2 |
r2 |
r1 |
P: |
r1: |
r2: |
Введем обозначения составных функциональных узлов:
SHAPE \* MERGEFORMAT
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
- f1 |
- f2 |
- f3 |
Программная функция для исходной программы будет выглядеть следующим образом:
Е-дерево структурированной программы:
SHAPE \* MERGEFORMAT
r1 |
3/1 |
7 |
0 |
1 |
U |
D |
V |
G |
W |
H |
1/4 |
2 |
2/2 |
3 |
i=6 |
i=4 |
i=4 |
1 |
0 |
0 |
1 |
i=1 |
i=0 |
i=1 |
i=4 |
U |
D |
1/4 |
2 |
i=4 |
1 |
0 |
E |
i=0 |
E |
i=0 |
E |
i=0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
r2 |
r2 |
r3 |
r4 |
Введем обозначения составных функциональных узлов, а также вспомогательных узлов, модифицирующих состояние счетчика:
SHAPE \* MERGEFORMAT
3/1 |
7 |
1/4 |
2 |
2/2 |
3 |
- f1 |
- f2 |
- f3 |
i=0 |
i=1 |
i=4 |
i=6 |
- exit |
- r1 |
- r3 |
- r4 |
SHAPE \* MERGEFORMAT
3/1 |
7 |
0 |
1 |
V |
G |
W |
H |
2/2 |
3 |
0 |
1 |
U |
D |
1/4 |
2 |
1 |
0 |
E |
E |
r1: |
r2: |
r2 |
r3 |
r3: |
r4 |
r2 |
r4: |
r3 |
P: |
r1 |
Для упрощения программной функции подставим r4 в r3:
Выводы: Как видно, r1 исходной программы идентично r2 структурированной, а r2 исходной программы идентично r3 структурированной, т. е. программные функции абсолютно идентичны, что подтверждает правильность структурирования программы.
2. Курсовая Иммунопрофилактика детей дошкольного возраста в амбулаторно-поликлинических учреждениях
3. Реферат Проблема энергетики
4. Реферат на тему Shakespearian Tradgedy Essay Research Paper In the
5. Реферат на тему Minnows Essay Research Paper Low Temperature Effects
6. Реферат The United Kingdom of Great Britain
7. Реферат на тему Funeral Blues Essay Research Paper WH Auden
8. Реферат на тему Сетевые принтеры
9. Биография Дзиппэнся Икку
10. Реферат на тему Linux Os Overview Essay Research Paper The