1   2
Ім'я файлу: Методичка до КР по СП .doc
Розширення: doc
Розмір: 368кб.
Дата: 14.05.2022
скачати


МIНIСТЕРСТВО ОСВIТИ І НАУКИ УКРАЇНИ
ХАРКIВСЬКИЙ НАЦІОНАЛЬНИЙ

УНIВЕРСИТЕТ РАДIОЕЛЕКТРОНIКИ


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

ДО КУРСОВОГО ПРОЕКТУВАННЯ

з дисципліни
«СИСТЕМНЕ ПРОГРАМУВАННЯ»

для студентів денної та заочної форми навчання

спеціальності 123 «Комп’ютерна інженерія»

Затверджено

кафедрою ЕОМ

Протокол № ____ від __________

ХАРКIВ 2018
Методичні вказівки до курсового проектування з дисципліни «Системне програмування» для студентів денної та заочної форми навчання спеціальності 123 «Комп’ютерна інженерія» / Упоряд. М. О. Волк, Т. В. Філімончук, О. М. Севостьянова. – Харків: ХНУРЕ, 2018. – 39 с.

Упорядники: М. О. Волк
Т. В. Філімончук
О. М. Севостьянова

ЗМІСТ



ВСТУП …………………………………………………………………………

4

1 МЕТА ТА ЗАВДАННЯ КУРСОВОГО ПРОЕКТУВАННЯ ………………

5

2 ТЕМАТИКА КУРСОВОЇ РОБОТИ ……………………………...................

7

3 СТРУКТУРА І ЗМІСТ КУРСОВОЇ РОБОТИ ……………………………...

9

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

9

3.2 Вимоги до оформлення аркушу завдання ……………….....................

10

4 МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ КУРСОВОЇ РОБОТИ….....

11

4.1 Загальні методичні вказівки ……………………………………………

11

4.2 Тестування програм……………………………………………………..

12

5 ВИМОГИ ДО ОФОРМЛЕННЯ КУРСОВОЇ РОБОТИ ….……………….

13

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

13

5.1.1 Титульний аркуш та аркуш завдання ……………………………

13

5.1.2 Реферат …………………………………………………………….

13

5.1.3 Зміст ………………………………………………………………..

14

5.1.4 Вступ ……………………………………………………………….

14

5.1.5 Змістова частина …………………………………………………..

14

5.1.6 Висновки …………………………………………………………..

15

5.1.7 Перелік джерел посилання ……………………………………….

15

5.1.8 Додатки …………………………………………………………….

16

5.2 Правила оформлення пояснювальної записки ………………………..

17

5.2.1 Загальні положення ……………………………………………….

17

5.2.2 Формування розділів та підрозділів ……………………………..

17

5.2.3 Оформлення графічного матеріалу ……………………………...

18

5.2.4 Оформлення цифрових даних ……………………………………

19

5.2.5 Оформлення переліків ……………………………………………

20

5.2.6 Оформлення формул та рівнянь …………………………………

21

5.2.7 Оформлення програмного коду ………………………………….

22

6 ОРГАНІЗАЦІЯ ПРОЕКТУВАННЯ ТА ЗАХИСТ РОБОТИ……………….

23

ПЕРЕЛІК ДЖЕРЕЛ ПОСИЛАННЯ ……………………………………........

25

ДОДАТОК А ЗАВДАННЯ ДО КУРСОВОГО ПРОЕКТУВАННЯ ПО КУРСУ «СИСТЕМНЕ ПРОГРАМУВАННЯ» …………………………….....


26

ДОДАТОК Б ТИТУЛЬНИЙ АРКУШ КУРСОВОЇ РОБОТИ ……………….

35

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

36


ВСТУП

Дані методичні вказівки призначені для проведення курсового проектування по курсу «Системне програмування», що завершує процес підготовки фахівців з даного курсу. Курсове проектування введено в навчальний процес на підставі навчальних планів і проводяться у 4-му семестрі.

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

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

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

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

1 МЕТА ТА ЗАВДАННЯ КУРСОВОГО ПРОЕКТУВАННЯ

Основною метою курсового проектування за курсом «Системне програмування» є систематизація, поглиблення та активне застосування знань з програмування, закріплення знань, отриманих в лекційному курсі та на лабораторних заняттях. Дану мету можна розкрити наступним чином:

- систематизація та закріплення теоретичних знань студентів з основних розділів курсу «Системне програмування»;

- поглиблене вивчення проблем розробки програмного забезпечення для сучасних ЕОМ;

- формування у студентів практичних навичок використання мов низькорівневого типу при складанні системних програм, стикування програмних модулів, написаних на різних мовах, а також аналіз основних характеристик програм;

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

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

- вибір, обґрунтування та використання сучасних систем проектування з урахуванням ефективності розробок, таких, як час проектування та налагодження програмного проекту, вартості розробок.

Особливу увагу необхідно приділити використанню сучасних методів розробки програм таких, як об'єктно-орієнтоване програмування та візуальне проектування, а також структурне та модульне програмування. Задачі, які вирішуються в процесі курсового проектування – це:

- розробка системи математичного забезпечення або його частини відповідно до вимог до системи;

- закріплення практичних навичок в оформленні документації на кожному етапі розробки;

- закріплення практичних навичок використання ЕОМ, програмного забезпечення, існуючих засобів обслуговування системних програмістів;

- розвиток навичок самостійної роботи з системами державних стандартів.

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

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

В курсі «Системне програмування» основна увага приділяється вивченню сучасних операційних систем, способів проектування додатків, об'єктно-орієнтованого програмування. У процесі курсового проектування студенти повинні продемонструвати знання основних способів взаємодії додатків з операційною системою, подання об'єктів та операції над ними. Використання абстрактних понять при системному та структурному підході дозволяє відкласти питання деталізації представлення даних на більш пізній час і частково автоматизувати цей процес.

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


  1. ТЕМАТИКА КУРСОВОЇ РОБОТИ



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

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

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

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

- розробка інтерфейсних програм типу користувач-додаток та додаток-додаток.

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

