Контрольная работа

Контрольная работа на тему Методы структурирования программ

Работа добавлена на сайт bukvasha.net: 2014-11-11

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 22.11.2024


Тема: Методы структурирования программ
Цель: Освоить методологию преобразования произвольной программы в структурированную.
Задание:
Преобразовать управляющую структуру программы, заданную с помощью сокращенной матрицы смежности, в структурированную программу. Показать их функциональную эквивалентность
Вариант: 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 структурированной, т. е. программные функции абсолютно идентичны, что подтверждает правильность структурирования программы.

1. Реферат на тему Booker T Washington 5 Essay Research Paper
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