Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 1152 Методичні вказівки до виконаня курсової роботи з курсу Алгоритмізація та програмування, НУДПСУ, Національний університет державної податкової служби України

Методичні вказівки до виконаня курсової роботи з курсу Алгоритмізація та програмування, НУДПСУ, Національний університет державної податкової служби України

« Назад

ДЕРЖАВНА ПОДАТКОВА АДМІНІСТРАЦІЯ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ДЕРЖАВНОЇ ПОДАТКОВОЇ СЛУЖБИ УКРАЇНИ

Затверджую

Проректор з навчальної

та методичної роботи

___________________ М.М. Касьяненко

«___» __________ 2010р.

МЕТОДИЧНІ ВКАЗІВКИ 

ДО ВИКОНАНЯ КУРСОВОЇ РОБОТИ

з курсу «АЛГОРИТМІЗАЦІЯ ТА ПРОГРАМУВАННЯ»

для підготовки бакалаврів

галузь знань 0305 «Економіка і підприємництво»

напрямом підготовки 6.030502 «Економічна кібернетика»

Ірпінь – 2010

Методичні вказівки складені на основі робочої навчальної програми курсу “Алгоритмізація та програмування”, затвердженої в 2010 році.

Зміст

1. Загальні положення курсової роботи

2. Структура курсової роботи

3. Вимоги до змісту курсової роботи

3.1. Вступ

3.2. Основна частина

3.3. Висновки

3.4. Список використаних джерел

3.5. Додатки

4. Вимоги до оформлення курсової роботи

5. Організація виконання та захисту роботи

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

7. Список рекомендованих джерел

Додаток А

Додаток Б

Додаток В

Додаток Г

1. Загальні положення курсової роботи

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

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

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

Крім того, під час захисту курсової роботи студент повинен проявити такі якості як впевненість у знаннях, вміння відстоювати власну думку, вміння виступати перед аудиторією. Таким чином курсова робота є завершальним етапом у вивченні курсу «Алгоритмізація та програмування».

Для курсової роботи може бути обрана тема навчальної задачі з розроблення об’єктно-орієнтованої програми мовою VB, або розроблення прикладної програми різної проблематики. Вибрана тема погоджується з науковим керівником і затверджується на кафедрі. Подальше її змінення або коригування можливе лише з дозволу наукового керівника при достатньому обґрунтуванні змін студентом.

Завдання студентам видаються в загальному вигляді, тобто не формалізовано. Повна формалізація завдання здійснюється в технічному завданні, яке розробляється студентами і затверджується науковим керівником.

Науковий керівник курсової роботи:

- видає завдання з графіком виконання етапів роботи;

- організує процес  виконання роботи:

- рекомендує необхідну літературу, нормативно-технічну документацію, довідкові та інші матеріали;

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

- пише відгук на курсову роботу;

- інформує кафедру про хід виконання роботи.

 

2. Структура курсової роботи

Незалежно від обраної теми структура курсової роботи має бути такою: 

Титульний аркуш;

Технічне завдання на курсову роботу з календарним планом;

Реферат;

Зміст;

Перелік умовних позначень (при необхідності);

Вступ;

Основна частина з декількома розділами;

Висновки;

Список використаних джерел;

Додатки.

3. Вимоги до змісту курсової роботи

Титульний аркуш містить інформацію про дисципліну з якої виконується курсова робота, тему індивідуального завдання, автора пояснювальної записки і заповнюється за формою, наведеною в Додатку А. Титульна сторінка не нумерується, але враховується при нумерації.

Технічне завдання на курсову роботу з календарним планом заповнюється за формою, наведеною в Додатку Б.   Технічне завдання не нумерується, але враховується при нумерації.

Реферат містить:

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

  • текст реферату;

  • перелік ключових слів.

Текст реферату повинен відбивати мету курсової роботи, метод вирішення задачі, отримані результати.

Перелік ключових слів повинен включати від 5 до 15 слів або сполучень із тексту записки, що у найбільшій мірі характеризують її зміст і забезпечують можливість інформаційного пошуку. Ключові слова приводяться в називному відмінку і друкуються прописними літерами у рядок через кому.

Із сторінки змісту  починається нумерація, але сама сторінка у змісті не вказується.

3.1. Вступ

У вступі коротко викладають оцінку сучасного стану проблеми в даній галузі, до якої має відношення розробка;, актуальність даної роботи і підстави для її проведення, мету роботи й галузь застосування. Кількість сторінок вступу не повинна перевищувати 1-2 стор.

 

3.2. Основна частина

Розділи основної частини можуть поділятися на пункти або на підрозділи і пункти. Пункти, якщо необхідно, розділяють на підпункти. Кожний пункт і підпункт повинен містити закінчену інформацію. Обов’язковими розділами основної частини є:

  • Формалізація задачі (аналіз задачі, побудова математичної моделі задачі)

  • Алгоритм розв’язування задачі

  • Опис процедур та функцій

  • Опис структури програми та даних

  • Опис інтерфейсу користувача

  • Опис меню

  • Опис екранних форм

  • Інструкція користувачу (як встановлювати та користуватися програмою)

  • Результати тестування програми

