Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка курсові роботи.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
204 Кб
Скачать
☆

2.2. Основні етапи виконання курсової роботи

№ етапу

Види робіт

Номер тижня

1

Одержання теми роботи

1-2

2

Складання первинного плану курсового проекту

2-3

3

Підбір літератури та інших матеріалів і джерел, складання бібліографії

3-5

4

Складання алгоритму

5-7

5

Складання програми

7-9

6

Прогонка та налагодження програми

9-12

7

Подання роботи на кафедру для перевірки та рецензування

12-14

8

Захист курсової роботи

14-16

2.3. Орієнтовні теми курсових робіт

1. Компанія хоче передавати дані по телефону, але вона стурбована можливістю телефонного перехоплення. Усі дані, що передаються є чотиризначними цілими числами. Компанія попросила вас написати програму, яка повинна шифрувати ці дані так, щоб вони могли передаватися з більшою безпекою. Ваша програма повинна читати цілі чотиризначні числа і шифрувати їх наступним чином: замінювати кожну цифру значенням залишку від ділення: (сума цієї цифри плюс 7) / 10. Потім міняти місцями першу цифру з третьої і другу з четвертою. Потім друкувати отримане зашифроване ціле. Потім напишіть окрему програму, яка вводила б зашифровані чотиризначні цілі і дешифрувала їх, отримуючи вихідні числа.

2. Маємо n речей, вага яких a1, a2, ..., an. Написати програму, яка ділить ці речі на дві групи так, щоб загальна вага кожної з груп були максимально рідними.

3. Розробити програму, яка підводить підсумки Олімпійських ігор. Програма повинна одержати від користувача кількість золотих, срібних і бронзових медалей, завойованих кожною командою-учасницею (прийняти кількість команд рівною 5). Далі по кількості медалей кожної гідності необхідно обчислити відповідне число очок команди. Кількість очок обчислюється за наступним правилом: за золоту медаль команда одержить сім очок, за срібну - шість, за бронзову - п'ять очок. Після таких розрахунків список команд потрібно впорядкувати відповідно до набраної кількості очок за допомогою алгоритму сортування обміном і вивести в діалозі.

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

5. Складіть програму шифрування текстового повідомлення. Можна використовувати найпростіший спосіб шифрування, при якому шифрувальник задає ключ шифрування - ціле число, що визначає величину зміщення букв російського алфавіту. Наприклад, при значенні ключа, що дорівнює 3, в тексті літера 'а' змінюється на 'г' і т. д. Складіть програму дешифрування текстового повідомлення, зашифрованого вашої програми.

6. Дані два слова. Напишіть програму, яка визначає, можна чи ні з букв слова А скласти слово В.

7. Дано рядок символів. Написати програму, яка визначає, скільки в ньому слів парної довжини. Видалити з нього кожне слово парної довжини.

8. Дано довільний рядок тексту. Написати програму, яка з'ясовує, чи є він паліндромом, тобто чи читається рядок зліва направо так же, як і справа наліво.

9. Ввести послідовність символів, що представляє собою запис числа в системі числення з основою р. Написати програму, яка переводить це число в систему числення з основою 10 (десятковий).

10. Написати програму, яка по даті (місяць і день народження) визначити знак Зодіаку. Використовувати інтервальний тип даних.

11. Менеджер комп'ютерного магазину-салону регулярно отримує інформацію про техніку, яку привозять на склади А, В, С. Українським назвами виробів поставлені номери 1 - 9, англійською - імена tl - t9. Скласти програму, яка дає інформацію про вироби, які є в наявності на складах А або В, або яких немає на складі.

12. Скласти список навчальної групи, що включає N людей. Для кожного студента вказати дату народження, рік вступу в університет, курс, групу, оцінки останньої сесії. Інформацію про кожному студентові оформити у вигляді запису. Сукупність записів об'єднати в масив. Скласти програму, яка забезпечує введення отриманої інформації, роздруківку її у вигляді таблиці. Роздрукувати анкетні дані студентів, які встигають на 4 і 5.