До другого типу робіт відносяться проекти, які пов'язані з автоматизацією праці програмістів, коректорів, референтів та ін.

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

Актуальність тематики курсової роботи повинна відповідати сучасному стану програмного забезпечення та перспективам його розвитку. Перелік тем затверджується на засіданні кафедри ЕОМ.

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

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

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

- програми системного рівня, системні утиліти, що розширюють можливості операційних систем:

1) діагностика дискет;

2) діагностика вінчестеру;

3) шифрування/розшифрування файлу;

4) програмування принтеру;

5) програмування таймера;

6) розробка резидентних програм;

- інтерфейсні програми, зв'язок та обмін даними:

1) розробка систем візуального введення/виведення інформації;

2) розробка інтерфейсу користувача;

3) реалізація точкової та векторної графіки;

4) розробка програмного забезпечення для видавничих систем, форматування текстів відповідно до заданих правил;

5) розробка OLE-об'єктів;

6) створення багатовіконних додатків;

7) розробка бібліотек інтерфейсних процедур, що динамічно підключаються;

8) програми динамічного обміну даними;

- прикладні програми:

1) розробка тренажера клавіатури;

2) розробка точкового графічного редактору;

3) створення векторного редактору;

4) розробка програм обробки текстів

5) розробка ігрового додатку.


  1. СТРУКТУРА ТА ЗМІСТ КУРСОВОЇ РОБОТИ



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

Курсова робота повинна бути виконана відповідно до завдання на проектування і супроводжуватися ​​ пояснювальною запискою та програмним кодом, який записано на CD диск.

Структура пояснювальної записки та її обсяг (до 35 сторінок тексту формату А4) повинні бути такими, щоб повністю розкрити всі розділи завдання на курсове проектування. Вона повинна містити такі розділи:

- вступ;

- аналіз вимог до системі, що розробляється на підставі завдання;

- розробка специфікацій системи;

- проектування системи;

- реалізація та тестування системи;

- висновок.

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

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

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

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

У п'ятому розділі повинні бути описані розроблені програми, визначено оптимальний набір тестів і проаналізовані результати випробування системи на обраному наборі тестів.

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



    1. Вимоги до оформлення аркушу завдання


У бланку завдання на курсову роботу (додаток В) повинні бути заповнені наступні розділи:

- прізвище, ім'я та по батькові студента;

- номер групи;

- тема роботи;

- вихідні дані;

- перелік задач, які підлягають розробці;

- дата видачі завдання;

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

- підписи керівника та студента.

Завдання складає керівник курсової роботи.
4 МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ КУРСОВОЇ РОБОТИ



    1. Загальні методичні вказівки

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

Після визначення функцій повинні бути складені специфікації. Кожній функції системи повинна відповідати хоча б одна специфікація. При розробці специфікації необхідно виходити з того, що вони повинні бути простими, як з точки зору користувача (застосовувати для запису природну мову), так і з точки зору її реалізації (не громіздкою, вимагати мінімального числа параметрів, мати можливість завдання параметрів за замовчуванням). Складання специфікації – це головна частина курсової роботи, тому приділіть цьому питанню максимальну увагу! Складання специфікації обговоріть з керівником курсової роботи та з можливими користувачами Вашої системи. Після затвердження специфікацій керівником повинні бути складені тести для перевірки функціонування майбутньої системи і для доказу повноти специфікацій. Для кожного тесту повинні бути визначені очікувані результати. При розробці тестів слід користуватися методикою, викладеної нижче.

При проектуванні системи визначається схема даних, яка відображає шлях даних при вирішенні завдань та етапи обробки даних. Для даних визначається джерело та приймач, а для всіх програм – алгоритми їх функціонування. Для завдання алгоритмів можливо використовувати їх графічне представлення за допомогою схем, які повинні виконуватися відповідно до стандартів. Для збільшення наочності схема не повинна містити більше 50 блоків. Замість схем алгоритмів можливо використовувати його текстове представлення за допомогою спеціальних мов проектування, які описані в літературних джерелах, наприклад [2,3], або мову, що була розроблена самостійно. В останньому випадку мова повинна бути попередньо описаною. Етап проектування вважається виконаним після перевірки всіх алгоритмів, які були розроблені для модулів системи. Для перевірки роботоспроможності алгоритмів, для реалізації яких передбачається використовувати мову Асемблер, рекомендується попередній запис та налагодження їх на мові високого рівня.

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

Однією з основних задач курсової роботи за курсом «Системне програмування» є отримання практичних навичок по складанню ефективних програм. Перед виконанням етапу реалізації рекомендується вивчення розділу «Ефективність програм» в [1-4].

Всі програми, що були розроблені студентом, повинні бути описані відповідно до прийнятих стандартів для опису програм.



    1. Тестування програм


Тестування за різними оцінками авторів займає більше 50% часу, що відведено для розробки системи.

При виконанні курсової роботи необхідно виконати тестування з використанням стратегії «чорного» та «білого» ящика. У першому випадку структура програми вважається невідомою, тести формуються з урахуванням функцій програми. Якщо серед специфікацій є взаємопов'язані та взаємозалежні специфікації, необхідно використовувати функціональні діаграми [5]. Якщо діаграма виходить громіздкою, необхідно скласти діаграми для частини специфікації. Для незалежних специфікацій і їх частин необхідно використовувати метод еквівалентних розбиття [6,7]. Для підготовки тестів з використанням логіки програми рекомендується використовувати комбінаторне покриття умов [7,8]. Цим способом перевіряються тільки ті умови, які не були перевірені тестами, що були сформовані попередніми методами. Система тестів доповнюється тестами, які отримуються з урахуванням граничних значень. При налагодженні та тестуванні програм рекомендується використовувати засоби відладки мов Сі [9,10], а також процедуру перевірки виходу за межі індексів при використанні масивів.

5 ВИМОГИ ДО ОФОРМЛЕННЯ КУРСОВОЇ РОБОТИ

Курсова робота оформляється відповідно до ДСТУ 3008:2015 і повинна містити такі структурні елементи:

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

- завдання на курсову роботу;

