Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Answer.docx
Скачиваний:
18
Добавлен:
15.04.2019
Размер:
861.2 Кб
Скачать

27. Теоремы структурного программирования.

Структурная схема программы – это ориентированный граф, задающий порядок выполнения операторов; вершинам графа соответствуют операторы, а ребра определяют последовательность их выполнения.

Основная теорема:

Структурная схема любого алгоритма обработки данных может быть представлен в виде суперпозиции трех базовых управляющих структур: следования, выбора и повторения.

Простые и непростые структурные схемы. Структурная схема является простой, если она:

  • имеет один вход;

  • имеет один выход;

  • через каждый ее элемент проходит по крайней мере один путь от входа к выходу.

Теорема о декомпозиции:

Структурная схема непосредственно или после тождественных преобразований разложима на базовые управляющие структуры тогда и только тогда, когда она не содержит замкнутого контура с более чем одним выходом из него.

Теорема о соотношениях элементов структурных схем:

Предположим, что в простой структурной схеме имеется:

f – операционных блоков;

p – блоков принятия решения;

g – узлов слияния;

t – линий передачи управления.

Тогда справедливо:

  1. p = g

  2. t = f + 3p + 1

Пусть n узлов слияний. Пусть для n узлов.

(1) Число начальных точек и конечных совпадает!

1 + f + g + 2p = 1 + f + 2q + p => 2p + g = 2g + p => p = q

(2) 1 + f + 2p + p = t = 1 + 3p + f

28. Декомпозиция структурных схем.

Теорема о декомпозиции:

Структурная схема непосредственно или после тождественных преобразований разложима на базовые управляющие структуры тогда и только тогда, когда она не содержит замкнутого контура с более чем одним выходом из него.

Пример?

29. Типы структурных схем, тождественные преобразования. (???).

Структурная схема программы – это ориентированный граф, задающий порядок выполнения операторов; вершинам графа соответствуют операторы, а ребра определяют последовательность их выполнения.

Основная теорема:

Структурная схема любого алгоритма обработки данных может быть представлен в виде суперпозиции трех базовых управляющих структур: следования, выбора и повторения.

Простые и непростые структурные схемы. Структурная схема является простой, если она:

  • имеет один вход;

  • имеет один выход;

  • через каждый ее элемент проходит по крайней мере один путь от входа к выходу.

30. Оптимизация выражений

1. Логическое ИЛИ

If (P or Q) then… If (Q or P) then…

2. Логическое И

If (P and Q) then… If (Q and P) then…

Оптимизация возможна только в том случае, когда используется короткая схема вычислений.

Обязательное использование комментариев по всем методам, подпрограммам и наиболее сложным фрагментам кода.

Давать логические имена вычислительным элементам.

Желательно в разных блоках программы одни и те же элементы называть одинаково.

Ступенчатая форма записи.

31. Оптимизация циклов.

1.Вынесение операторов за пределы цикла (второй вариант чуть быстрее, но расходует болбше памяти, т.к. ввели больше переменных)

For I:=1 to 100 do N:=K+K;

Begin M:=K-1;

J:=2*K+I; For I:=1 to 100 do

A[J]:=K-1; A[N+I]:=M;

End;

2. Развертывание цикла (не помню)

For I:=1 to 1000 do For I:=1 to 500 do

A[I]:=1; Begin

A[I]:=1;

A[I+500]:=1;

End;

3. Переупорядочивание циклов (второй вариант быстрее)

For I:=1 to 20 do For J:=1 to 10 do

For J:=1 to 10 do For I:=1 to 20 do

A[I,J]:=1; A[I,J]:=1;

4. Цикл в теле подпрограммы лучше, чем много раз вызывать подпрограмму в цикле.

5. Меньшее число циклов всегда лучше.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]