Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Poyasnyuvalna_zapiska.docx
Скачиваний:
3
Добавлен:
04.09.2019
Размер:
986.31 Кб
Скачать

Функціональна структура програми Специфікація модулів

Кожна реалізована програма має вигляд окремого самостійного модуля, окремого файлу, які приєднані до головного файлу, з якого викликаються дані прикладні програми.

Список реалізованих задач та назва модулів:

  1. Задача про 8 ферзів – “EightQueens.cpp”

  2. Обхід конем шахової дошки – “Knight.cpp ”

  3. Задача про лабіринт – “Labyrinth.cpp”

  4. Задача комівояжера – “Salesman.cpp”

  5. Задача про парламент – “Parlament.cpp”

  6. Задача про автозаправку – “GasStation.cpp”

Специфікація функцій

Задача про 8 ферзів – “EightQueens.cpp”

Ім’я функції

Призначення функції

Параметри

Семантика параметрів

EightQueens

Головна функція модуля.

___________

___________________

CleanBoard

Обнулити необхідні змінні та присвоїти початкові значення.

___________

___________________

tryQ

Спробувати поставити ферзя на необхідний рядок шахівниці.

int i

i – номер рядку, на який необхідно спробувати додати ферзя.

setQ

Помістити ферзя на шахівницю.

int i, int j

i – рядок, j – стовпець на який розмістимо ферзя

resetQ

Прибрати ферзя з шахівниці.

int i, int j

i – рядок, j – стовпець з якого прибирається ферзь

PrintBoard

Вивести отримані результати на екран

___________

___________________

Обхід конем шахової дошки – “Knight.cpp ”

Ім’я функції

Призначення функції

Параметри

Семантика параметрів

Knight

Головна функція модуля.

___________

___________________

InitialBoard

Обнулити необхідні змінні та присвоїти початкові значення.

___________

___________________

Solve

Рекурсивна функція обходу шахівниці конем.

int x, int y, int q

x- номер рядка, y- номер стовпця на який перейшов кінь, q – номер кроку

Print

Вивести отримані результати на екран

___________

___________________

Задача про лабіринт – “Labyrinth.cpp”

Ім’я функції

Призначення функції

Параметри

Семантика параметрів

Labyrinth

Головна функція модуля.

___________

___________________

input

Введення даних.

___________

___________________

ChooseFile

Вибрати файл для читання.

___________

___________________

ReadFromFileL

Зчитати дані з файлу.

___________

___________________

ReadFromKeyboardL

Зчитати дані з клавіатури.

___________

___________________

SearchStartAndFinish

Знайти вхід і вихід з лабіринту.

___________

___________________

SearchExit

Рекурсивна функція пошуку виходу з лабіринту.

int x, int y

x, y – координати поточного розташування в лабіринті.

WritePathToLabyrinth

Записати знайдений шлях в лабіринт

___________

___________________

print

Вивести отримані результати на екран

___________

___________________

Задача комівояжера – “Salesman.cpp”

Ім’я функції

Призначення функції

Параметри

Семантика параметрів

Salesman

Головна функція модуля.

___________

___________________

ReadFromFileS

Зчитати дані з файлу.

___________

___________________

ReadFromKeyboardS

Зчитати дані з клавіатури.

___________

___________________

initialization

Обнулити необхідні змінні та присвоїти початкові значення.

___________

___________________

search

Рекурсивна функція пошуку виходу з лабіринту.

int v, int Count, int Cost

v - номер поточного міста, Count - лічильник кількості пройдених міст, Cost - ціна поточного розв’язку

OutputResult

Вивести отримані результати на екран

___________

___________________

Задача про парламент – “Parlament.cpp”

Ім’я функції

Призначення функції

Параметри

Семантика параметрів

Parlament

Головна функція модуля.

___________

___________________

ChooseFileP

Вибрати файл для читання.

___________

___________________

ReadFromFileP

Зчитати дані з файлу.

___________

___________________

ReadFromKeyboardP

Зчитати дані з клавіатури.

___________

___________________

backtrack

Рекурсивна функція пошуку мінімального парламенту.

___________

___________________

FullParlament

Перевіряє чи є даний парламент повним?

___________

___________________

add

Додати жителя до парламенту

int k

k – номер жителя

del

Прибрати жителя з парламенту

int k

k – номер жителя

PrintParlament

Вивести отримані результати на екран

___________

___________________

Задача про автозаправку – “GasStation.cpp”

Ім’я функції

Призначення функції

Параметри

Семантика параметрів

GasStation

Головна функція модуля.

___________

___________________

ReadFromFile

Зчитати дані з файлу.

___________

___________________

ReadFromKeyboard

Зчитати дані з клавіатури.

___________

___________________

PrepareData

Побудувати матрицю відстаней між містами.

___________

___________________

Search

Функція пошуку міста для заправки за допомогою перебору.

___________

___________________

PrintResult

Вивести отримані результати на екран

___________

___________________

Схема взаємодій функцій програми

На рисунку 2 зображена схема взаємодії функцій програми «Задача про вісім ферзів».

Рис 2. HIPO-діаграма програми «Задача про вісім ферзів»

На рисунку 3 зображена схема взаємодії функцій програми «Обхід конем шахової дошки».

Рис 3. HIPO-діаграма програми «Обхід конем шахової»

На рисунку 4 зображена схема взаємодії функцій програми «Задача про лабіринт».

Рис 4. HIPO-діаграма програми «Задача про лабіринт»

На рисунку 5 зображена схема взаємодії функцій програми «Задача комівояжера».

Рис 5. HIPO-діаграма програми «Задача комівояжера»

На рисунку 6 зображена схема взаємодії функцій програми «Задача про парламент».

Рис 6. HIPO-діаграма програми «Задача про парламент»

На рисунку 7 зображена схема взаємодії функцій програми «Задача про автозаправку».

Рис 7. HIPO-діаграма програми «Задача про автозаправку»

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