- •1. Загальні положення
- •2. Завдання до виконання курсової роботи
- •2.1. Загальне завдання
- •2.2. Основні етапи виконання курсової роботи
- •2.3. Орієнтовні теми курсових робіт
- •3. Список літератури Основна література
- •Додаткова література
- •4. Структура курсової роботи
- •5. Правила оформлення
- •6. Методичні вказівки до виконання курсової роботи
- •7. Рекомендації до створення програми
- •8. Критерії оцінки курсового проекту
- •Додаток а Приклад виконання титульного аркуша пояснювальної записки до курсового проекту (роботи)
- •Обчислювальна техніка та алгоритмічні мови
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, яка розставить дужки в цьому виразі так, щоб його значення стало максимально можливим. Пробіли всередині чисел не допускаються.
