Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Пошук найкоротшого шляху в лабіринті

Реферат Пошук найкоротшого шляху в лабіринті





В 

Критерій тестування: покриття умов

6

Натиснути клавішу <↑>

(вгору) і пересувати

курсор доти,

поки не досягне

кордону

В§ Курсор не повинен виходити

за межі поля

повне

відповідність

7

Натиснути клавішу <↓>

(вниз) і пересувати

курсор доти,

поки не досягне

кордону

В§ Курсор не повинен виходити

за межі поля

повне

відповідність

8

Натиснути клавішу <в†ђ>

(вліво) і пересувати

курсор доти,

поки не досягне

кордону

В§ Курсор не повинен виходити

за межі поля

повне

відповідність

9

Натиснути клавішу <в†’>

(вправо) і пересувати

курсор доти,

поки не досягне

кордону

В§ Курсор не повинен виходити В§ за межі поля

повне

відповідність

10

навести курсор на

двері і натиснути

Enter


В§ Функцію не буде реаг- В§ ровать на введення

повне

відповідність

11

навести курсор на

кімнату і натиснути

Enter


Функція повинна попроси

ть ввести вихід з лаби

Ринта.

повне

відповідність


Тестуємий модуль:

int Find (struct Lab * P, int x1, int y1, int x2, int y2)

{p> int x, y, k = 1, F = 1;

P-> Put [y2] [x2] = k; p> while (F)

{

F = 0;

for (x = 1; x <= MX; x + +)

{p> for (y = 1; y <= MY; y + +)

{p> if (P-> Put [y] [x] == k)

{p> if (P-> Map [y +1] [x]! = 0 && P-> Put [y +1] [x] == 0)

{ P-> Put [y +1] [x] = k +1; F = 1;}

if (P-> Map [y-1] [x]! = 0 && P-> Put [y-1] [x] == 0)

{ P-> Put [y-1] [x] = k +1; F = 1;}

if (P-> Map [y] [x +1]! = 0 && P-> Put [y] [x +1] == 0)

{ P-> Put [y] [x +1] = k +1; F = 1;}

if (P-> Map [y] [x-1]! = 0 && P-> Put [y] [x-1] == 0)

{ P-> Put [y] [x-1] = k +1; F = 1;}

} p> } p> } p> k + +;

} p> if (P-> Put [y1] [x1] == 0)

{

gotoxy (3,7); printf ("Шлях не знайдено");

}

else

{

gotoxy (3,7); printf ("Найкоротший шлях знайдений");

}

У модуль має передаватися карта поля і координати двох вершин х1, y1

і х2, y2 получениє від функції Vvod, між якими необхідно знайти

найкоротший шлях.

Г? Для цього модуля маємо наступні тести (Таблиця 3):

Таблиця 3 - Тести для модуля Find

тесту

В 

Дія

Бажане поведе-

ня функції

Відповідність

В§ В§ Критерій тестування: покриття рішень/умов

1

Необхідно сформували-

ровать лабіринт і

ввести дві вершини,

між якими

необхідно знайти

найкоротший шлях

функція повинна знайти шлях

і видати відповідне

повідомлення

повне

відповідність

2

Необхідно сформували-

ровать незв'язаність

лабіринт і ввести 2

вершини, між

якими необхід-

мо знайти шлях


функція не повинна знайти

шлях і видати відпо-

вующее повідомлення

повне

відповідність


Текст програми


# include

void main ()

{

static struct Lab P;

int X1, X2, Y1, Y2;

char a;

do {

Grin (& P);

// q (& P);

Rasstan (& P),

Vvod (& P, & X1, & Y1, & X2, & Y2),

if (! Find (& P, X1, Y1, X2, Y2))

{

gotoxy (3,7); printf ("Шлях не знайдено ...


Назад | сторінка 8 з 10 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Найкоротший шлях через мережу
  • Реферат на тему: Повне и КОМАНДИТНЕ ТОВАРИСТВО
  • Реферат на тему: Технологія ремонту колісної пари і її повне опосвідчення
  • Реферат на тему: Благоустрій мікрорайону, відповідність сучасним вимогам
  • Реферат на тему: Відповідність законів суб'єктів Російської Федерації Конституції