- реферат;

- зміст;

- вступ;

- змістову частину;

- висновки;

- перелік джерел посилання;

- додатки.

5.1 Вимоги до оформлення структурних елементів курсової роботи
5.1.1 Титульний аркуш та аркуш завдання

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

Аркуш завдання на курсову роботу відповідає формі У-287 (додаток В).
5.1.2 Реферат

Структурний елемент «Реферат» розміщують безпосередньо за аркушем завдання на наступній сторінці. У рефераті стисло подають опис основних аспектів курсової роботи:

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

- перелік ключових слів;

- стислий опис тексту роботи.

Перелік ключових слів, які є визначальними для розкриття суті роботи, має містити 5-15 слів (словосполучень). Рекомендовано подавати їх перед текстом реферату великими літерами в рядок із прямим порядком слів у називному відмінку однини, розташованих за абеткою мови звіту та розділених комами.

Опис тексту роботи повинен відображати наступну інформацію:

- об'єкт дослідження;

- мета роботи;

- методи дослідження;

- результати, новизна, застосовність та ін.
5.1.3 Зміст

Структурний елемент «Зміст» розташовують після реферату, починаючи з наступної сторінки. Зміст складають, якщо робота містить не менше двох розділів або один розділ і додаток за загальної кількості сторінок не менше десяти. У «Змісті» наводять такі структурні елементи: «Скорочення та умовні познаки», «Вступ», послідовно перелічено назви всіх розділів, підрозділів і пунктів, «Висновки», «Перелік джерел посилання», «Додатки» з їх назвою та зазначенням номера сторінки початку структурного елемента. Розривати слова знаком переносу у «Змісті» не рекомендовано.

Структурний елемент «Скорочення та умовні познаки» містить переліки скорочень, умовних познак, символів, одиниць та термінів. Використані у роботі незастандартовані умовні познаки, символи, одиниці, скорочення й терміни пояснюють у переліку, який подають безпосередньо після «Змісту», починаючи з наступної сторінки.
5.1.4 Вступ

Структурний елемент «Вступ» розміщують після змісту, починаючи з наступної сторінки. У вступі стисло викладають:

- оцінку сучасного стану розробки, розкриваючи практично розв’язані задачі;

- світові тенденції розв’язання поставлених проблем і/або задач;

- актуальність роботи та підстави для її виконання;

- мета роботи й можливі сфери її застосування;

- взаємозв’язок з іншими роботами.
5.1.5 Змістова частина

Змістова частина повинна містити наступні розділи:

- аналіз предметної області та постановка задачі;

- розробка структури та алгоритмів програми;

- опис програми;

- тестування програмного додатку;

- технічні вимоги та інструкція користувача.
5.1.6 Висновки

Висновки повинні відображати аналіз виконаної роботи та відповідати на такі питання:

- чи повністю реалізовано поставлену задачу;

- які результати показало тестування додатку;

- які недоробки містить робота;

- які вдосконалення можливо запропонувати при подальшому розвитку програми.
5.1.7 Перелік джерел посилання

Перелік джерел посилання повинен містити всі джерела, які розташовуються по порядку проходження в тексті. Посилання нумеруються арабськими цифрами в квадратних дужках [] послідовно в межах пояснювальної записки.

Бібліографічні описи джерел у переліку джерел посилання наводять згідно з ДСТУ 8302:2015 «Бібліографічне посилання. Загальні положення та правила складання».

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

Приклад

