Дисципліна «Програмування
»
Викладач
: ст. викл. Черняк О.І.
Варіанти курсових робіт
1. У файлі задано координати вершин прямокутників. Відсортувати у файлі координати по зменшенню площі прямокутників і вивести на екран найменший та найбільший за периметром прямокутники. Вивести їх діагоналі. Окремим кольором вивести діагональ, що має найменший кут нахилу до горизонталі.
2. У двох файлах задано координати протилежних вершин прямокутників, сторони яких розташовані вертикально або горизонтально. Координати вершин тих прямокутників, периметр яких більше середнього значення периметрів, перемістити в інший файл. Вивести на екран прямокутник, периметр якого найближчий до суми двох найменших прямокутників.
3. У файлі задано координати кінців відрізків прямої. Вивести на екран відрізки, що знаходяться у верхній половині екрану. Окремим кольором виділити ті з них, що знаходяться у лівій половині екрану. Другим кольором виділити ті з них, що знаходяться у правій половині екрану та мають найменшу і найбільшу довжину.
4. У файлі задано координати вершин трикутників. Вивести на екран трикутники. Залишити у файлі тільки координати тупокутних трикутників. Трикутник з найбільшим та найменшим тупим кутом виділити окремим кольором. Другим кольором виділити рівнобедрені трикутники.
5. У першому файлі задано координати кінців відрізку прямої. У другому - координати різних точок. Утворити третій файл. Розділити координати таким чином, щоб координати точок, що лежать по одну сторону від прямої, знаходились в другому файлі, а інші - в третьому. Вивести на екран відрізок та прямокутник, діагоналлю якого є даний відрізок. Окремим кольором вивести точки з другого файлу, що потрапляють в цей прямокутник. Навколо найближчої до центру прямокутника точки намалювати коло з радіусом, що дорівнює найменшій відстані між точками.
6. У файлі задано координати точок, кількість яких більша десяти. Вивести на екран десять точок, у яких відстань від центра екрану найменша. Провести через ці точки ламану лінію. Окремим кольором виділити найкоротший та найдовший відрізки ламаної.
7. У файлі задано координати центра та радіуса кола, а також точок, що лежать на колі. Вивести на екран вписані трикутники з найбільшою та найменшою площею. Якщо в коло вписаний квадрат, то вивести його окремим кольором.
8. У одному файлі задано координати кінців відрізку прямої. У іншому - величини відхилень по осі У від прямої десяти рівномірно віддалених по осі Х точок, на що поділено відрізок. Вивести на екран одним кольором відрізок прямої, другим - ламану лінію, що проходить через десять точок; третім - точки, відстань між якими менша від середньої довжини відрізка ламаної.
9. У файлі задано центри та радіуси кіл. Вивести їх на екран. Кола, що лежать всередині інших кіл виділити окремим кольором. Використовуючи центри виділених кілк вершини, побудувати найбільший за площею трикутник.
10. У файлі задано координати вершин трикутників. Вивести на екран ці трикутники. Окремим кольором виділити рівнобедрені трикутники. Навколо двох найбільших трикутників описати прямокутник з горизонтальними та вертикальними сторонами. Третім кольором виділити ті трикутники, що знаходяться в середині прямокутника.
11. У файлі задано координати радіусів кіл. Вивести їх на екран. Кола, що перетинаються з іншими колами, виділити окремим кольором. Другим кольором виділити ті кола, площа яких менша середньої площі кіл, виділених першим кольором.
12. У файлі задано координати двох точок прямої та вершин трикутників. Вивести на екран ці трикутники і пряму. Одним кольором виділити трикутники, що лежать по одну сторону від прямої, другим – трикутники, що лежать по іншу сторону, а третім – ті, що перетинаються з прямою.
13. У файлі задано координати радіусів кіл. Вивести їх на екран. Окремим кольором виділити кола, що перетинаються з іншими колами. Другим кольором виділити кола, що вкладені в інші кола. Третім кольором виділити найбільше та найменше коло.
14. У файлі задано координати вершин прямокутників з горизонтальними та вертикальними сторонами. Вивести їх на екран. Прямокутники, що вкладені в інші виділити окремим кольором. Другим кольором виділити вкладені прямокутники з максимальною і мінімальною площами.
15. У файлі задано координати кінців відрізків. Вивести їх на екран. З’єднати відрізками окремого кольору точки, відстань між котрими не перевищує половини суми найбільшого та найменшого відрізків. Другим кольором виділити ті з виділених відрізків, що утворюють найбільший за периметром трикутник. Якщо такого трикутника немає, то вивести повідомлення.
16. У файлі задано координати точок. Вивести їх на екран. Використовуючи точки як вершини, побудувати найбільший та найменший за площею тупокутні трикутники. Навколо вершин цих трикутників побудувати кола радіусом, що дорівнює координаті X найвищої точки.
17. У файлі задано координати вершин прямокутника з горизонтальними та вертикальними сторонами. В іншому файлі задано координати вершин трикутників. Вивести на екран прямокутник та трикутники, що цілком лежать всередині прямокутника. Окремим кольором виділити найбільший та найменший за площею трикутники.
18. У файлі задано координати вершин багатокутника. Вивести на екран цей багатокутник. Навколо кожної вершини, відстань від якої до хоча б однієї з суміжних не перевищує величини, заданої в іншому файлі, провести коло радіусом, що дорівнює половині суми найбільшої та найменшої діагоналей.
19. У файлі задано координати вершин трикутників. В іншому файлі задано координати вершин прямокутників. Вивести на екран трикутники та прямокутники. Окремим кольором виділити прямокутники, що мають площу меншу від середньої площі трикутників.
20. У одному файлі задано координати центру та радіуси кіл. В іншому файлі задано координати вершин прямокутників. Вивести на екран кола та прямокутники. Кола, що перетинаються з прямокутниками, виділити окремим кольором. Другим кольором виділити найменше та найбільше кола.
21. У файлі задано координати вершин багатокутника. Вивести на екран цей багатокутник та всі його діагоналі. Навколо кожної вершини намалювати коло радіусом, що дорівнює третині суми найкоротшої діагоналі та довжин сторін, прилеглих до цієї вершини. Кола з найбільшим та найменшим радіусами виділити окремим кольором.
22. У файлі задано координати вершин чотирикутників. Вивести на екран ці чотирикутники і їх діагоналі. Окремим кольором вивести чотирикутники, у яких відстань між лівими верхніми вершинами мінімальна та максимальна. Використовуючи ці відстані як радіуси, побудувати чотири кола. Кола, що перетинаються, виділити окремим кольором.
23. У файлі задано координати вершин двох опуклих багатокутників, один з яких повністю лежить в середині іншого. Вивести на екран ці багатокутники різними кольорами. Сторони зовнішнього багатокутника, що мають довжину, більшу ніж найбільша діагональ внутрішнього багатокутника, виділити окремим кольором.
24. У одному файлі у випадковому порядку задано координати прямої. У другому файлі задано координати ламаної. Вивести на екран пряму та ламану. Окремим кольором виділити відрізки ламаної, що перетинаються з прямою.
25. У файлі задано координати вершин трикутників та чотирикутників. Вивести їх на екран. Окремим кольором виділити ті тупокутні трикутники, периметр яких менший ніж половина периметру найбільшого чотирикутника. Другим кольором виділити трикутник, що відповідає умові та має найбільший периметр.
26. У файлі задано координати центрів та радіусів кіл, а також координати кінців прямої. Вивести на екран відрізок і ті кола, що він перетинає. Центри двох найближчих кіл з'єднати прямою. Через решту центрів провести ламану, що не перетинається.
27. У файлі задано вершини трикутників. Вивести на екран трикутники, периметр яких знаходиться в межах, заданих в іншому файлі. Серед виведених трикутників окремим кольором виділити той, що має площу, найближчу до величини, заданої в іншому файлі, та не перетинається з іншими трикутниками.
28. У двох окремих файлах задано координати точок двох ламаних. Вивести на екран ламані. Окремим кольором виділити відрізки першої ламаної, що перетинають другу ламану.
29. У одному файлі знаходяться координати крайніх точок десяти відрізків прямих. У другому задано параметри прямої. Виконати паралельне перенесення відрізків таким чином, щоб одні їх кінці лежали на прямій. Вивести на екран пряму та відрізки. Окремим кольором вивести перенесені відрізки.
30. У файлі задано координати центрів та радіуси кіл. Вивести на екран кола та вписані в них квадрати. Кола, у яких вписані квадрати мають площу, що лежить в межах між середньою площею кіл та середньою площею квадратів, виділити окремим кольором.
31. У файлі задано координати центрів та радіуси кіл. В іншому файлі задано координати кінців відрізка прямої. Вивести на екран ці кола і квадрат, діагоналлю якого є відрізок. Окремим кольором виділити кола, що перетинаються з іншими колами та лежать всередині квадрата.
32. У файлі задано координати точок. Вивести ці точки на екран. З'єднати між собою точки, що є вершинами ромбів. Ромб з найбільшою площею виділити окремим кольором. Другим кольором виділити квадрати.
33. У файлі задано координати точок. Вивести ці точки на екран. З'єднати між собою точки, що є вершинами паралелограмів. Паралелограм з найбільшим периметром виділити окремим кольором. Другим кольором виділити прямокутники.
34. У файлі задано координати вершин опуклого багатокутника. Вивести на екран цей багатокутник та найбільший за площею вписаний в нього трикутник.
35. У файлі задано координати прямокутників, сторони яких розташовані горизонтально або вертикально. Вивести на екран чотирикутники. Окремим кольором вивести чотирикутники, що перетинаються з іншими. Третім кольором виділити чотирикутники, вкладені в інші. Четвертим кольором виділити найбільший з вкладених чотирикутників та найменший з чотирикутників, що перетинаються.
36. У файлі задано координати точок. Провести через них ламані лінії, що мають найбільшу та найменшу довжину. Вивести ламані на екран. Найдовший та найкоротший відрізок ламаних вивести окремим кольором.
Зразок індивідуального завдання
Міністерство освіти і науки України
Вінницький національний технічний університет
Інститут прогресивних освітніх технологій
Факультет перепідготовки кадрів
Кафедра обчислювальної техніки
ЗАТВЕРДЖУЮ
Зав. кафедри ОТ, проф., д.т.н.
______________ О.Д. Азаров
(підпис)
”___” _________ 200_ р.
ТЕХНІЧНЕ ЗАВДАННЯ
на курсову роботу з дисципліни ”Програмування”
студенту ________________________________________________
факультету______________________групи ___________________
ТЕМА: Розробка об’єктно-орієнтованих програм мовою С++.
1. Постановка задачі.
У файлі задано координати кінців відрізків. Вивести їх на екран. Між тими кінцями відрізків, відстань між якими не перевищує половини суми довжин найбільшого та найменшого відрізків, що перетинаються, провести прямі лінії. Окремим кольором виділити проведені відрізки, що утворюють трикутники.
2. Вимоги до вирішення задачі.
2.1. Розробити метод вирішення задачі за заданим варіантом.
2.2. У відповідності до варіанту завдання створити текстові файли з
даними у формі, зручній для редагування. Наприклад:
Point1: x=12, y=33;
Point2: x=120, y=300;
2.3. Розробити необхідні класи та об’єкти. Розробити функції та змінні класів.
2.4. Використовуючи технологію об’єктно-орієнтованого програмування, розробити програму для вирішення задачі за заданим варіантом. Програма повинна зчитувати дані з текстового файлу, динамічно виділяти для них оперативну пам’ять, за допомогою об’єктно-орієнтованої технології реалізувати розроблений метод вирішення задачі та виводити результати у графічному режимі на екран.
2.5. З використанням механізму віртуальних функцій розробити програму для меню, що має такі команди:
• Виведення повідомлення про автора.
• Запуск на виконання середовища програмування з програмою за заданим варіантом.
• Запуск на виконання самої програми за заданим варіантом.
• Вихід з програми меню.
Дані про автора та назви команд для програми меню повинні знаходитись у різних текстових файлах.
Дата видачі ”____” ______________________ 200_ р.
Керівник:
ст. викладач кафедри ОТ Черняк О.І. ___________________
Завдання отримав ____________________ ______________
Рекомендації до виконання курсової роботи
1.Правила оформлення пояснювальної записки
Пояснювальна записка повинна бути оформлена у відповідності до вимог ДСТУ 3008-95, ”Єдиної системи програмної документації (ЄСПД)” та Методичних вказівок до оформлення курсових проектів (робіт) у Вінницькому національному технічному університеті. Текст курсової роботи повинен бути надрукований у редакторі Microsoft Word на стандартних аркушах формату A4. Обсяг пояснювальної записки не повинен перевищувати 25-30 сторінок. Шрифт – Times New Roman, розмір 14. Міжрядковий інтервал – 1,5. Відступи від країв аркуша: зверху, знизу і зліва – 20 мм; зправа – 10 мм. Абзац – 5 знаків. Нумерація сторінок в правому верхньому кутку, починаючи зі змісту. Заголовки структурних частин, розділів виконують великими літерами посередині рядка, всі інші з абзацу малими літерами починаючи з великої. Слово “Додаток” малими літерами з першої великої посередині рядка. Запис літературного джерела: „ПЕРЕЛІК ПОСИЛАНЬ”. Кожен розділ рекомендується починати з нової сторінки. Заголовок розділу записують посередині великими буквами з більш високою насиченістю. Заголовки розділів, підрозділів, пунктів та підпунктів (при наявності заголовка) записують з абзацу малими буквами починаючи з великої. Розділи нумерують порядковими номерами в межах всього документа (І, 2, і т.д.). Після номера крапку не ставлять, а пропускають один знак. Підрозділи нумерують в межах кожного розділу, пункти в межах підрозділу і т.д. за формою (3.1, 3.2, 3.2.1, 3.2.2, 3.2.2.1 і т.д.). Цифри, які вказують номер, не повинні виступати за абзац.
2.Структура пояснювальної записки :
1. Титульна сторінка.
Оформлюється за зразком, наведеним у п.2.3. Титульна сторінка не нумерується, але враховується при нумерації.
2. Індивідуальне завдання до курсової роботи.
Оформлюється за зразком, наведеним у п.2.4. Індивідуальне завдання не нумерується, але враховується при нумерації.
3. Анотація.
Містить 5-7 речень, у яких наводиться короткий опис пояснювальної записки. Анотація не нумерується, але враховується при нумерації.
4. Зміст.
З даної сторінки починається нумерація, але сама сторінка у змісті не вказується.
5. Вступ.
Вступ висвітлює: стан розвитку проблеми в даній галузі, до якої має відношення розробка; галузь використання та призначення; мету та загальну постановку задачі; актуальність, яка повинна подаватись в останньому абзаці вступу, з метою стислого викладання суті розробки цього напрямку. Кількість сторінок вступу не повинна перевищувати, 1 - 2 сторінок.
6. Аналіз сучасного стану технологій програмування та обґрунтування
теми.
Цей розділ є обов’язковим та передбачає посилання до відомих літературних джерел, враховуючи тенденції розвитку та сучасний стан програмування. Порівняльний аналіз та обґрунтування теми проекту повинно здійснюватись на рівні інженерного мислення. У цьому розділі необхідно порівняти основні відомі технології програмування та мови, що їх застосовують.
7. Розробка програми виконання основного завдання.
7.1. Розробка методу виконання основного завдання.
Описуються і пояснюються дії, необхідні для виконання завдання. При необхідності подаються формули та рисунки. Може бути наведено узагальнений алгоритм роботи програми.
7.2
. Структура даних і функцій.
Описуються: структура класів, ієрархія базових і похідних класів, поля і функції класів, окремі змінні та функції. В описі змінних потрібно вказувати їх тип, модифікацію, призначення, область видимості та час існування.
8. Розробка програми меню.
Описується процес розробки програми меню, функції меню, взаємодія з програмою основного завдання, об’єктно-орієнтовані технології для створення програми меню, структура даних і функцій програми меню.
9. Розробка та виконання тестового прикладу
Сюди входять: опис форматів даних, роздруковані тексти вихідних даних та одержаних результатів, роздруковані графічні результати виконання програми, а також зовнішній вигляд меню.
10. Інструкція користувача.
Містить: вимоги щодо апаратної частини та програмного забезпечення комп’ютера, на якому планується використовувати програмний продукт (процесор, об’єм пам’яті, відеокарта, тип операційної системи тощо); рекомендації щодо інсталяції та запуску програмного продукту; інструкція для роботи з програмою.
11. Висновки.
Подається коротка узагальнена характеристика одержаних результатів, їх відповідності індивідуальному завданню на курсову роботу, переваги і недоліки об’єктно-орієнтованого варіанта програми.
12. Список літератури.
13. Додатки.
Перша стрічка додатку у центрі повинна містити слово "Додаток", після якого через пробіл пишеться номер додатка. Додатки нумеруються великими буквами українського алфавіту. Друга стрічка повинна містити у центрі слово "(обов’язковий)" або "(довідковий)" у круглих дужках. Третя стрічка повинна містити тематичний заголовок додатку. Першим обов’язковим додатком повинно бути технічне завдання. Другим і третім обов’язковими додатками повинні бути відповідно роздруковані тексти програми, що виконує індивідуальне завдання та програми меню. Можуть бути також довідкові додатки.
Список рекомендованої літератури
Основна література:
Керниган Б., Ритчи Д, Язык программирования СИ: Пер с англ./Под ред. и с предисл. Вс.С.Штаркмана.-2-е изд., перераб и доп.-М.:Финансы и статистика, 1992.-272 с.:ил.
Сван Т. Освоение Borland C++ 4.5. Практический курс. – К.: «Диалектика», 1966. – 544 с.
Проценко В.С., Чаленко П.Й., Ставровський А.Б. Техніка програмування мовою СІ.-Київ:Либідь,1993.
Додаткова література:
С/С++. Программирование на языке высокого уровня / Т.А. Павловская. СПб.: Питер, 2002. – 464 с.
Юлин В.А., Булатова И.Р. Приглашение к СИ. – Мн.: Выш. шк., 1990. – 224 с.
Уейт М., Прата С., Мартин Д. Язык СИ. Инструкция для начинающих.-М.:МИР, 1988.
Уинер Р. Язык Турбо Си: Пер с англ.-М.: Мир, 1991.-384 с.,ил.