Інструкція користувачу містить вимоги щодо апаратної частини та програмного забезпечення комп’ютера, на якому планується використовувати програмний продукт (процесор, об’єм пам’яті, відеокарта, тип операційної системи тощо); рекомендації щодо інсталяції та запуску програмного продукту та  інструкцію для роботи з програмою.

 

3.3. Висновки

У висновках наводять оцінку отриманих результатів роботи (у тому числі негативних); запропоновані області використання результатів роботи; народногосподарську, наукову, навчальну, соціальну значимість роботи.

 

3.4. Список використаних джерел

Список використаних джерел оформлюється як розділ пояснювальної записки з нової сторінки відповідно до вимог ГОСТ 7. 1-84 Библиографическое описание документа. Общие требования и правила составления.

 

3.5. Додатки

Додатки необхідно оформлювати як продовження пояснювальної записки на наступних її сторінках, або в окремій частині, розташовуючи додатки в порядку появи посилань на них у тексті пояснювальної записки. Кожний додаток повинен починатися з нової сторінки і мати заголовок, надрукований вгорі малими літерами з першої прописної, симетрично щодо тексту сторінки. Посередині рядка над заголовком малими літера з першої прописної повинне бути надруковане слово “Додаток    ” і прописна буква, що позначає додаток. Додатки слід позначати послідовно прописними буквами українського алфавіту, за винятком букв Г, Є, З, І, Ї, Й, О, Ч, Ь. Один додаток позначається як А. Додатки повинні мати загальну з іншою частиною пояснювальної записки наскрізну нумерацію.  Текст кожного додатка, при необхідності, може бути розділений на підрозділи і пункти, що нумеруються арабськими цифрами в межах кожного додатка.

Другий рядок додатку повинен містити у центрі слово "(обов’язковий)" або "(довідковий)" у круглих дужках. Третій рядок повинен містити тематичний заголовок додатку. Обов’язковими додатками є роздруковані тексти програми, процедур і функцій та екранні форми. Довідкові додатки можуть містити роздруковані тексти вихідних даних та одержаних результатів, роздруковані графічні результати виконання програми.

 

4. Вимоги до оформлення курсової роботи

Текст курсової роботи повинен бути надрукований у редакторі Microsoft Word на стандартних аркушах формату A4 (210 х 297 мм) відповідно до ДСТУ 3008-95 Документація. Звіти в сфері науки і техніки. Структура і правила оформлення [1]. Шрифт – Times New Roman, розмір 14. Міжрядковий інтервал – 1,5. Відступи від країв аркуша: зверху, знизу і зліва – 2,0 см; справа – 1,5 см. Абзац – 5 знаків. Нумерація сторінок в правому верхньому кутку, починаючи зі змісту. Заголовки структурних частин, розділів виконують великими літерами посередині рядка, всі інші з абзацу малими літерами починаючи з великої. Слово “Додаток” малими літерами з першої великої посередині рядка. Кожен розділ рекомендується починати з нової сторінки. Заголовок розділу записують посередині великими буквами з більш високою насиченістю. Заголовки розділів, підрозділів, пунктів та підпунктів (при наявності заголовка) записують з абзацу малими буквами починаючи з великої. Розділи нумерують порядковими номерами в межах всього документа (І, 2, і т.д.). Після номера крапку не ставлять, а пропускають один знак. Підрозділи нумерують в межах кожного розділу, пункти в межах підрозділу і т.д. за формою (3.1, 3.2, 3.2.1, 3.2.2, 3.2.2.1 і т.д.). Цифри, які вказують номер, не повинні виступати за абзац.  

Прізвища, назви додатків, організацій, фірм та інші імена наводяться на мові оригіналу.

Структурні елементи “РЕФЕРАТ”, “ЗМІСТ”, “ВСТУП”, “ВИСНОВКИ”, “Список використаних джерел”, ) не нумерують, а їхні найменування слугують заголовками структурних розділів. Розділи і підрозділи повинні мати заголовки. Пункти і підпункти можуть мати заголовки. Заголовки структурних елементів записки і заголовки розділів необхідно розташовувати в середині рядка і друкувати прописними літерами без крапки наприкінці, не підкреслюючи. Заголовки підрозділів, пункти і підпунктів записки необхідно починати з абзацного відступу і друкувати малими літерами, крім першого прописного, не підкреслюючи, без крапки наприкінці. Абзацний відступ повинен бути однаковим по всьому тексту записки і рівним п'ятьом знакам. Якщо заголовок складається з двох або більш речень, їх розділяють крапкою. Переноси слів у заголовку розділу не припускаються.

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

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

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