Козик В. В., Панкова Л. А., Даниленко Н. Б. Міжнародні економічні відносини. 3-тє вид., перероб. і допов. Київ : Знання-Прес, 2002. С. 245.
У бібліографічних посиланнях на складник документа у формі аналітичного бібліографічного опису розділовий знак «дві навскісні риски» («//») можна замінювати крапкою, а відомості про документ (його назву), в якому розміщено складник, виділяти шрифтом (наприклад, курсивом).

Приклад

Національна доктрина розвитку освіти : затв. Указом Президента України від 17 квіт. 2002 р. № 347. Освіта. 2002. 24 квіт. С. 2–4.
Якщо текст цитовано не за першоджерелом, то на початку підрядкового бібліографічного посилання наводять пояснювальні слова: «Наведено за:», «Цит. за:» («Цитовано за») і зазначають джерело, з якого запозичено текст.

Приклад

Цит. за: Грушевський М. С. Історія України – Руси. Київ, 1995. T. 2. С. 72.
У бібліографічному посиланні після відомостей про відповідальність дозволено не подавати відомості про вид електронних даних чи програм, наприклад: електронні текстові дані, електронні графічні дані, електронний журнал, електронні картографічні дані, електронна пошукова програма тощо.

Для позначення електронної адреси електронного ресурсу віддаленого доступу в примітці дозволено замість слів «Режим доступу» (чи «Доступ») застосовувати абревіатури «URI» (Uniform Resource Identifier – Уніфікований ідентифікатор ресурсу) або «URL» (Uniform Resource Locator – Уніфікований покажчик ресурсу).

Якщо електронний ресурс має унікальний ідентифікатор DOI (Digital Object Identifier – Ідентифікатор цифрового об'єкта) або інший постійний ідентифікатор, замість електронної адреси цього ресурсу рекомендовано зазначати його ідентифікатор.

Інформацію про протокол доступу до електронного ресурсу (http, ftp тощо) та його електронну адресу наводять уформаті «URI» або «URL».

Довгу електронну адресу можна переносити на наступний рядок. У цьому разі останнім у першому рядку має бути знак «навскісна риска» («/»).

Приклад

Біланюк О. П. Сучасний стан та перспективи розвитку міжнародного туризму в українсько-польських відносинах. Економіка. Управління. Інновація : електрон. наук. фахове вид. 2012. № 2. URL: http://archive.nbuv.gov.ua/e-/journals/eui/2012_2/pdf/12bopypv.pdf (дата звернення: 17.06.2013).
Для запобігання помилок у наведенні електронної адреси рекомендовано подавати її в один рядок.
5.1.8 Додатки

Додатки пояснювальної записки оформляють у вигляді окремого розділу, який розташовується після розділу «ПЕРЕЛІК ДЖЕРЕЛ ПОСИЛАННЯ». Додатки розміщують у порядку посилання на них у тексті. Над заголовком, але посередині рядка, друкують слово «ДОДАТОК» і відповідну велику літеру української абетки, крім літер Ґ, Є, З, І, І, Й, О, Ч, Ь, яка позначає додаток. Текст кожного додатка починають з наступної сторінки. Додатки повинні входити в загальну нумерацію сторінок.

5.2 Правила оформлення пояснювальної записки
5.2.1 Загальні положення

Пояснювальна записка оформлюється згідно з державним стандартом України ДСТУ 3008:2015 «Інформація та документація. Звіти у сфері науки і техніки. Структура та правила оформлювання». Мова написання пояснювальної записки курсової роботи – українська. Пояснювальна записка оформляється друкованим (комп'ютерним) способом на аркушах формату А4 (210 х 297 мм) відповідно з наступними параметрами:

- шрифт Times New Roman, кегль 14;

- рекомендовано на сторінках роботи використовувати береги такої ширини: верхній і нижній – не менше ніж 20 мм, лівий – не менше ніж 25 мм, правий – не менше ніж 10 мм.;

- абзацний відступ має бути однаковий упродовж усього тексту звіту й дорівнювати п’яти знакам (1,25 см);

- міжрядковий інтервал – 1,5;

- для формул: звичайний символ – 14, великий індекс – 10, маленький символ – 8, великий символ – 16, маленький символ – 12.

Під час оформлювання роботи треба дотримуватися рівномірної насиченості, контраст­ності й чіткості зображення. Усі лінії, літери, цифри та знаки мають бути чіткі й нерозпливчасті в усьому звіті.
5.2.2 Формування розділів та підрозділів

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

Структурні елементи: «Реферат», «Зміст», «Скорочення та умовні познаки», «Вступ», «Висновки», «Перелік джерел посилання» – не нумерують, а їхні назви є заголовками структурних елементів.

Заголовки структурних елементів звіту та заголовки розділів треба друкувати з абзацно­го відступу великими літерами напівжирним шрифтом без крапки в кінці. Дозволено їх розміщувати посередині рядка.

Заголовки підрозділів, пунктів і підпунктів звіту потрібно друкувати з абзацного відступу з великої літери без крапки в кінці.

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

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

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

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

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

Титульний аркуш входить до загальної нумерації сторінок звіту. Номер сторінки на ти­тульному аркуші не проставляють.

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

Розділи, підрозділи, пункти, підпункти нумерують арабськими цифрами. Розділи роботи нумерують у межах викладення суті роботи і позначають арабськими циф­рами без крапки, починаючи з цифри «1».

Підрозділи як складові частини розділу нумерують у межах кожного розділу окремо. Номер підрозділу складається з номера відповідного розділу та номера підрозділу, відокремлених крапкою. Після номера підрозділу крапку не ставлять, наприклад, 1.1, 1.2 тощо.

Пункти нумерують арабськими цифрами в межах кожного розділу або підрозділу. Номер пункту складається з номера розділу та порядкового номера пункту, або з номера роз­ділу, порядкового номера підрозділу та порядкового номера пункту, які відокремлюють крапкою. Після номера пункту крапку не ставлять, наприклад, 1.1, 1.2 або 1.1.1, 1.1.2 тощо. Якщо текст поділяють лише на пункти, їх слід нумерувати, крім додатків, порядковими номе­рами.

Номер підпункту складається з номера розділу, порядкового номера підрозділу, поряд­кового номера пункту та порядкового номера підпункту, які відокремлюють крапкою. Після номера підпункту крапку не ставлять, наприклад, 1.1.1.1 або 2.1.4 тощо. Якщо розділ, не маючи підрозділів, поділяють на пункти та підпункти, номер підпункту склада­ється з номера розділу, порядкового номера пункту та порядкового номера підпункту, які відокрем­люють крапкою. Після номера підпункту крапку не ставлять.
5.2.3 Оформлення графічного матеріалу

Усі графічні матеріали роботи (ескізи, діаграми, графіки, схеми, фотографії, рисунки, крес­леники тощо) повинні мати однаковий підпис «Рисунок». Рисунок подають одразу після тексту, де вперше посилаються на нього, або якнайближче до нього на наступній сторінці, а за потреби – в додатках до звіту.

Графічні матеріали звіту доцільно виконувати із застосуванням обчислювальної техніки (комп’ютер, сканер, ксерокс тощо та їх поєднання) та подавати на аркушах формату А4 у чорно-білому чи кольоровому зображенні.

Рисунки нумерують наскрізно арабськими цифрами, крім рисунків у додатках. Дозволено рисунки нумерувати в межах кожного розділу. У цьому разі номер рисунка склада­ється з номера розділу та порядкового номера рисунка в цьому розділі, які відокремлюють крапкою, наприклад, «Рисунок 3.2» – другий рисунок третього розділу.

Рисунки кожного додатка нумерують окремо. Номер рисунка додатка складається з познаки додатка та порядкового номера рисунка в додатку, відокремлених крапкою. Наприклад, «Рисунок В.1 – Аркуш завдання до курсової роботи», тобто перший рисунок додатка В.

Назва рисунка має відображати його зміст, бути конкретною та стислою. Якщо з тексту роботи зрозуміло зміст рисунка, його назву можна не наводити. За потреби пояснювальні дані до рисунка подають безпосередньо після графічного матеріалу перед назвою рисунка. Назву рисунка друкують з великої літери та розміщують під ним посередині рядка, наприклад, «Рисунок 2.1 – Схема устаткування».

Рисунок виконують на одній сторінці аркуша. Якщо він не вміщується на одній сторінці, його можна переносити на наступні сторінки. У такому разі назву рисунка зазначають лише на першій сторінці, пояснювальні дані – на тих сторінках, яких вони стосуються, і під ними друкують: «Рисунок2.1, аркуш 2».
5.2.4 Оформлення цифрових даних

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

Таблиці нумерують наскрізно арабськими цифрами, крім таблиць у додатках. Дозволено таблиці нумерувати в межах розділу. У цьому разі номер таблиці складається з номера розділу та порядкового номера таблиці, відокремлених крапкою, наприклад, «Табли­ця 2.1» – перша таблиця другого розділу.

Таблиці кожного додатка нумерують окремо. Номер таблиці додатка складається з по­значення додатка та порядкового номера таблиці в додатку, відокремлених крапкою. Наприклад, «Таблиця В.1 – Календарний план», тобто перша таблиця додатка В.

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

Якщо рядки або колонки таблиці виходять за межі формату сторінки, таблицю поділяють на частини, розміщуючи одну частину під іншою або поруч, чи переносять частину таблиці на на­ступну сторінку. У кожній частині таблиці повторюють її головку та боковик. У разі поділу таблиці на частини дозволено її головку чи боковик заміняти відповідно номера­ми колонок або рядків, нумеруючи їх арабськими цифрами в першій частині таблиці. Слово «Таблиця » подають лише один раз над першою частиною таблиці. Над іншими частинами таблиці з абзацного відступу друкують «Продовження таблиці 4.1» або «Кінець таб­лиці 4.1» без повторення її назви.

Заголовки колонок таблиці починають з великої літери, а підзаголовки – з малої літери, якщо вони становлять одне речення із заголовком.

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

Переліки (за потреби) подають у розділах, підрозділах, пунктах і/або підпунктах. Перед переліком ставлять двокрапку (крім пояснювальних переліків на рисунках). Якщо подають переліки одного рівня підпорядкованості, на які у роботі немає посилань, то перед кожним із переліків ставлять знак «тире». Якщо у роботі є посилання на переліки, підпорядкованість позначають малими літерами укра­їнської абетки, далі – арабськими цифрами, далі – через знаки «тире». Після цифри або літери певної позиції переліку ставлять круглу дужку.

Приклад:

а) ________________________________;

б) ________________________________;

1) _____________________________;

