Контрольная работа на тему Методы структурирования программ
Работа добавлена на сайт 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. Реферат на тему Непрощенные
5. Курсовая Система социального страхования в Российской Федерации
6. Курсовая Анализ производства продукции растениеводства на примере ООО Нива Павловского района Воронежск
7. Реферат на тему Dr Henry Jekyll Essay Research Paper Dr
8. Курсовая Гражданские правоотношения 6
9. Реферат на тему Procrastination Is Good Essay Research Paper Procrastination
10. Реферат на тему Society And The Role That Computers Play