- •Методичні вказівки до виконання курсових робіт з дисципліни «алгоритмізація та програмування»
- •Тема 1 Дуель на пістолетах
- •Тема 3 Гра в слова
- •Тема 4 Задача «Маневри»
- •Тема 5 Хід короля
- •Тема 6 Гра « п’ятнадцять »
- •Тема 7 Вгадай число
- •Тема 8 Коректність ходу білих шашок
- •Тема 9 Морський бій
- •Тема 10 Послідовність риб в доміно
- •Тема 11
- •Тема 12 Квартирний маклер.
- •Тема 13 Моделювання руху ліфта
- •Тема 15
- •Тема 16
- •Тема 17 Тренування пам‘яті
- •Тема 18 Робота з клавіатурою
- •Тема 19 Від одного до десяти
- •Тема 20 Хрестики-нолики
Методичні вказівки до виконання курсових робіт з дисципліни «алгоритмізація та програмування»
Тема 1 Дуель на пістолетах
Розробити програму, що імітує дуель на пістолетах (початок XIX століття).
Вихідні дані:
У кожного дуелянта – тільки один постріл.
Початкова відстань між дуелянтами.
Мінімальна відстань 20 м.
Швидкість зближення 0.5 м/с.
Точність стрілянини е – кругове середнє квадратичне відхилення:
здорового дуелянта – 0.005;
пораненого – 0.02.
Розсіювання по осях координат x = y =e*D.
Відхилення від точки прицілювання по осях Х и Y – незалежні нормально розподілені випадкові величини з математичними очікуваннями, рівними 0, і середніми квадратичним відхиленнями x і у.
Події при дуелі: А – вбитий; У – поранений; З – непошкоджений.
Дуелянта, як мішень, можна подати в такому вигляді:
тіло – прямокутник зі сторонами 140 і 40 див;
голова – окружність діаметра 22 див. Влучення в голову – вбитий, у тіло – поранений. У результаті моделювання одержати оцінки імовірностей:
P1(A) P1(B) Р1(З) ;
Р2(А), Р2(в) Р2(с) .
Поводження першого дуелянта завжди однаково:
час пострілу – випадкова величина, розподілена за законом рівномірної щільності на інтервалі (0, 40) з;
точка прицілювання – центр кола (у голову). Досліджувати вплив тактики поводження другого дуелянта (час пострілу, точка прицілювання) на результат дуелі.
В програмі передбачити авторську заставку, меню та вихід на випадок некоректної роботи програми. Навести математичний апарат моделювання.
Тема 2
Магічний квадрат із доміно.
Задано ціле число n 2<=n<=10. Побудувати n різних магічних квадратів розміром 4×4, складених із кісточок одного комплекту доміно. Кісточки розташовувати тільки горизонтально. Навести графічний розв’язок задачі.
Тема 3 Гра в слова
Реалізувати гру „Відгадай слово” , яка відбувається таким чином. Машина загадує слово(випадково вибирає його з наявного списку) і виводить на екран першу і останню букви і риски замість решти букв. Граючий на кожному ходу намагається відгадати одну букву слова. Ведеться протокол гри і підраховується „коефіцієнт інтелекту”
де a- сумарне число названих букв,
b- число вгаданих букв,
x- первинне число невідомих букв.
Гра закінчується, коли вгадано слово або коли „коефіцієнт інтелекту” стає більше 2.
В програмі передбачити авторську заставку, меню та вихід на випадок некоректної роботи програми
Тема 4 Задача «Маневри»
На території деякої держави з сильно перетнутою гірською місцевістю йдуть військові маневри між двома протиборчими сторонами: «Синіми» і «Зеленими». Особливості ландшафту і складні кліматичні умови вимушують підрозділи обох сторін розміщуватися тільки на території деяких населених пунктів. Загальна кількість населених пунктів в цій державі рівна N.
Тактика ведення бойових дій «Синіх» розрахована на нанесення супротивнику швидких і раптових ударів, що можливе лише в тому випадку, якщо в операціях використовуються моторизовані частини, а їх пересування відбувається тільки по дорогах.
Різноманітність використовуваної бойової техніки призводить до того, що час переміщення різних бойових частин з одного пункту в іншій опиняється різним і визначається величиною Vj — швидкістю руху підрозділів бойової частини, розквартированої в j-м населеному пункті.
Використовуючи значну перевагу в техніці, «Сині» планують організувати нічний наліт на бази супротивника (під кодовою назвою «Зелені») і повністю їх розгромити. Всі бойові підрозділи «Синіх» приступають до виконання операції одночасно. Якщо бойова частина «Синіх» уривається в населений пункт, зайнятий «Зеленими», то, враховуючи чинник раптовості, їм вдається повністю розгромити це угрупування.
На жаль, блискучому проведенню цієї операції перешкодила та обставина, що через час T після початку операції «Зеленими» було здійснене радіоперехоплення повідомлення про операцію, що почалася. Після радіоперехоплення угрупування «Зелених» миттєво розсіваються в навколишніх горах і залишаються неушкодженими.
З'ясуйте, яка кількість угрупувань супротивника і в яких населених пунктах «Синім» все-таки вдасться розгромити «Зелених».
Передбачається, що в початковий момент часу угрупування «Зелених» і «Синіх» не можуть знаходитися в одному і тому ж населеному пункті. Якщо сигнал тривоги поступає в той момент, коли бойова частина «Синіх» тільки уривається в населений пункт, зайнятий «Зеленими», то, використовуючи чудове знання місцевості, «Зеленим» все-таки вдається сховатися в горах. Переважна перевага в техніці і живій силі дозволяє бойовим частинам «Синіх» організувати з кожної частини будь-яку кількість експедицій для розгрому «Зелених». Ніщо не заважає одну експедицію за час проведення операції знищити декілька угрупувань.
Початкові дані задачі містяться у файлах MAP.IN і TROOPS.IN. Структура файлу MAP.IN описує карту місцевості. У першому рядку цього файлу містяться два цілі числа: N — кількість населених пунктів (0 < N < 256) і К — кількість доріг, що сполучають ці населені пункти (0 ≤К ≤ 1000). Дороги ніде не перетинаються. У подальших К рядках файлу міститься схема доріг. У кожному рядку записана пара двох натуральних чисел i та j і одне додатне дійсне число Lij, що означає, що між населеними пунктами i та j існує дорога завдовжки Lij кілометрів (Lij < 1000).
Вміст файлу TROOPS.IN відображає розміщення бойових частин воюючих сторін. Перший рядок файлу містить число MF — кількість бойових частин «Синіх». Кожний з подальших MF рядків містять по два числа. Перше — ціле число j — номер населеного пункту, в якому розміщується частина; друге — дійсне невід‘ємне число Vj — швидкість руху бойових колон цієї частини в кілометрах в годину (Vj < 110). Далі в окремому рядку файлу записане число MB — кількість бойових угрупувань «Зелених», за яким перераховані MB чисел — номерів населених пунктів, де ці угрупування знаходяться. І нарешті, в останньому рядку файлу зберігається додатне дійсне число Т, зміряне в годинах (Т < 24). Всі числа в рядках файлів розділені пропусками.
Результат рішення задачі необхідно вивести в текстовий файл VICTORY.OUT. У перший рядок файлу виводиться кількість розгромлених угрупувань, а в другу — номери населених пунктів (у порядку зростання), в яких ці угрупування базувалися.
Розглянемо такий приклад:
MAP.IN
8 7
1 2 80
2 4 25
4 5 10
6 2 5
2 3 40
7 6 10
8 7 15
TROOPS.IN
2
1 50
6 20
4 4 5 3 8
2.0
VICTORY.OUT
2
4 8
Стисло алгоритм рішення задачі може бути описаний так: методом Флойда обчислюємо найкоротші відстані від кожної вершини до кожної.
Скласти програму, яка вирішує поставлену задачу. Навести теоретичні виклади про роботу алгоритму Флойда та застосувати основні положення теорії графів. В завданні на курсову роботу скоротити умову до прийнятного вигляду.
Програма повинна мати меню, мінімальний склад якого такий:
Авторська заставка
Робота програми
Відомості про програму (інструкція)
Вихід
Всі надписи на екрані повинні бути державною мовою, а не англійською. Необхідні файли підключаються через розробку власних бібліотек.