– __________________________;

– __________________________;

2) ____________________________;

в) _______________________________.

У разі розвиненої та складної ієрархії переліків дозволено користуватися можливостями текстових редакторів автоматичного створення нумерації переліків (наприклад, цифра – літера – тире). Текст кожної позиції переліку треба починати з малої літери з абзацного відступу від­носно попереднього рівня підпорядкованості.
5.2.6 Оформлення формул та рівнянь

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

Формули та рівняння у роботі, крім формул і рівнянь у додатках, треба нумерувати на­скрізно арабськими цифрами. Дозволено їх нумерувати в межах кожного розділу.

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

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

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

Приклад оформлення математичної формули

Відомо, що

де – математичне очікування;

– середні квадратичні відхили [23].

5.2.7 Оформлення програмного коду

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

Програмний код може бути виділений шрифтом Courier New, кеглем 10 з одиничним інтервалом. Зверху і знизу прикладу повинен бути порожній рядок.

Приклад
ATOM MyRegisterClass(HINSTANCE hInstance)

{

WNDCLASSEX wcex;

wcex.cbSize = sizeof(WNDCLASSEX);

wcex.style = CS_HREDRAW | CS_VREDRAW; //стиль вікна

wcex.lpfnWndProc = (WNDPROC)WndProc; //віконна процедура

wcex.cbClsExtra = 0;

wcex.cbWndExtra = 0;

wcex.hInstance = hInstance; //дескриптор програми

wcex.hIcon = LoadIcon(NULL, IDI_HAND); //визначення іконки

wcex.hCursor = LoadCursor(NULL, IDC_ARROW); //визначення курсору

wcex.hbrBackground = GetSysColorBrush(WHITE_BRUSH);//установка фону

wcex.lpszMenuName = NULL; //визначення меню

wcex.lpszClassName = szWindowClass; //ім’я класу

wcex.hIconSm = NULL;
return RegisterClassEx(&wcex); //реєстрація класу вікна

}

Приклад 2.1 – Процедура реєстрації класу вікна

6 ОРГАНІЗАЦІЯ ПРОЕКТУВАННЯ ТА ЗАХИСТ РОБОТИ

Курсове проектування по курсу «Системне програмування» ви-виконується відповідно до навчального плану в 4-му семестрі і складається з етапів, які зведені в таблиці 6.1.
Таблиця 6.1 – Етапи курсового проектування

№ етапу

Зміст виконуваних робіт

Період

1

Видача завдань

2-й тиждень

2

Ознайомлення з літературними джерелами, аналіз та вибір методу вирішення поставленої задачі


3-4 тиждень

3

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


5-6 тиждень

4

Проектування додатка

7-11 тиждень

5

Налагодження та тестування програми

12-14 тиждень

6

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

15 тиждень

7

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

16-17 тиждень


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

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

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

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

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

ПЕРЕЛІК ДЖЕРЕЛ ПОСИЛАННЯ

1. Безруков В. А. Win32 API. Программирование. Учебное пособие. СПб : СПбГУ ИТМО. 2009. 90 с.

2. Литвиненко Н. А. Технология программирования на С++. Win32 API-приложения. Учебное пособие. СПб. : БХВ-Петербург, 2010. 288 с.

3. Побегайло А. П. Системное программирование в Windows. СПб. : БХВ-Петербург, 2006. 1056 с.

4. Щупак Ю. А. Win32 API. Разработка приложений для Windows. СПб. : Питер, 2008. 592 с.

5. Петзолд Ч. Программирование под Windows 95. В двух томах: пер. с англ. СПб. : BHV – Санкт-Петербург, 1997. Т. 1. 495 с.

6. Петзолд Ч. Программирование под Windows 95. В двух томах: пер. с англ. СПб. : BHV – Санкт-Петербург, 1997. Т. 2. 242 с.

7. Volk M. A. System programming. Summary of lectures. KNURE, 2013. 113 p.

8. Таненбаум Э., Бос Х. Современные операционные системы. 4-е изд. СПб. : Питер, 2015. 1120 с.