Перелік вимог, вказівок, положень, що міститься у тексті пункту або підпункту можуть позначатися арабськими цифрами з дужкою або можуть взагалі не позначатися. При цьому кожен перелік повинен починатися з абзацу і закінчуватися крапкою з комою.

Ілюстрації варто розташовувати в пояснювальній записці безпосередньо після тексту, у якому вони вперше згадуються, або на наступній сторінці. На всі ілюстрації повинні бути посилання в пояснювальній записці. Ілюстрації можуть мати назву, що розташовують над ілюстрацією. При необхідності під ілюстрацією розташовують пояснювальні дані.  Ілюстрація позначається словом “Рис.   ”, що разом із назвою малюнка пишуть після пояснювальних даних, наприклад, “Рис.2.1 - Схема алгоритму”. Ілюстрації необхідно нумерувати арабськими цифрами порядковою нумерацією в межах розділу, за винятком ілюстрацій, наведених у додатках. Номер ілюстрації складається з номера розділу та порядкового номера ілюстрації, розділених крапкою.

Таблиці необхідно розташовувати в пояснювальній записці безпосередньо після тексту, у якому вони вперше згадуються, або на наступній сторінці. На всі таблиці повинні бути посилання в пояснювальній записці. Таблиця може мати назву, що друкують малими літерами (крім першої прописної) і розміщують над таблицею. Якщо рядки або графи таблиці виходять за формат сторінки, таблицю поділяють на частини, розташовуючи одну частину під іншою, або поруч, або переносячи частини таблиці на наступну сторінку. Слово “Таблиця  ”, вказують один раз зліва над першою частиною таблиці, над іншими частинами пишуть: “Продовження таблиці _” з вказівкою номера таблиці. Таблиці варто нумерувати арабськими цифрами порядковою нумерацією в межах розділу, за винятком таблиць, наведених у додатках. Номер таблиці складається з номера розділу і порядкового номера таблиці, розділених крапкою.

Формули і рівняння розташовують у пояснювальній записці безпосередньо після тексту, у якому вони вперше згадуються, посередині сторінки.  Вище і нижче кожної формули повинно бути залишено не менше одного вільного рядка. Формули і рівняння варто нумерувати арабськими цифрами порядковою нумерацією в межах розділу, за винятком формул і рівнянь, наведених у додатках. Номер формули або рівняння складається з номера розділу і порядкового номера формули або рівняння, розділених крапкою. Номер формули або рівняння вказують на рівні формули або рівняння в дужках у крайньому правому положенні на рядку. Пояснення символів і числові коефіцієнти, що входять до формули або рівняння, варто наводити безпосередньо в тій послідовності, у якій вони надані у формулі або рівнянні. Пояснення значення кожного символу або числового коефіцієнта необхідно давати з нового рядка. Перший рядок пояснення починають з абзацу словом ”де” без двокрапки. Переносити формули або рівняння на такий рядок припускається тільки на знаках виконуваних операцій, причому знак операції на початку такого рядка повторюють. При переносі формули або рівняння на знаку операції множення застосовують знак “х”.  Формули, що йдуть одна за одною, і не розділені текстом, відокремлюють комою.

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

