- •Д.Г. Хохлов
- •Оглавление
- •Предисловие
- •1. Основные понятия
- •2. Проектирование программы
- •2.1. Постановка и анализ задачи
- •2.2. Внешнее проектирование
- •2.2.1. Методика внешнего проектирования
- •2.2.2. Внешнее представление данных
- •2.3. Проектирование структуры программы
- •2.4. Проектирование модуля
- •2.4.1. Этапы проектирования модуля
- •2.4.2. Стиль программирования
- •2.4.3. Пример проектирования модуля
- •3. Отладка программы
- •3.1. Планирование отладки
- •3.2. Проектирование тестов
- •3.3. Отладочные средства
- •5.1.2. Файл проекта
- •6.2. Выполнение и оформление работы
- •6.2.1. Задание
- •6.2.2. Описание применения
- •6.2.3. Описание программы
- •6.2.3. Подготовка к отладке программы
- •6.2.4. Отладка программы
- •6.2.5. Заключение
- •6.2.6. Общие правила оформления
- •Список литературы
- •Приложение. Пример выполнения курсовой работы
- •1. Задание
- •2. Описание применения
- •2.1. Постановка задачи
- •2.2. Обращение к программе
- •2.3. Входные данные
- •2.4. Выходные данные
- •2.5. Сообщения
- •2.5.1. Информационные сообщения
- •2.5.2. Сообщения об ошибках
- •3. Описание программы
- •3.1. Метод решения задачи
- •3.2. Структура программы
- •3.3. Описание модулей
- •3.3.1. Main - главный модуль
- •3.3.2. Pminc - поиск минимального цикла
- •3.3.3. Vvodg - ввод графа
- •3.3.4. Vyvodp - вывод пути
- •4. Подготовка к отладке программы
- •4.1. План отладки
- •4.2. Проектирование тестов
- •4.2.1. Тесты черного ящика
- •4.2.2. Тесты белого ящика
- •4.3. Отладочные средства
- •1. Отладка программы
- •3. Заключение
- •Список литературы
- •Приложение 1. Системные файлы проекта
- •Приложение 2. Текст программы модуля main
- •Приложение 3. Текст программы модуля pminc
- •Приложение 4. Текст программы модуля vvodg
- •Приложение 5. Текст программы модуля vyvmsm
- •Приложение 6. Текст программы модуля vyvodp
- •Приложение 7. Текст программы модуля vyvsoob
- •Приложение 8. Текст отладочной программы драйвера dvvodg
- •Приложение 9. Результаты тестирования программы
- •Приложение 10. Трудоемкость курсовой работы
- •Приложение 11. Дневник выполнения курсовой работы
Приложение 8. Текст отладочной программы драйвера dvvodg
/* Драйвер dvvodg для отладки модуля vvodg (этап 1) */
#include <stdio.h>
#include "graf.h"
void main()
{
int n; /* количество вершин графа */
char g[NMAX][NMAX]; /* матрицa смежности графа */
int kz; /* код завершения подпрограммы */
printf ("\nВведите граф\n");
kz = vvodg (&n, g); /* ввод графа */
if (kz > 0)
printf ("\nОшибка ввода\n");
else
vyvmsm (n, g); /* вывод mатрицы смежности */
}
Приложение 9. Результаты тестирования программы
1. Тестирование модуля vvodg с драйвером dvvodg и файлом
проекта dvvodg.prj [1 раздел 4.3] для тестов с правильными
входными данными.
Тест 11
Команда: dvvodg <t11 >rv11
Входной файл:
1
Выходной файл:
Введите граф
Матрица смежности графа
0
Тест 12
Команда: dvvodg <t12 >rv12
Входной файл:
4 0 1 1 2 2 3 3 0
Выходной файл:
Введите граф
Матрица смежности графа
0 1 0 1
1 0 1 0
0 1 0 1
1 0 1 0
2. Тестирование всей программы с файлом проекта pkrc.prj
на "правильных" тестах.
Тест 11
Команда: pkrc <t11 >rt11
Входной файл:
1
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
Матрица смежности графа
0
В графе нет циклов
Тест 12
Команда: pkrc <t12 >rt12
Входной файл:
4 0 1 1 2 2 3 3 0
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
Матрица смежности графа
0 1 0 1
1 0 1 0
0 1 0 1
1 0 1 0
Кратчайший цикл длиной 4:
0 1 2 3 0
3. Тестирование всей программы с файлом проекта pkrc.prj
на "неправильных" тестах.
Тест 1
Команда: pkrc <t1 >rt1
Входной файл:
5
0 2
4 2
2 0
2 3
4 3
1 3
1 0
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
Предупреждение: было дублирование ребер (игнорировалось)
Матрица смежности графа
0 1 1 0 0
1 0 0 1 0
1 0 0 1 1
0 1 1 0 1
0 0 1 1 0
Кратчайший цикл длиной 3:
2 3 4 2
Тест 2
Команда: pkrc
Входной файл:
0
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
0
Ошибка: количество вершин должно быть от 1 до 20
Решение прекращено
Тест 3
Команда: pkrc <t3 >rt3
Входной файл:
21
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
Ошибка: количество вершин должно быть от 1 до 20
Решение прекращено
Тест 4
Команда: pkrc <t4 >rt4
Входной файл:
2
0 0
0 1
1 0
1 1
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
Предупреждение: было дублирование ребер (игнорировалось)
Матрица смежности графа
1 1
1 1
Предупреждение: граф содержит петли (игнорируются)
В графе нет циклов
Тест 5
Команда: pkrc <t5 >rt5
Входной файл:
20
0 1
1 2
2
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
Ошибка: ребро должно содержать две вершины
Решение прекращено
Тест 6
Команда: pkrc <t6 >rt6
Входной файл:
5
2 1 3
4 0
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
Ошибка: ребро должно содержать две вершины
Решение прекращено
Тест 7
Команда: pkrc <t7 >rt7
Входной файл:
4
-1 3
2 0
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
Ошибка: номер вершины должен быть от 0 до 3
Решение прекращено
Тест 8
Команда: pkrc <t8 >rt8
Входной файл:
4
4 1
2 0
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
Ошибка: номер вершины должен быть от 0 до 3
Решение прекращено
Тест 9
Команда: pkrc <t
Входной файл: не существует
Сообщение MS DOS:
file not found
Тест 10
Команда: pkrc <t10
Входной файл: пустой
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
Ошибка: нет исходных данных
Решение прекращено
Тест 13
Команда: pkrc <t13 >rt13
Входной файл:
4 3 -1 2 0
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
Ошибка: номер вершины должен быть от 0 до 3
Решение прекращено
Тест 14
Команда: pkrc <t14 >rt14
Входной файл:
4 1 4 2 0
Выходной файл:
Введите граф (колич.вершин от 1 до 20 и ребра, конец Ctrl-Z).
Ошибка: номер вершины должен быть от 0 до 3
Решение прекращено