Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Labs_1-5_sluch_derevia.doc
Скачиваний:
26
Добавлен:
16.03.2015
Размер:
137.73 Кб
Скачать

Содержание работ n 1-5

Работа 1.Анализ предметной области, синтез модели структуры программы (схема программы).

Работа 2. Построить случайный граф ПО, для которого число выходящих из вершины ребер определяется датчиком случайных чисел. Определить значение структурного параметра всех узлов /число висячих узлов. Привести гистограмму для полученных при построении графа значений (m-1).Убедится в правильности построения гистограммы. В тексте программы и в отчете привести «утверждение», подтверждающее правильность.Правило остановки построения графа (А или В) приведено в задании.

Работа 3. Этим же алгоритмом построить детерминированный граф ПО при фиксированном значении числа выходящих из узлов ребер (mфикс -1) = (m-1). Это можно сделать, заглушая обращение к датчику случайных чисел, и для каждого узла использовать заданную константу при определении числа исходящих ребер. Определить число висячих узлов и параметр. Убедится в правильности расчета структурного параметра α.В тексте программы и в отчете привести «утверждение».

Работа 4. Подсчитать среднее число висячих вершин у совокупности Rслучайных графов ПО, определить среднее значение и дисперсию структурного параметра= отношению общего числа вершин к числу висячих вершин.

Работа 5. Исследовать сходимость значения структурного параметра к устойчивому значению с ростом числа узлов графа Р, построив для этого функцию изменения структурного параметрас ростом числа узлов Р. Для данного графа построить графический фрагмент из первых двадцати узлов.

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

Представление результатов

По завершению цикла лабораторных работ должен быть подготовлен, распечатан и предъявлен на проверку преподавателю отчет. Отчет сохраняется и предъявляется на экзамене. Без проведенных лабораторных работ и наличия отчета студент на экзамен не допускается

1. В отчет помещаются таблица вершин, таблица висячих вершин и гистограмма полученных случайных значений числа исходящих из узлов ребер ( максимальное значение m-1 ) для одного из вариантов случайного графа того же , что и по п.2. Приводится значение мат. ожидания числа исходящих из узла ребер из этой гистограммы и соответствующее утверждение.

2. В отчет выдать таблицу вершин и таблицу висячих вершин одного из случайных графов с исходными данными для его расчета. Нумерация и обозначение узлов-потомков должны включать в себя нумерацию узлов-родителей.

3. В отчет помещается граф построенный для заданного детерминированного значения mфикс =mпо образцу предыдущего пункта.

4. По результатам Rэкспериментов построения случайных графов сNвершинами в отчетную таблицу для каждого изRэкспериментов поместить:

Значения , число всех вершин, число висячих вершин, число уровней иерархии графа (высота дерева) .

Затем определить средние значения , числа вершин, числа висячих вершин, высоты дерева и их дисперсии по всемRслучайным графам.

5. Исследовать сходимость значения с ростом числа узлов

графа Р для графа по п.2, построив график изменения от Р. Для этого последовательно увеличивая число узлов, вычислять значение.

6.Построить графически первые двадцать узлов графа.

7.Привести листинг программы с комментариями и исходными

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

Некоторые языки позволяют игнорировать возвращаемое функцией значение (в C++ вы не обязаны что-то то делать с возвращенным результатом), но не игнорируйте информацию об ошибке! Проверяйте значение, возвращаемое из функции. Даже если вы считаете, что ошибка в функции возникнуть не может, все равно проверяйте. Весь смысл устойчивого к ошибкам (защитного) программирования в защите от ошибок, которых вы не ожидаете.

8. Выделить в разработанной программе места с «утверждениями». Утверждения проверяют условия событий, которые никогда не должны происходить. Обработчик ошибок обычно проверяет некорректные входные данные, утверждения — ошибки в программе.

Вот как будет выглядеть утверждение на языке Java, если переменная denominator должна быть ненулевой:

Пример утверждения (Java)

assert denominator /= О : "denominator is unexpectedly equal to 0.";

В этом утверждении объявляется, что denominator не должен быть равен 0. Первый аргумент — denominator /= 0 — логическое выражение, принимающее значение true или false. Второй — это сообщение, выводимое, когда первый аргумент равен false (т. е. утверждение ложно).

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

Перечень заданий. Варианты заданий

Для заданий № ХХ-А правило остановки А. Для заданий № XX–Bправило остановки В.

Задание № 1: m=4,N= 200,R= 100 А, В

Задание № 2: m=4,N= 200,R= 400 А, В

Задание № 3: m=3,N= 200,R= 100 А,В

Задание № 4: m=3,N= 200,R=400 А,В

Задание № 5: m=5,N= 200,R= 100 А, В

Задание № 6: m=5,N= 200,R= 400 А, В

Задание № 7: m=6,N= 200,R= 100 А, В

Задание № 8: m=6,N= 200,R= 400 А, В

Задание № 9: m=4,N= 100,R= 400 А, В

Задание №10: m=4,N= 100,R= 100 А, В

Задание № 11: m=3,N= 100,R= 400 А,В

Задание № 12: m=3,N= 100,R= 100 А,В

Задание №13: m=5,N= 100,R= 100 А, В

Задание № 14: m=5,N= 50,R= 400 А, В

Задание № 15: m=6,N= 200,R= 100 А, В

Задание № 16: m=6,N= 50,R= 400 А, В

Задание № 17: m=3,N= 50,R= 200 А,В

Задание №18: m=4,N= 50,R= 200 А, В

Задание № 19: m=6,N= 50,R=200 А, В

Задание №20: m=5,N= 50,R= 200 А, В

Литература

1. Мостовой Я.А. Лекции по технологии разработки программного обеспечения. Учебное пособие. Самара. Изд ПГУТИ.ISBN 978-5-904029-45-6, 2014. – 178с.

12

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