У тексті пояснювальної записки припускається робити тільки загальновживані скорочення (наприклад і т.д., і т.п., і ін. або роз'яснення абревіатури).  Якщо в пояснювальній записці прийнята специфічна термінологія, а також вживаються мало поширені скорочення, нові символи, позначення і т.п., то їх перелік необхідно надати у окремому списку. Перелік повинний розташовуватися стовпчиком, у якому слова (за абеткою) приводяться скорочено, а справа - їхнє докладне розшифровування. Якщо спеціальні символи, терміни, скорочення, і позначення приводяться менше трьох разів, перелік їх не складається, а їхнє розшифровування наводять у тексті при першому згадуванні.

Рекомендований обсяг курсової роботи не повинен перевищувати 30 друкованих аркушів.

 

5. Організація виконання та захисту роботи

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

  • постановка задачі;

  • проектування програми;

  • кодування програми;

  • тестування програми;

  • оформлення пояснювальної записки;

  • захист роботи.

Постановки задачі є самостійним етапом роботи і завершується створенням двох документів: плану проекту та розділу пояснювальної записки “Спеціфікація програми”. На цьому етапі визначається перелік функцій, які виконує програма, i пропонується інтерфейс користувача, з яким пов’язуються функції програми. 

Під час написання програми можуть виникнути принципові труднощі пов’язані з недооцінкою поставленої задачі. У цих випадках треба критично переглянути постановку задачі.

На етапі проектування програми  розроблюється алгоритм та структура прикладної програми, а також формати похідних, вихідних та внутрішніх даних, розробляється екранна форма користувацького інтерфейсу. Програма повинна бути об’єктно-орієнтованою. Співвідношення між класами та об’єктами зображується за допомогою діаграм. Алгоритми відображується у вигляді графічних схем.

На етапі кодування програми створюється код програми. Він повинен бути належним чином прокоментований і повністю задовольняти вимогам до програмного коду. Код програми повинен збалансовано розподілятися на модулі згідно зі структурою програми. Розмір окремих процедур модуля, як правило, не повинен перевищувати розмір одного екрану.

Вкладення операторів обов’язково треба показувати відступами. Відступи треба робити за допомогою символів табуляції.

Для констант, змінних, класів та інших елементів програми треба використовувати відповідні імена, які відображують призначення та тип елемента.

В кожному модулі мають бути встановлені наступні опції:

Option Explicit

Option Base 0

Option Compare Binary

Довжина рядків тексту не повинна перевищувати 80 символів. Розмір табуляції встановлюється в 2 символи.

Заголовок модуля подається за такою структурою:

*****************************************************

Проект - назва проекту

Модуль-назва файлу модуля

Автор – Ім’я та прізвище

Опис - короткий опис призначення модуля

Ревізія - дата останньої ревізії модуля

*****************************************************

Коментарі в програмі слід записувати  окремими рядками. Починати коментар треба з великої літери і закінчувати крапкою. Коментарі повинні супроводжувати кожне нестандартне вирішення в програмному коді.

Усі текстові константи повинні бути представлені ідентифікаторами і розміщуватися в окремому модулі (ConstStrings.Bas).

Усі глобальні числові константи повинні розміщуватися в окремому модулі (Globals.Bas).

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

Оформлення пояснювальної записки є останнім етапом виконання курсової роботи і має за мету вироблення у студентів навичок документування програмного продукту.

До захисту курсові роботи студент допускаються викладачем, який керує курсовою роботою.

Захист відбувається перед комісією з трьох викладачів у присутності студентів академічної групи.

Склад комісії:

  • голова комісії - завідуючий кафедрою;

  • члени комісії: лектор з дисципліни Алгоритмізація та програмування; викладач, що виконує керування курсовою роботою.

Студент під час доповіді повинен викласти основні результати курсової роботи. Орієнтовний термін докладу - 5 хвилин. Після докладу студент повинен відповісти на поставлені запитання.

Курсова робота оцінюється за наступними критеріями:

  • якість програмного продукту;

  • якість програмного коду;

  • якість розробленої програмної документації;

  • виступ та відповіді на запитання.

  • ступінь виконання календарного плану проекту.

 

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

1. Розробка об’єктно-орієнтованих програм мовою Visual Basic за варіантами.

Варіанти індивідуальних завдань

1. У файлі задано координати вершин прямокутників. Відсортувати у файлі координати по зменшенню площі прямокутників і вивести на екран найменший та найбільший за периметром прямокутники. Вивести їх діагоналі. Окремим кольором вивести діагональ, що має найменший кут нахилу до горизонталі.

2. У двох файлах задано координати протилежних вершин прямокутників, сторони яких розташовані вертикально або горизонтально. Координати вершин тих прямокутників, периметр яких більше середнього значення периметрів, перемістити в інший файл. Вивести на екран прямокутник, периметр якого найближчий до суми двох найменших прямокутників.

3. У файлі задано координати кінців відрізків. Вивести на екран відрізки, що знаходяться у верхній половині екрану. Окремим кольором виділити ті з них, що знаходяться у лівій половині екрану. Другим кольором виділити ті з них, що знаходяться у правій половині екрану та мають найменшу і найбільшу довжину.

4. У файлі задано координати вершин трикутників. Вивести на екран трикутники. Залишити у файлі тільки координати тупокутних трикутників. Трикутник з найбільшим та найменшим тупим кутом виділити окремим кольором. Другим кольором виділити рівнобедрені трикутники.

5. У файлі задано координати точок, кількість яких більша десяти. Вивести на екран десять точок, у яких відстань від центра екрану найменша. Провести через ці точки ламану лінію. Окремим кольором виділити найкоротший та найдовший відрізки ламаної.

6. У файлі задано координати центра та радіуса кола, а також точок, що лежать на колі. Вивести на екран вписані трикутники з найбільшою та найменшою площею. Якщо в коло вписаний квадрат, то вивести його окремим кольором.

7. У файлі задано центри та радіуси кіл. Вивести їх на екран. Кола, що лежать всередині інших кіл виділити окремим кольором. Використовуючи центри виділених кіл як вершини трикутника, побудувати найбільший за площею трикутник.

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

9. У файлі задано координати радіусів кіл. Вивести їх на екран. Окремим кольором виділити кола, що перетинаються з іншими колами. Другим кольором виділити кола, що вкладені в інші кола. Третім кольором виділити найбільше та найменше коло.

10. У файлі задано координати вершин прямокутників з горизонтальними та вертикальними сторонами. Вивести їх на екран. Прямокутники, що вкладені в інші виділити окремим кольором. Другим кольором виділити вкладені прямокутники з максимальною і мінімальною площами.

11. У файлі задано координати вершин прямокутника з горизонтальними та вертикальними сторонами. В іншому файлі задано координати вершин трикутників. Вивести на екран прямокутник та трикутники, що цілком лежать всередині прямокутника. Окремим кольором виділити найбільший та найменший за площею трикутники.

12. У файлі задано координати вершин трикутників. В іншому файлі задано координати вершин прямокутників. Вивести на екран трикутники та прямокутники. Окремим кольором виділити прямокутники, що мають площу меншу від середньої площі трикутників.

13. У одному файлі задано координати центру та радіуси кіл. В іншому файлі задано координати вершин прямокутників. Вивести на екран кола та прямокутники. Кола, що перетинаються з прямокутниками, виділити окремим кольором. Другим кольором виділити найменше та найбільше кола.

14. У одному файлі у випадковому порядку задано координати точок прямої. У другому файлі задано координати точок ламаної. Вивести на екран пряму та ламану. Окремим кольором виділити відрізки ламаної, що перетинаються з прямою.

15. У файлі задано координати центрів та радіуси кіл. Вивести на екран кола та вписані в них квадрати. Кола, у яких вписані квадрати мають площу, що лежить в межах між середньою площею кіл та середньою площею квадратів, виділити окремим кольором.

  1. Побудова графіків функцій з введенням формули з клавіатури.

  2. Переведення чисел із однієї системи числення в іншу.

  3. Розробка календаря на будь-який рік з урахуванням високосних років.

  4. Розв’язування системи лінійних рівнянь довільної розмірності методом Гауса.   

  5. Створення генеалогічного дерева з використанням списків.

  6. Розробка тестового середовища для перевірки знань студентів з курсу «Алгоритмізація і програмування».

  7. Автоматизація проведення заліку з Техніки безпеки.

  8. Розробка довідково-інформаційної системи «Бюро  зайнятості населення»

  9. Розробка інформаційної системи "Відеопрокат".

  10. Розробка інформаційної системи "Довідник банків".

  11. Розробка довідково-інформаційної системи "Довідник ДАІ".

  12. Розробка довідково-інформаційної системи   "Довідник магазинів міста".

  13. Розробка довідкової системи   "Довідник меломана".

  14. Розробка довідкової системи  "Довідник туриста".

  15. Інформаційна система адміністратора готелю.

  16. Програма тестування знань правил дорожнього руху.

  17. Реалізація алгоритмів матричної алгебри.

  18. Розробка довідково-інформаційної системи "Рецепти української кухні".

  19. Розробка ІС "Ріелтер".

  20. ІПС платників податків.

  21. ІПС бібліотеки.

  22. Розробка ІДС «Облік комп’ютерів у підрозділах університету».

  23. ІПС «Ведення каталогу компакт-дисків».

  24. Розробка програми, яка імітує калькулятор для цілочислових обчислень високої точності (60-80 розрядів).

  25. ІДС "Відомість успішності студентів групи в поточній сесії".

  26. ІДС "Залізнична каса".

  27. ІДС  "Програма телепередач на тиждень".

  28. ІПС   "Склад".

  29. ІПС "Телефонний довідник підприємства".

  30. ІС "Облік кадрів на підприємстві".

  31. ІС  "Облік пацієнтів в лікарні".

  32. ІС  "Облік результатів спортивних змагань"  

  33. Електронний англо-український словник.

  34. Шифрування та дешифрування тексту методом простої заміни

7. Список рекомендованих джерел

  1. ДСТУ 3008-95 Документація.  Звіти в сфері науки і техніки. Структура і правила оформлення – Державний стандарт України

  2. Кнут Д. Искусство программирования для ЭВМ. Т.1,Основные алгоритмы. Пер. с англ. М:,Мир,1976

  3. Кнут Д. Искусство программирования для ЭВМ. Т.2,Получисленные алгоритмы. Пер. с англ. М:,Мир,1977

  4. Кнут Д. Искусство программирования для ЭВМ. Т.3,Сортировка и поиск. Пер. с англ. М:,Мир,1978

  5. Вирт Н. Алгоритмы и структуры данных. – М:, Мир,1989г.

  6. Рейнгольд Є.,Нивергельт Д.,Део Н. Комбинаторные алгоритмы,теория и практика. -М:, Мир,1980г.

  7. Ахо А.,Хопкрофт Д.,Ульман Д.   Построение и анализ вычислительных алгоритмов. -М:, Мир,1979г.

  8. Назаров С.В., Мельников П.П. Программирование на MS Visual Basic. Уч. пос.-М:Финансы и статистика, 2001.-320с

  9. Петрусос Е. Visual Basic 6.0. Руководство разработчика, в 2т.-Киев: «Ирис»,BHV, 2000.- 560с

  10. Райтингер М., Муч Г. Visual Basic 6.0.-Киев:BHV, 2000.-288с

  11. Стивенс Р. Тестирование и отладка программ на Visual Basic.-М:ДНК-Пресс, 2001.-384с

  12. Visual Basic 6.0. Руководство для профессионалов.-С-П: БХВ, 2000, -992с

  13. Зеньковский В.А. Программирование на VB 6.5 и VB.Net. – М: Солон-Пресс, 2006. – 248с

  14. Ковалюк Т.В. Основи програмування.-К: BHV, 2005.-384с

 


Додаток А

ДЕРЖАВНА ПОДАТКОВА АДМІНІСТРАЦІЯ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ДПС УКРАЇНИ

Факультет економіки та оподаткування

Кафедра  інформаційних систем і технологій

КУРСОВА РОБОТА

з дисципліни  Алгоритмізація та програмування

на тему:

Розробка об’єктно-орієнтованих програм мовою VisualBasic

Робота виконана студентом ( - кою)

групи__________________________

_______________________________

(прізвище, ім’я та по батькові)

Науковий керівник

_______________________________

_______________________________

_______________________________

(посада, вчений ступінь, вчене звання, П.І.П.)

Ірпінь – 2010

Реєстрація №_______________________      _________  

Результат перевірки   ___________________      ________  

Результат захисту   _________________      ________  


Додаток Б

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ДЕРЖАВНОЇ ПОДАТКОВОЇ СЛУЖБИ УКРАЇНИ

Кафедра інформаційних систем і технологій

Дисципліна «Алгоритмізація та програмування»

Напрям підготовки 6.030502 «Економічна кібернетики»

Курс_____________Група________________Семестр________

Технічне ЗАВДАННЯ

на курсову роботу студента

_________________________________________________

(прізвище, ім’я, по батькові)

1. Тема роботи _______________________

2. Строк здачі студентом закінченої роботи  _________

3. Постановка задачі (формалізація завдання)

Вимоги до вирішення задачі

4.1.  Розробити алгоритм розв’язування задачі (блок -схему)

4.2. Створити програмний код (розробити процедури обробки подій)

4.3. Виконати тестування програми

4.4. Меню програми має містити розділи

4.4.1. Режими роботи з переглядом вхідних даних та результатів

4.4.2. Про програму

4.4.3. Про автора

4.4.4. Довідка

5. Дата видачі завдання «_______»_________________________2010 р.

КАЛЕНДАРНИЙ ПЛАН

№ з/п

Назва етапів курсової роботи

Строк виконання етапів роботи

Примітки

1.

Вибір теми, вивчення літературних джерел, розробка і затвердження Технічного завдання

 

5%

2.

Ескізне проектування (варіанти використання, користувацький інтерфейс - опис та розроблення екранних форм)

 

20%

3.

Програмна реалізація

 

30%

4.

Тестування програми та виправлення помилок

 

15%

5.

Документування (вбудована довідка, про автора, про програму)

 

15%

 

Оформлення пояснювальної записки

 

10%

6.

Отримання відгуку керівника роботи

 

 

7.

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

 

5%

Студент ____________________

                            (підпис)

Керівник ___________________                  __________________

                           (підпис)                        (прізвище, ім’я, по батькові)

 «_____»__________________ 2010 р.

Додаток В

Приклад написання технічного завдання

до курсової  роботи з дисципліни ”Алгоритмізація та програмування”

ТЕМА: Розробка об’єктно-орієнтованих програм мовою VB.

1. Постановка задачі.

У файлі задано координати кінців відрізків. Вивести їх на екран. Між тими кінцями відрізків, відстань між якими не перевищує половини суми довжин найбільшого та найменшого відрізків, що перетинаються, провести прямі лінії. Окремим кольором виділити проведені відрізки, що утворюють трикутники.

2. Вимоги до вирішення задачі.

2.1. Розробити метод вирішення задачі за заданим варіантом.

2.2. У відповідності до варіанту завдання створити текстові файли з даними у формі, зручній для редагування. Наприклад:

Point1: x=12, y=33;

Point2: x=120, y=300;

2.3. Розробити необхідні класи та об’єкти. Розробити функції та змінні класів.

2.4. Використовуючи технологію об’єктно-орієнтованого програмування, розробити програму для вирішення задачі за заданим варіантом. Програма повинна зчитувати дані з текстового файлу, динамічно виділяти для них оперативну пам’ять, за допомогою об’єктно-орієнтованої технології реалізувати розроблений метод вирішення задачі та виводити результати у графічному режимі на екран.

2.5. Розробити процедури обробки подій.

2.6. Передбачити наявність меню, що має такі розділи:

  • Режими роботи з переглядом вхідних даних та результатів

  • Про програму

  • Про автора

  • Довідка

ТЕМА "Бюро по зайнятості населення"

1. Постановка задачі.

Розробити ІПС "Бюро по зайнятості населення".  У бюро по зайнятості населення (трудовій біржі) ведеться список вакантних робочих місць на підприємствах міста. Кожен запис такого списку містить наступну інформацію: найменування організації, місце розташування організації (у кілометрах від центра міста), найменування посади, необхідна кваліфікація (розряд або освіта), необхідний стаж роботи за спеціальністю, заробітна плата за місяць, наявність соціального страхування („так” чи „ні”), тривалість щорічної оплачуваної відпустки, та інше. Клієнт бюро вводить інформацію про свою кваліфікацію та вимоги (наприклад, максимальна віддаленість від центру міста).

2. Вимоги до вирішення задачі.

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

Зміст
Вступ
Опис процесу, що підлягає автоматизації
Опис інформаційної системи
Схема функціонування системи
Методи реалізації функцій
Інструкція по користуванню програмним продуктом
Розрахункова частина
Висновки
Література
Додаток
Текст програми

 

ТЕМА "Відеопрокат"

1. Постановка задачі.

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

2. Вимоги до вирішення задачі.

Програма повинна спілкуватися з користувачем за допомогою системи кнопок дружнього інтерфейсу і мати довідкову систему.

 

ТЕМА "Довідник банків"

1. Постановка задачі.

Розробити інформаційну систему „Довідник банків”, що містить дані про банки: назва, адреса головного офісу, адреси відділень, види послуг і т.д.

2. Вимоги до вирішення задачі.

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

Зміст
Вступ
Загальна характеристика довідкової інформації про банки
Програма „Довідник банків”
Схема функціонування системи
Схема структури даних
Схема організації інтерфейсу користувача
Методи реалізації функцій
Головний модуль
Інструкція користувача
Розрахункова частина
Висновки
Література
Додаток
Текст головного модуля програми
Текст модуля з описом структур даних

 

ТЕМА "Інформаційна система адміністратора готелю"

1. Постановка задачі.

Завдання на курсову роботу передбачає проектування та розробку інформаційної системи для адміністратора готелю. Система повинна керуватися за допомогою дружнього інтерфейсу, дозволяти редагувати дані, виконувати всі види пошуку інформації (бажано — з можливістю перегляду результатів у інтерактивному режимі).

2. Вимоги до вирішення задачі.

Програма вона повинна мати дружній інтерфейс,  вона повинна обробляти інформацію про номери та клієнтів готелю з забезпеченням можливостей пошуку, редагування, додавання та знищення даних;  інформацію, що підлягає обробці, програма повинна зберігати у файлі.

Додаток Г

Приклад написання пояснювальної записки

до курсової  роботи з дисципліни ”Алгоритмізація та програмування”

ТЕМА: Розробка об’єктно-орієнтованих програм. Гра 'Тетріс'

ЗМІСТ
1. Постановка задачі
2. Метод розв'язку задачі
3. Опис алгоритму
4. Опис програми
4.1. Опис головних структур та змінних програми
4.2. Опис головних процедур та функцій
5. Опис інтерфейсу
6. Результат роботи
7. Текст програми

1. Постановка задачі

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

Фігури складаються з квадратів однакового розміру, набір фігур - кінцевий, послідовність випадання фігур - випадкова.

Гравець має вкладати фігури на дно стакана з якомога більшою густиною (кількість незаповнних квадратів має бути мінімальною). При цьому ряд, повністю заповнний квадратами, має автоматично зникати зі стакану. Квадрати не повинні накладатись один на одного.

Гравць може зупинити та продовжити гру. Рівень визначає кількісь квадратів та швидкість на початку гри.

2. Метод розв'язку задачі

Програма написана на мові Паскаль. Використовуються такі стандартні модулі: graph (обробки кодів натиснутих клавіш), graph (для роботи в графічному відеорежимі), та windos (використовується таймер).

Використане об'єктно - орієнтоване програмування. Основні об'єкти - це фігура та стакан.

Виконується обробка подій від таймера, натиснутих клавіш, вибраних пунктів меню.

3. Опис алгоритму

4. Опис програми

4.1. Опис головних структур та змінних програми

Типізовані константи:
Кількість клітинок у стакані:
  maxX : byte =20;
  maxY : byte =30;
Розмір однієї клітинки:
  size : byte =12;
Рівень складності – визначає початкову швидкість руху та
    заповненість стакану:
  level : byte =1;
Проміжок часу між переміщннями фігури вниз:
  speed:real=0.4
Об'єкти:
Фігура:
  TBlock=object
    mx,my,x,y:byte; Координати фігури та кількість квадратів по
        висоті і ширині
    matr:TmatrixBlock; Елемнт матриці дорівнює одиниці , якщо є
        квадрат .
    t:byte; Тип фігури
    pos:1..4; Положення фігури
    p,p2:pointer; показівники на малюнок квадрата та на стан
        екрана до того, як була намальована фігура
    s,s2:word;
    procedure initmatrix; надання пачаткового значення матриці
    constructor init;
    constructor init2(t1,pos1:byte); ініціалізація з наданням
        полям t, pos відповідних значень.
    procedure rotate;virtual; поворот фігури
    procedure draw;virtual; вимальвування фігури
    procedure clear;virtual; зтирає фігуру
    destructor done;
  end;
 
Стакан:
  Tfield=object
    x 1, y 1: integer ; координати поля
    matr:TMatrixField; якщо відповідна комірка заповнена,
        містить одиницю
    constructor init(level:byte); Надання початкових значень в
        залежності від рівня level
    procedure draw; Вимальовування стакана
    procedure clear ; Зникнення стакану з екрана
    function full:boolean; Повертає  true якщо стакан повний
    function fline (n:byte):boolean; Повертає  true якщо
        рядок n повний
    procedure dline (n:byte); Знищує  n- тий рядок
    private
    x2,y2:integer; ширина та висота
  end;

Рамка:
  tramka=object
    x,y,width,heigth:integer; координати , ширина та висота
    lighted:boolean; Якщо true , то рамка підсвічена
    col1,col2,col3:integer; Кольори фону, активної та
        неактивної рамки
    private
    p:pointer; показівник на стан екрану до того, як було
        виведено вікно
    s:word; відповідний розмір пам' яті
    public
    constructor init( x1, y1, xx , yy :word);
    procedure mkactive; Встановлння вікна на рамку
    procedure light; Підсвічення рамки
    procedure unlight; Рамка неактивного кольору
    procedure draw; Вимальовування рамки
    procedure clear; Повертає кран до попреднього стану
    destructor done;
  end;
 
Вертикальне меню:
  tsubmenu=object(tramka)
    punkts:menutype; масив з назв пунктів меню
    n:byte; кількіст пунктів
    col4:integer; Колір пункту меню
    constructor init(const pnk:menutype;n1:byte;x1,y1:word);
    procedure draw;
    function result:byte; Виконує перміщння між пунктами та
        повертає номер обраного пункту
    private h:integer; Висота одного пункту
  end;
 
Горизонтальне меню:
  tmainmenu=object(tsubmenu)
    constructor init(const pnk:menutype;n1:byte);
    procedure draw;
    function result:byte;
    procedure getkoords(i:byte;var xI,yI:word);
  end;

  4.2. Опис головних процедур та функцій

Модуль tetobj:
  procedure kv ( var p : pointer ; VAR s : word ) - повертає показівник на малюнок квадрата та відповідний розмір пам'яті

Модуль Int:
  procedure drawmenu ( var res : longint ); Виконує виведення на екран та обробку меню.
  procedure entername(score:longint;var name:string); Введення імені гравця
  procedure best; Виведння таблиці кращих результатів
  procedure clearbest; Очищення таблиці результатів

Модуль Game:
  procedure startgame(var bl:tblock;var f:tfield;var score:integer); Основна процедура, яка виконує рух фігури по полю, викликає меню та обробляє результати.
  function fall ( const bl : tblock ; const f : tfield ): boolean ; Повертає значення True , якщо фігура впала на дно стакана.
  function left(const bl:tblock; const f:tfield):boolean;
  function right(const bl:tblock; const:tfield):boolean;
  function CanBeRotated(const block:tblock;const field:tfield): boolean; Ці функції повртають значння true якщо можливо виконати, відповідно, рух фігури вліво, вправо, або її поворот .
  procedure NextFigure(var t1,p1:integer); Виводить наступну фігуру, повртає її тип і положення
  procedure OutScore(score : integer); Виводить рахунок на екран

 

5. Опис інтерфейсу

  Після запуску програми на екрані з'являються ігрове поле з фігурою, інформація про наступний блок та рахунок. Гра на початку знаходится в стані паузи. Вгорі екрану - меню.

Головне меню містить такі пункти:

• Гра ( Game)

• Кращі результати (Best Results)

• Налаштування (Options)

Вибрати необхідний пункт можна за допомогою клавіш-стрілок та клавіші 'enter'. При цьому рідкриється відповідне підменю.

Меню 'Гра' дозволяє розпочати нову гру, продовжити розпочату, або вийти з гри.

Меню 'Кращі рeзультати' - переглянути таблицю кращих результатів або очистити її.

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

Якщо в будь-який момнт під час гри натиснути клавішу Esc, то викличеться меню. Гру буде призупинено. За допомогою пункту Continue її можна буде продовжити.

 

6. Результат роботи

7. Текст програми

program main;
uses tetobj,game,crt,graph,ramki,int;
    var bl:tblock;f:tfield;
        score:integer;
        s:string;
    procedure myinitgraph;
var gd,gm:integer;

З повагою ІЦ “KURSOVIKS”!