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

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

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

HTML-сторінки складають головний модуль, з якого доступний вибір кожної реалізованої прикладної задачі.

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

  1. Задача “Бики та корови “– “BullsCows”

  2. Решето Ератосфена – “ Sieve eratosthenes ”

  3. Пошук простих чисел – “Prime”

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

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

Задача “Бики та корови “– “BullsCows”

Ім’я функції

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

Імена параметрів

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

Init

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

______________

_____________________

NeedAddCows

Визачити чи потрібно збільшувати кількість “корів“

const int * array, const int element, const bool * skipPosition, int idx

array – четвірка цифр що перевіряється, element – одна з цифр виведеної компьютером четвірки, idx – позиція, на якій міститься element у виведеній компьютером четвірці.

Check

Визначити наступну комбінацію

const int * a, const int * b, const int bulls, const int cows

a- масив комбінацій,

b- уже виведені комбінації,

bulls, cows- к-сть биків та корів відповідно.

PrintTurn

Вивести комбінацію

const int * a, const int number

a- масив цифр, що виводяться

number- номер спроби .

CheckTurn

Зчитати значень биків та корів, які ввів користувач і виконати відповідні дії

const int * turn

turn - масив цифр, що були виведені.

GetNextTurn

Знайти відповідь чи доступна наступна комбінація

int * a

a- масив цифр, що складають наступний хід.

bullscows

Задати цифри першого ходу, вивести к-ть спроб відгадати комбінацію або помилку про неправильне введення

______________

______________

Решето Ератосфена – “ Sieve eratosthenes”

Ім’я функції

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

Імена параметрів

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

Resheto

Знайти всі прості числа менші числа, яке ввів користувач

bool *bArray,int upper

bArray- масив міток, чи поточне просте число

upper-верхня границя проміжку.

sieve

Зчитати межу інтервалу, задану користувачем, вивести прості числа у цьому проміжку.

______________

_____________________

Пошук простих чисел – “Prime”

Ім’я функції

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

Імена параметрів

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

Resheto

”Відсіяти” із заданого проміжку не прості числа

bool *bArray,int upper

bArray- масив міток, чи просте число

upper-верхня границя проміжку.

prime

Зчитати нижню та верхню межі, задані користувачем, вивести прості числа у цьому проміжку.

______________

_____________________

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

Ім’я функції

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

Імена параметрів

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

PATH LittlsAlgoProcess

Реалізація алгоритму Літтла.

NODE root

root- змінна структ. типу, що складається з нижньої границі, матриці, яка залишилась, шляху,покажчика на лівий та правий вузли бінарного дерева.

PATH MendPath

додати до шляху два останніх ребра що залишаються на останньому кроці алгоритму

PATH path, MATRIX c

path- змінна структ. типу, що скл.з масиву структур ребер та їх кількості;

с- змінна струк-го типу, що складається з матриці та кількості міст

Simplify

спростити матрицю

MATRIX* c

с – покажчик на змінну структурного типу

SelectBestEdge

знайти найкраще ребро, нульовий елемент матриці з найбільшою оцінкою

MATRIX c

с- змінна струк-го типу, що складається з матриці та кількості міст;

ZeroCost

розрахувати вагу елемента 0

MATRIX c, EDGE edge

с –змінна струк-го типу, що складається з матриці та кількості міст;

edge -структура, що складається з номеру вершини початку та кінця

RightNode

побудовати множину що не включає ребро edge

MATRIX c, EDGE edge

с- змінна струк-го типу, що складається з матриці та кількості міст;

edge - змінна структ. типу, що складається з номеру вершини початку та кінця поточного ребра.

LeftNode

побудовати множину що включає ребро edge

MATRIX c, EDGE edge, PATH path

с- змінна струк-го типу, що складається з матриці та кількості міст;

edge - змінна структ. типу, що складається з номеру вершини початку та кінця поточного ребра

path- змінна структ. типу, що скл.з масиву структур ребер та їх к-сті

LoopEdge

знайти елемент, який буде передчасно завершувати цикл

PATH path, EDGE edge

path- змінна структ. типу, що скл.з масиву структур ребер та їх к-сті

edge - змінна структ. типу, що складається з номеру вершини початку та кінця поточного ребра.

MatrixSize

розраховати розмір матриці, виключаючи ті стовпці і рядки, які було відкинуто

MATRIX c, PATH path

с- змінна струк-го типу, що складається з матриці та кількості міст;

path- змінна структ. типу, що скл.з масиву структур ребер та їх к-ті

ShowPath

відобразити маршрут, сортуючи його у зручному порядку

PATH path, MATRIX c

path- змінна структ. типу, що скл.з масиву структур ребер та їх к-ті

с- змінна струк-го типу, що складається з матриці та кількості міст;

ShowMatrix

вивести матрицю

MATRIX c

с- змінна струк-го типу, що складається з матриці ваг ребер та кількості міст;

saleman

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

______________

_____________________

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

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

Рис 2. HIPO-діаграма програми «Бики та корови»

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

Рис 3. HIPO-діаграма програми «Решето Ератосфена»

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

Рис 4. HIPO-діаграма програми «Пошук простих чисел»

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

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

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