ідвідано
i = 0;
jp = 0;
do
{i = st [uk];// Присвоєння uk елемента стека рядку i
j = jp;// Присвоєння колонки j номер шпальти jp
while (j
{uk + +; [uk] = j;// Присвоєння uk елементу стека числа j = 0;
vp [j] = 1;// Відзначили відвіданою
if (j == B)// Якщо j одно кінцевої вершині B
{for (l = 0; l <= uk; l + +)
m [st [l]] + +;// Заносимо стек в масив
kolput + +;// Збільшуємо на 1 кількість шляхів
jp = st [uk]; vp [jp] = 0;// Повертаємося
jp + +; -;
}
}
{jp = st [uk]; vp [jp] = 0; + +;
uk -;
}
}
while (uk> = 0);
Висновок повідомлення 12;
for (i = 0; i
{printf ("% d", i); flag = 1;}// Висновок знайдених вершин
return flag;
}
4. ПІДГОТОВКА ДО налагодження програм
4.1 План налагодження
Особливості даної програми ускладнюють застосування для неї в чистому вигляді традиційної стратегії тестування: можливо більш швидкого підключення до програми модулів введення/виводу і складних модулів з їх попередньою автономної налагодженням. Справа в тому, що найбільш складний модуль poisk має досить громіздкі вхідні та вихідні дані. Для його автономної налагодження ці дані довелося б передавати за допомогою імітаторів і драйверів, близьких по функції і складності до модулів main, vvod і vyvod або спільно з ними. p align="justify"> Робота модулів main і vvod тісно переплетена: main повідомляє про помилки, виявлені модулем vvod. При автономній налагодженні кожного з них, особливо при введенні помилкових даних, драйвер або імітатор практично повинен дублювати роботу іншого модуля. Тому їх зручно налагоджувати спільно. Модуль vyvod простий і не вимагає автономної налагодження. p align="justify"> З наведених міркувань прийнятий наступний план налагодження:
. Тестування модуля vvod. Для перевірки правильності введення потрібно модуль виводу матриці суміжності, який корисно використовувати на всіх етапах налагодження. p align="justify">. Спільне тестування модулів poisk, vyvod і main з модулем vvod (тобто всієї програми) на В«правильнихВ» тестах. p align="justify">. Тестування всієї програми для спільної налагодження модулів main і vvod на В«неправильнихВ» тестах. br/>
4.2 Проектування тестів