13. Два трикутники задані координатами своїх вершин А, В і С. Написати програму, яка обчислює площі трикутників, не використовуючи формулу Герона, і визначити, який трикутник має більшу площу. При вирішенні задачі використовуйте наступні дані: для першого трикутника А (1; 1), (5; 2), (3; 3); для другого трикутника А (2; 5), (4; 3), С (6; 4). Обчислення площі трикутника оформіть у вигляді функції.

Площа трикутника, заданого вершинами А (x1, y1), B (x2, y2) і С (x3, y3), обчислюється за формулою: S = .|(x2 - x1)(y3 - y1) - (x3 - x1) (y2 - y1)|.

14. Задано координати вершин трикутника ABC: (XA, YA), (XB, YB), (XC, YC). Потрібно скласти програму, в якій визначається чи належить введена точка O(x, y) заданому трикутнику.

15. Дана непуста послідовність слів, у кожному з яких від 1 до 6 латинських букв; між сусідніми словами - кома, за останнім крапка. Вивести всі слова, у яких однакові «сусіди», тобто збігаються попередні та наступні слова.

16. Нехай дано n паралелограмів координатами своїх вершин. Визначте номер паралелограма, у якого площа максимальна. Напишіть функцію для визначення площі паралелограма за його заданими координатами вершин.

17. У трьох автопарках працюють по 20 машин з заданими держномерами і вказаними марками: ГАЗ, ЗІЛ, ЛІАЗ і т. д. Кожен водій здає зведення про те, скільки кілометрів пройшла його машина в кожен день тижня, і про розмірі виручки. Підрахуйте загальний кілометраж в кожному автопарку по кожному дню окремо. В якому з автопарків найбільший автопробіг? Який день тижня відповідає найбільшій прибутку?

18. Скласти процедуру, яка визначає точки, відстань між якими максимальна і мінімальна. Координати точок задані в масивах X(n), Y(n), n<20. Використовувати складену процедуру для масивів X1, Y1, вивести номери знайдених точок, а також відстань між ними.

19. Потрібно написати програму, яка створює одновимірний масив, розміром 12 елементів. Потім заповнює його або з клавіатури (дозволяється вводити числа в інтервалі від 0 до 99), або генерує його вміст за допомогою генератора випадкових чисел, в інтервалі від 0 до 99. Для вибору одного з двох варіантів заповнення, програма ставить питання користувачеві. Потім програма повинна інвертувати масив, шляхом заміни значення першого елемента на останній, другого на передостанній і так далі. Вивід на екран повинен відбуватися рівно два рази: до інверсії і після.

20. На судноверфі для докового ремонту прийшли п'ять судів А, В, С, D, Е. В доці судноверфі може перебувати тільки одне судно. Необхідний час стоянки в доці кожного судна різний і становить відповідно МА, МВ, МС, MD и МО. Скласти програму, яка визначає і виводить на екран черговість постановки судів в док, при якій сумарні втрати від простою судів мінімальні.

21. Написати програму «Розстановка меблів». Площа розділена на шість квадратів, п'ять із них зайняті меблями, шоста вільна. Переставити меблі так, щоб шафа і крісло помінялися місцями, при цьому ніякі два предмети не можуть стояти на одному квадраті.

Стіл

Стілець

Шафа

Стілець

Крісло

22. Написати програму «Кості». Гравець називає будь-яке число в діапазоні від 2 до 12 і ставку, яку він робить у цей хід. Програма з допомогою датчика випадкових чисел двічі вибирає числа від 1 до 6 («кидає кубик»). Якщо сума, що випали цифр менше 7 і грає задумав число менше 7, він виграє зроблену ставку. Якщо сума, що випали цифр більше 7 і грає задумав число більше 7, він також виграє зроблену ставку. Якщо грає вгадав суму цифр, він отримує в чотири рази більше очок, ніж зроблена ставка. Ставка програна, якщо не має місце жодна з описаних ситуацій. У початковий момент у граючого 100 очок. 23. Написати програму «Корови і бики». Програма вибирає з допомогою датчика випадкових чисел чотиризначне число з різними цифрами. Вгадати це число. На кожному кроці гравець називає чотиризначне число, а програма повідомляє, скільки цифр числа вгадано (бики) і скільки цифр вгадано і стоїть на місці (корови). Наприклад, якщо загадане число 1294, а граючий назвав 1423, він отримує відповідь «1 корова, 3 бика».