9. Юров В. И. Assembler. Учебник для вузов. 2-е изд. СПб. : Питер, 2010. 637 с.

10. Калашников О. А. Ассемблер – это просто. Учимся программировать. 2-е изд., перераб. и доп. СПб. : БХВ-Петербург, 2011. 336 с.

10. Страуструп Б. Программирование: принципы и практика с использованием С++, 2-е изд. : пер. с англ. М. : ООО «Вильямс». 2016. 1328 с.
ДОДАТОК А
ЗАВДАННЯ ДО КУРСОВОГО ПРОЕКТУВАННЯ

ПО КУРСУ «СИСТЕМНЕ ПРОГРАМУВАННЯ»
Всі завдання повинні бути узгоджені з керівником роботи протягом 14 днів після початку семестру.
1. Розробити графічний редактор для растрових зображень. Головне меню редактора повинно містить наступні пункти меню:

- файл (читання/запис/відтворення файлів);

- правка (редагування файлу, робота з буфером обміну, скасування попередніх дій, повтор результатів скасованої дії);

- вид (управління виведенням меню інструментів та кольорів, панеллю атрибутів тексту, а також статусного рядка, управління масштабом та оглядом зображень);

- рисунок (поворот, інверсія, зміна атрибутів, очищення, зміна параметрів рисунка).

- палітра (установка та запис палітри кольорів);

- довідка (звернення до довідки графічного редактору).
2. Реалізувати гру «П'ятнашки». Суть гри полягає в наступному: в ігровому полі розміром 4х4 клітини випадковим чином розміщується 15 пронумерованих фішок. Одна клітина, вибір якої також випадковий, залишається вільною. Пересуваючи фішки, необхідно домогтися впорядкованості їх розташування (від 1 до 15).
3. Реалізувати додаток «Калькулятор» з наступними характеристиками:

- два можливих види калькулятора: науковий та звичайний;

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

- можливість виконання арифметичних та логічних операцій над числами в будь-якій системі числення (2-ій, 16-ій, 10-ій).
4. Реалізувати додаток, що дозволяє відображати графіки функцій, які задаються за допомогою таблиць (читання з файлу) і найпростішими математичними виразами. В процесі виконання реалізувати:

- формат файлу для зберігання табличних функцій;

- вікно роботи з табличними функціями з можливостями читання/запису файлу, редагування таблиць;

- можливість відображення графіків функцій;

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

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

- реалізувати можливість збереження та читання параметрів діаграми в файл;

- відображення діаграми на екрані;

- експорт діаграми в файл формату * .bmp.
6. Реалізувати додаток «Провідник», який дозволяє виконувати наступні дії: переглядати вміст дисків, каталогів та файлів; копіювати/переносити каталоги та файли з одного диска на інший; змінювати імена файлів; отримувати детальну інформацію про файлах (розмір, тип, дата останньої зміни); видаляти каталоги та диски. Вікно «Провідника» складається з двох панелей: ліва панель показує інформаційні ресурси, які наведені у вигляді ієрархічного дерева, права – вміст поточної папки.
7. Реалізувати логічну гру для двох гравців «Млин». Мета гри полягає в тому, щоб поставити три фішки одного кольору в ряд.



В якості ігрових фігур використовуються 9 чорних, 9 білих круглих фішок та спеціальне ігрове поле.

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



8. Реалізувати додаток для ведення записів про майбутні заходи на робочий день (щоденник). План заходів повинен зберігатися в файлі. В програмі передбачити сортування заходів щодо дати та часу проведення.
9. Реалізувати гру «Хрестики-нулики» на безмежному полі. У гру можуть грати двоє людей, які по черзі ставлять хрестики та нулики. Виграє той, хто збудує поспіль п'ять нулів або п'ять хрестиків. Поле гри містить постійне число клітин і змінює масштаб відображення при зміні розмірів вікна. Гравець може вибирати колір ігрової мітки. Передбачити збереження таблиці результатів.
10. Реалізувати гру «Ханойські вежі». Дано три стержня, на один з яких нанизані вісім кілець, причому кільця відрізняються розміром і лежать менше на більшому. Завдання полягає в тому, щоб перенести піраміду з восьми кілець за найменше число ходів на інший стержень. За один раз дозволяється переносити тільки одне кільце, причому не можна класти більше кільце на менше. Програма повинна забезпечувати можливість перекладання дисків, контроль правильності ходів і відлік часу виконання.
11. Реалізувати гру «Тетріс». Швидкість падіння фігур встановлюється за допомогою таймеру. При переході з рівня на рівень швидкість збільшується. Програма повинна вести облік набраних гравцем очок.
12. Реалізувати гру «Сіма». На ігровому полі з'являється певне число точок, розташованих випадковим чином (≥6). По черзі два гравці з'єднують прямими лініями дві ще не з'єднані точки. Лінії двох гравців відрізняються за кольором. Програє той, хто першим побудує трикутник зі своїх власних ліній.
13. Реалізувати гру «Розфарбовування по номерах». У запропонованому додатку картинка розбита на квадрати, які позначені цифрами: кожна цифра – певний колір. Внизу екрана знаходиться палітра, на якій зверху зображені цифри. Необхідно обрати фарбу та знайти на зображенні клітинку з номером, який відповідає обраній фарбі. Далі необхідно клікнути по клітинці, після чого відбудеться заповнення рисунка обраним кольором. У програмі повинен бути встановлений таймер, що відраховує час і в подальшому запам'ятовує його у виграшній таблиці. У програмі також передбачити меню, в якому користувач може знайти картинки різного розміру, а також інформацію про розробника.
14. Реалізувати гру «Кросворд». Користувач може вводити букви слова. Якщо слово введено правильно, воно відображається чорним кольором, інакше – червоним. Розробити формат текстового файлу, де зберігаються заготовки кросвордів. Запланувати в додатку мінімум 3 кросворда, наявність таймеру та таблицю результатів.
15. Реалізувати гру «Лабіринт для двох гравців» на поле 10х10 клитин. У лабіринті повинні знаходитися: 1 арбалет, 1 милиця, 1 капкан, 4 ями, 4 виходи з ям (кожній ямі однозначно відповідає один вихід), 3 хибних скарби, 1 справжній скарб, 4 виходи з лабіринту з кожного боку. Крім того, кожен учасник на початку гри має 3 гранати. Мета гри – винести скарб із чужого лабіринту швидше, ніж суперник винесе скарб із твого.
16. Реалізувати гру «Змія». Змія рухається по полю, збираючи об'єкти, що збільшують кількість очок. Ввести в гру 2 типи об'єктів (позитивні (яблуко) – тіло змії збільшується та негативні (огризок) – знімається життя). Змія не повинна перетинати своє тіло та об'єкти типу «стіна».
17. Реалізувати гру «Сокобан», в якій гравець пересуває ящики по лабіринту, який задано у вигляді плану, з метою поставити все ящики на задані кінцеві позиції. Тільки один ящик може бути пересунутий за один хід, причому герой гри може тільки штовхати ящики, але не тягнути їх. Передбачити в грі перехід мінімум на 3 рівні.

 

