По завершению цикла лабораторных работ должен быть подготовлен, распечатан и предъявлен на проверку преподавателю отчет. Отчет сохраняется и предъявляется на экзамене. Без проведенных лабораторных работ и наличия отчета студент на экзамен не допускается
1. В отчет помещаются таблица вершин, таблица висячих вершин и гистограмма полученных случайных значений числа исходящих из узлов ребер (максимальное значение m-1) для одного из вариантов случайного графа того же, что и по п.2. Приводится значение мат. ожидания числа исходящих из узла ребер из этой гистограммы и соответствующее утверждение.
2. В отчет выдать таблицу вершин и таблицу висячих вершин одного из случайных графов с исходными данными для его расчета. Нумерация и обозначение узлов-потомков должны включать в себя нумерацию узлов-родителей.
3. В отчет помещается граф построенный для заданного детерминированного значения mфикс = m по образцу предыдущего пункта.
4. По результатам R экспериментов построения случайных графов с N вершинами в отчетную таблицу для каждого из R экспериментов поместить:
Значения a, число всех вершин, число висячих вершин, число уровней иерархии графа (высота дерева).
Затем определить средние значения a, числа вершин, числа висячих вершин, высоты дерева и их дисперсии по всем 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с.