24. Написати програму «Сто сірників». З купки, яка спочатку містить 100 сірників, двоє гравців по черзі беруть кілька сірників: не менше одного і не більше десяти. Програє, той, хто взяв останній сірник.

25. Написати програму «Розстановка 16 букв». У квадраті 4х4 клітини розставити 16 букв ( чотири a, чотири b, чотири c, чотири d) так, щоб у кожному горизонтальному і в кожному вертикальному раду будь-яка буква зустрічалася лише один раз.

26. Автобусні квитки в рулоні пронумеровані від 000001 до 999999. Скласти програму, що виводить на екран кількість і номери (в кілька стовпчиків) всіх щасливих квитків у певному діапазоні, організувавши запит початкового і кінцевого номерів квитка діапазону.

27. Написати програму шифрування. Аліса і Боб вирішили шифрувати свою листування і почали обговорювати шифр.

Аліса: Пропоную наступний простий шифр. Літера 'A' буде записуватися як

1, 'B' - 2, і так далі до 'Z' - 26.

Боб: Це дурний шифр. Якщо я пошлю тебе слово 'BEAN' (боб), воно буде закодовано як 25114. Але це повідомлення можна розшифрувати кількома способами.

Аліса: Ти прав, але інші слова безглузді. Крім 'BEAN' виходять слова 'BEAAD', 'YAAD', 'YAN', 'YKD' і 'BEKD'. Я думаю, що можна здогадатися про коректної розшифровці.

Боб: Гаразд, це був дуже простий приклад. А якщо я пошлю повідомлення з 500 цифр або більше, як ти знайдеш серед мільярдів можливих розшифровок єдино правильну?

Аліса: Так багато? Не може бути...

Потрібно написати програму, яка підраховує кількість можливих розшифровок деякого повідомлення, закодованого шифром Аліси.

28. У новому випуску Великої Галактичної Енциклопедії N сторінок. Петя вважає сторінку щасливою, якщо твір цифр, що входять в її номер, одно K. Наприклад, якщо N=100, то для K=42 є щаслива сторінка (наприклад, з номером 76), а для K=128 щасливої сторінки немає. Потрібно написати програму, яка допоможе Петрику визначити, чи є щасливі сторінки в новому випуску енциклопедії.

29. Деяке повідомлення шифрувалося таким чином: кожне слово вихідного тексту перекладалося за допомогою словника на спеціальну таємну мову, потім із повідом­лення вилучалися знаки пунктуації та пробіли між словами, тобто отримали суціль­ний рядок символів. Згодом у цей рядок у довільному порядку вставлено декілька символів. Зашифрована фраза таємної мови є послідовністю символів a..z ла­тинського алфавіту. Написати програму CIPHER, яка за заданим закодованим рядком і словником таємних слів визначає найменшу кількість символів, котру потрібно викреслити із рядка для того, щоб рядок, який залишився, можна було подати у вигляді послідовності слів словника. Слова можуть повторюватись. Вва­жається, що порожній рядок можна подати за допомогою слів будь-якого словника.

У першому рядку вхідного масиву cipher1 містяться два цілих числа: N — довжина зашифрованого рядка (1 < N < 100), М — кількість слів у словнику (0 < М < 100). Сам зашифрований рядок знаходиться у другому рядку масиву. В кожний з наступних М рядків записане слово з словника, довжина якого стано­вить не менше 1 та не більше N.

30. Задано алгебричний вираз, котрий містить дійсні числа і знаки арифметичних операцій +,-,*. Потрібно написати програму EXPRESSION, яка розставить дужки в цьому виразі так, щоб його значення стало максимально можливим. Пробіли всередині чисел не допускаються.