18. Розробити програму, що реалізовує функції гри «Літак». Літак, керується за допомогою клавіш «стрілка вправо» та «стрілка вліво» і повинен уникнути зіткнень зі снарядами. Снаряди розташовуються випадковим чином з низу екрану, а потім безперервно переміщаються вгору.
19. Розробити програму, яка фіксує всі повідомлення, що надходять в програму від маніпулятора «миша», клавіатури, дочірніх вікон та меню. Програма повинна виводити інформацію про тип і параметри повідомлень в клієнтську область вікна. При переповненні вікна, програма здійснює прокручування інформації (за допомогою смуг скролінгу). За допомогою натискання певних клавіш користувач може припинити або продовжити виведення повідомлень на екран. Програма повинна містити стандартне меню та елементи управління текстового редактора.

20. Реалізувати гру «Підсумовування до 20». Два гравці по черзі вводять в поле якесь число в інтервалі від 1 до 3 включно. Введені числа підсумовуються, виграє той гравець, сума чисел після ходу якого дорівнює 20.
21. Реалізувати логічну гру «Бики та корови». Перший гравець задумує чотиризначне число, так щоб всі цифри числа були різні. Мета другого гравця – відгадати це число. Кожен хід, той що відгадує називає число, теж чотиризначне із різними цифрами. Якщо цифра з названого числа є в числі, що загадано, то ця ситуація називається «корова». Якщо цифра з названого числа є в числі та стоїть в тому ж місці, то ця ситуація називається «бик».
22. Реалізувати додаток «Адресна книга». Програма повинна дозволяти вводити ПІБ абонента, домашню та робочу адресу, телефони та додаткову текстову інформацію по кожній людині. Інформація запам'ятовується на диску у вигляді зовнішнього файлу. Додаток дозволяє переглядати елементи бази даних, а також здійснювати пошук за прізвищем, телефоном або адресою.
23. Реалізувати гру «Точки і квадрати». На екрані монітора виводиться ігрове поле розміром від 3х3 квадрата, і більш (до 9х9), в залежності від рівня гравців. Суть гри: гравці по черзі креслять лінії довжиною в одну клітку, намагаючись створити квадрати величиною 1х1 всередині поля. Якщо лінія стала завершальною в квадраті, користувач ставить в ній свій знак і отримуєте право додаткового ходу. Гра закінчується, коли усе поле заповнене. Після цього підраховується кількість квадратиків, яку замкнув кожен гравець та оголошується переможець. Передбачити занесення результатів до таблиці результатів.
24. Розробити програму, що дозволяє створювати діаграми (мінімум 3 типи) з наступними можливостями:

- завдання параметрів діаграми: табличні значення, кольор кожної області діаграми, розміри діаграми;

- реалізувати можливість збереження та читання параметрів діаграми в файл;

- відображення діаграми на екрані;

- експорт діаграми в файл формату *.bmp.
25. Реалізувати гру «Арканоід». Гравець за допомогою клавіатури або маніпулятора «миша» управляє майданчиком, який відбиває м'яч. М'яч відбивається від стінок поля та майданчика гравця. Якщо гравець не відбиває м'яч, він втрачається. Гравець може змінювати швидкість польоту м'яча. Передбачити в грі перехід мінімум на 3 рівні.
26. Реалізувати гру «Японський кросворд». Гравець має можливість створювати новий кросворд, після чого програма зберігає його на диску. Гравець може завантажити гру, зберегти її (незакінченою) та прочитати в будь-який час.
27. Реалізувати додаток «Органайзер». Користувач програми має наступні можливості: виведення календаря на будь-який місяць, фіксація за певною датою події (текстових заміток), установка будильника на певну дату і час з видачею текстового повідомлення (або звукового сигналу) про подію, записну книжку для зберігання телефонів.
28. Реалізувати гру «Сапер». На поле розміром NxM комп'ютер випадковим чином розставляє X мін. Користувач по черзі задає номер клітинки, а комп'ютер видає йому кількість мін, що знаходяться в сусідніх клітинках. Якщо гравець потрапив в клітинку, де знаходиться міна, то він програв і гра починається спочатку. Вважається, що гравець виграв, якщо він відкрив всі порожні клітинки.
29. Реалізувати гру «Морський бій» на полі 10х10 клітинок. На поле можливо розмістити 4 однопалубних, 3 двопалубних, 2 трипалубних та 1 чотирьохпалубний корабель. Програма випадковим чином розміщує кораблі, після чого гравець робить постріли у вигляді пари чисел (номер рядку та номер стовпця). Комп'ютер повідомляє: убитий корабель, поранений або повз. Після того, як всі кораблі знищені, комп'ютер видає повідомлення про закінчення гри, повідомляє число ходів та пропонує занести результат у таблицю.
30. Реалізувати додаток «Склад», який стежить за всіма оборотами товару на складі: наявність товару, прибуття, продаж, переміщення по складу. Для цього кожен товар характеризується обсягом та кількістю одиниць товару, зазначенням номера кімнати, кількістю осередків під одиницю товару, а кожний осередок має номер, статус «вільно» або «зайнято» та найменування товару, який розміщено. При цьому вказується інформація про кількість та місце розміщення товару. Програма повинна оптимізувати розміщення по групах: однакові товари зберігаються поруч, на складі має бути якомога менше ділянок малого обсягу. Програма автоматично повідомляє про можливе поліпшення розміщення. Переміщати товар може тільки оператор.
31. Реалізувати гру «Шибениця». Сенс цієї гри в відгадуванні слова по буквах за певну кількість ходів. Комп'ютер задумує (вибирає зі словника) слово, пише його першу та останню букви, а замість відсутніх букв ставить рисочки. Гравець відгадує слово, вводячи букву в спеціалізоване поле. Якщо буква в слові є – вона вписується на своє місце, якщо немає, то буква пишеться в стороні (щоб не повторюватися), і починається малювання «шибениці» – вертикальну лінію. При наступної помилки – горизонтальну (виходить щось на зразок букви г). Потім домальовує мотузка, петля, голова чоловічка, тулуб, ручки та ніжки. За ці кілька спроб гравець повинен вгадати слово. Якщо не вийшло – програв, якщо встиг – виграв. Передбачувати таблицю результатів.
32. Реалізувати гру «Картковий пасьянс». В якості колоди карт використовувати системну cards.dll. Прикладом пасьянсу може бути будь-який існуючий.
33. Реалізувати гру «Шашки» для двох гравців, яка полягає в пересуванні певним чином фішок-шашок по клітинам шашкової дошки. Під час партії кожному гравцеві належать шашки одного кольору: чорного або білого. Кожен гравець робить хід по черзі, за допомогою маніпулятора «миша» переміщаючи шашку відповідно до існуючих правил. Якщо хід зроблений неправильно, програма автоматично повертає шашку на колишнє місце. Мета гри – взяти всі шашки суперника або позбавити їх можливості ходу (замкнути).
34. Реалізувати програму, яку видає основні відомості про комп'ютер: тип процесора, кількість оперативної пам'яті, тип та обсяг вінчестера, логічних дисків, параметри відео-карти та режиму монітора, кількість кольорів, версію встановленої операційної системи, ім'я комп'ютера та IP-адресу, список встановлених принтерів. У програмі передбачити можливість обирання списку необхідної інформації з подальшим виведенням його на екран або в текстовий файл.
35. Реалізувати гру «Хокей на папері». Ігрове поле 8х10 клітин, з двох сторін ігрового поля симетрично відзначаються ворота, кожне шириною 2 клітини, ворота відстоять від краю поля на одну клітку. В процесі гри гравці по черзі, починаючи з центру поля, викреслюють «траєкторію шайби» – безперервну ламану лінію, що проходить по сторонам і діагоналях клітин ігрового поля. Своїм ходом гравець може провести одну ланку цієї ламаної, тобто з'єднати вузол сітки поля, в якому закінчив свій хід попередній гравець, з будь-яким іншим найближчим вузлом. Перемагає той гравець, хто першим заведе шайбу в ворота противника.
36. Реалізувати гру «Теніс». Програма повинна надавати користувачеві можливість управління ракеткою для відбивання м'яча, іншою ракеткою повинен керувати комп'ютер за допомогою алгоритму прийняття рішень. При переході з рівня на рівень швидкість збільшується. Програма повинна вести облік набраних гравцем очок. Передбачити в грі перехід мінімум на 3 рівні.
37. Реалізувати гру «Го» на поле 19х19 клітинок. У гру «Го» грають двоє гравців, один білими каменями, інший чорними. Першими ходять чорні, потім – білі, далі – по черзі. Камені ставляться на перетині горизонтальної та вертикальної лінії, по сторонам і кутках дошки включно. Після того, як камінь поставлено, він більше не пересувається. Мета гри полягає в тому, щоб по черзі, розставляючи камені на дошці, оточити якомога більшу територію.
38. Реалізувати гру «Балда». Користувачеві пропонується квадратне ігрове поле з розмірами 5x5 клітинок. В середньому ряду пишеться слово з п'яти букв. Гравці по черзі роблять ходи. За один хід у вільну клітинку вписується буква таким чином, щоб кожен раз виникало нове слово. Слова можуть читатися в будь-якому напрямку, крім діагонального. За кожне слово гравець отримує стільки очок, скільки букв в слові. Слова записуються з боку від поля, щоб інші гравці їх не повторювали. Гра закінчується, коли всі клітини заповнені літерами або ніхто з гравців не може придумати нового слова. Після цього підраховується кількість очок. Перемагає той, у кого їх більше.
39. Розробити програму редагування текстових файлів. Додаток має оперувати такими функціями:

- створення нового документу;

- редагування документу;

- відкриття існуючого файлу;

- збереження документу в файл з необхідним розширенням;

- зміна розміру та виду шрифту, що використовується в тексті;

- виділення кольором тексту та фону (ефект фломастера);

- настройка параметрів (розмітка сторінки, абзац, відступ, вирівнювання);

- вставка в файл рисунків з можливістю їх збереження;

- отримання статистичної інформації: число слів (знаків) у тексті, кількість сторінок, мова.
40. Розробити програму клітинного автомата «життя». Екран додатку розбивається на клітинне поле. Кожна клітина може бути в 2-х станах: порожня та містить «організм» (Х). Колонія «організмів» розвивається в часі таким чином: якщо порожня клітина має по сусідству 2 або 3 «організми», то в наступний момент часу в ній з'являється новий «організм»; якщо зайнята клітина має більше 4 сусідів, то в наступний момент часу вона «вмирає» (ставати порожній). Організувати початкове заповнення поля і перегляд розвитку колонії клітин у часі.

ДОДАТОК Б

ТИТУЛЬНИЙ АРКУШ КУРСОВОЇ РОБОТИ
Міністерство освіти і науки України

Харківський національний університет радіоелектроніки



Факультет







(повна назва)




Кафедра







(повна назва)




  1   2

скачати

© Усі права захищені
написати до нас