Форма N Н-6.01
_________________Вінницький національний технічний університет_________________(повне найменування вищого навчального закладу)
____________________________Кафедра комп’ютерних наук__________________________(повна назва кафедри, циклової комісії)
КУРСОВА РОБОТА
__________________з дисципліни «Алгоритмізації та програмування»_________________ (назва дисципліни) на тему: «Тренажер для вивчення назв днів тижня іноземною мовою» ___
Студента __І__ курсу __3КН-15б__ групи напряму підготовки 6.050101 Комп’ютерні науки________________Мельник О.Л.__________________ __ (прізвище та ініціали) Керівник _к. т. н., доцент Арапов С. М. (посада, вчене звання, науковий ступінь, прізвище та ініціали)
Національна шкала ___________________________Кількість балів: __________ Оцінка: ECTS _______
Члени комісії
________________(підпис)
___________________________(прізвище та ініціали)
________________(підпис)
___________________________(прізвище та ініціали)
________________(підпис)
___________________________(прізвище та ініціали)
Вінниця 2016
Міністерство освіти і науки України
Вінницький національний технічний університет
Факультет інформаційних технологій та комп’ютерної інженерії
Кафедра комп’ютерних наук
ЗАТВЕРДЖУЮ
Зав. каф. КН, д.т.н., проф.
____________ С. І. Перевозніков
«__» _____________ 20__ р.
ІНДИВІДУАЛЬНЕ ЗАВДАННЯ
на курсову роботу з дисципліни « Алгоритмізація та програмування »
студента групи __3КН-15б__Мельник О.Л.__
1. Тема курсової роботи_ «Тренажер для вивчення назв днів тижня іноземною мовою» _затверджена на засіданні кафедри комп’ютерних наук, протокол №___від «__» 20 р.
2. Термін здачі студентом зазначеної роботи: « 6 » травня 2016 р.
3. Вхідні дані до роботи: використання мов програмування для розробки системи «Вивчення назв днів тижня англійською».
4. Зміст пояснювальної записки: Вступ; Постановка задачі; Схема алгоритму функціонування програмного забезпечення; Опис алгоритму; Характеристика даних; Опис роботи програми; Аналіз результатів; Висновки; Список використаних джерел; Додатки.
5. Перелік графічного матеріалу схеми алгоритмів функціонування системи та основних модулів програмного забезпечення, віконні форми.
5. Дата видачі завдання: « 3 » лютого 2016 р.
Завдання видав _____Арапов С. М. ____________
(ПІП керівника курсової роботи) (підпис)
Завдання прийняв до виконання __Мельник О.Л.__ ____________
(ПІП студента) (підпис)
АНОТАЦІЯ
У ході виконання курсової роботи буде виконана розробка програми на мові програмування C#, а саме написання тренажера для вивчення назв днів тижня іноземною мовою.
Також розглянемо основні функції обраної мови програмування, роботу зі створенням інтерфейсу та особливості середовища розробки. АННОТАЦИЯ
В ходе выполнения курсовой работы будет выполнена разработка программы на языке программирования C#, а именно написание тренажера для изучения названий дней недели на иностранном языке.
Также рассмотрим основные функции выбранного языка программирования, работу с созданием интерфейса и особенности среды разработки. ANNOTATION
It will develop program in the C# programming language during the coursework, namely writing a simulator for learning the names of the days of the week on foreign language.
Also consider the basic features of the selected programming language, work with the interface and features of the development environment.
ЗМІСТ
ПЕРЕЛІК СКОРОЧЕНЬ 7
ВСТУП 8
1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ «КОМП’ЮТЕРНІ ТРЕНАЖЕРНІ СИСТЕМИ» 9
1.1 Теорія, про обрану предметну область (назву підрозділу студент пише сам) 9
1.2 Постановка задачі розробки ... 9
2 ПРОЕКТУВАННЯ СИСТЕМИ «ТРЕНАЖЕР ДЛЯ ВИВЧЕННЯ НАЗВ ДНІВ ТИЖНЯ ІНОЗЕМНОЮ МОВОЮ» 10
2.1 Обґрунтування вибору мови програмування 10
2.2 Розробка структури системи «ТРЕНАЖЕР ДЛЯ ВИВЧЕННЯ НАЗВ ДНІВ ТИЖНЯ ІНОЗЕМНОЮ МОВОЮ» 10
2.3 Розробка алгоритму функціонування системи «ТРЕНАЖЕР ДЛЯ ВИВЧЕННЯ НАЗВ ДНІВ ТИЖНЯ ІНОЗЕМНОЮ МОВОЮ» 10
2.4 Розробка алгоритму назва спеціалізованого алгоритму 10
3 ПРОГРАМНА РЕАЛІЗАЦІЯ СИСТЕМИ «ТРЕНАЖЕР ДЛЯ ВИВЧЕННЯ НАЗВ ДНІВ ТИЖНЯ ІНОЗЕМНОЮ МОВОЮ» 11
3.1 Основні оператори мови програмування C# 11
3.2 Особливості середовища, в якому буде розроблятися система 11
3.3 Реалізація системи «ТРЕНАЖЕР ДЛЯ ВИВЧЕННЯ НАЗВ ДНІВ ТИЖНЯ ІНОЗЕМНОЮ МОВОЮ» 11
3.4 Тестування розробленої системи «ТРЕНАЖЕР ДЛЯ ВИВЧЕННЯ НАЗВ ДНІВ ТИЖНЯ ІНОЗЕМНОЮ МОВОЮ» 11
ВИСНОВКИ 12
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 13
ДОДАТКИ 14
ДОДАТОК А Лістинг програмної реалізації основних модулів системи «ТРЕНАЖЕР ДЛЯ ВИВЧЕННЯ НАЗВ ДНІВ ТИЖНЯ ІНОЗЕМНОЮ МОВОЮ» 15
ДОДАТОК Б Інструкція користувача системи «ТРЕНАЖЕР ДЛЯ ВИВЧЕННЯ НАЗВ ДНІВ ТИЖНЯ ІНОЗЕМНОЮ МОВОЮ» 16
ДОДАТОК В Графічна частина 17
ВСТУП
В сучасному світі гостро стоїть потреба в якісній освіті. Особливо важливим фактором є знання англійської мови, вивчення якої розпочинається з початкових класів школи. У всіх навчальних закладах давно використовують мультимедійні засоби та різноманітні симулятори чи тренажери, що допомагають швидше засвоїти новий матеріал.
Моделювання реальності — найважливіша перевага мультимедія-технологій з їх допомогою можна відтворити будь-який об'єкт. Завдяки ним людина практикує операції, що максимально відповідають реальним, насправді маючи справу лише з їх електронним аналогом.
Сучасна комп'ютерна технологія (мультимедіа) дозволяє створювати діалогові навчальні програми і тренажери, що включають комп'ютерну мультиплікацію, аудіо і відеотехніку. Як мінімум, це підсилить відчуття реальності при роботі з тренажером і відкриє нові можливості в процесі вчення.
Під час вибору комп'ютерного тренажера слід враховувати: набір стандартних елементів і варіанти їх розширення; можливі режими роботи і вирішувані завдання; якість і ергономічні характеристики інтерфейсу (зручність роботи). До таких тренажерів може відноситись система комп'ютерного тестування та мультимедійний навчальний курс з історії.
Автоматизовані навчальні системи, побудовані на основі мультимедія-технологій є на сьогодні одним із найефективніших засобів навчання. Саме тут повною мірою реалізується давній, але до сьогодні актуальний принцип дидактики: краще один раз побачити, ніж сто разів почути.
Автоматизовані навчальні системи бувають декількох типів: інформаційні, довідкові, контролюючі, навчальні, комбіновані. Наприклад, програми Енналса призначені для моделювання історичних процесів та явищ; контролю та підтримки знань учнів; побудови т.зв. навчальних схем, репрезентації (тобто подання) гуманітарних знань; "інтелектуального" інформаційного пошуку під час навчання історії.
До автоматизованих навчальних систем належать електронні бази даних (енциклопедії, бібліотеки, довідники, колекції, каталоги), е-підручники та посібники, е-атласи з історії.
В ході обрання теми курсового проекту було розглянуто такі навчальні тренажери:
1. Largo 1.1.1.
Недоліки даного продукту: у програмі є обмеження по кількості слів, і речень, побудованих на основі цих слів; існує можливість додавання нових слів, але це досить складна процедура для учнів молодших класів; загальна кількість варіантів для одного слова становить 144 одиниці, що не становить необхідності при початку вивчення курсу іноземної мови.
2. MEGA Tutor 2005
Недоліки продукту: незручний та складний інтерфейс; немає можливості створення власного активного словника.
3. BX Language acquisition
Недоліки продукту: складний інтерфейс; непроста система оцінювання; високі вимоги до параметрів комп’ютера.
Курсовий проект «Тренажер для вивчення назв днів тижня іноземною мовою» напрямлений на допомогу вчителям та дітям молодших класів у вивченні англійської мови. Для роботи над обраною темою буде використовуватися середовище Visual Studio та мова програмування C#.
Результатом виконання курсового проекту є готовий програмний продукт, призначений для використання в молодших класах загальноосвітніх шкіл.
1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ «КОМП’ЮТЕРНІ НАВЧАЛЬНІ ТРЕНАЖЕРНІ СИСТЕМИ»
1.1 Теорія, про обрану предметну область
У сьогоднішніх економічних умовах, коли навіть дрібний ремонт загрожує перетворитися на нерозв'язну проблему, ціна помилок оперативного персоналу виробництв з складним технологічним устаткуванням в багато разів зростає. Особливої важливості набуває якісне навчання і постійна підтримка кваліфікації і готовності персоналу і не тільки. Подібні потреби є також у начальних закладах, як у вищих, так і в звичайних школах, що стосується не лише вчителів, а й навчання учнів та студентів.
Ряд наукових і інженерних колективів різних країн світу вже давно працює над застосуванням комп'ютерів в навчанні. Але ситуація на ринку комп'ютерних тренажерів зберігається: він перенасичений різними екзаменаторами по техніці безпеки; існує велике число тренажерів по оперативних перемиканнях в електричних мережах; безліч тренажерів для набуття навичок з певного курсу чи конкретного предмету.
Створення так званих віртуальних тренажерів - новий шлях при вирішенні проблеми організації навчальних лабораторій по вивченню складної вимірювальної апаратури і приладів. Ця проблема особливо актуальна при вивченні медичної техніки із-за високої вартості пристроїв. Основна гідність застосування Віртуальних тренажерів в тому, що можна створювати системи, що не існують в реальності. Тобто системи, що складаються з елементів, які недоступні в даний момент для з'єднання, знаходяться в різних частинах країни або тільки за кордоном.
Віртуальні тренажери можуть використовуватися як в учбовому процесі (при проведенні лабораторних робіт або для здійснення теоретичного допуску до них), так і для самостійного навчання студентів та учнів.
1.2 Постановка задачі розробки програми «Тренажер для вивчення назв днів тижня іноземною мовою»
В ході виконання курсового проекту необхідно:
Розробити програму «Тренажер для вивчення назв днів тижня іноземною мовою», яка буде навчати учнів молодших класів. Програма повинна виконувати ввід даних, перевірку правильності вводу даних, видачу кількості правильно зроблених завдань, враховуючи помилки при виконанні тестів, з можливого числа.
Створити програму з можливістю перегляду перекладу слів як українською, так і англійською мовами.
Протестувати програму на наявність збоїв та відхилень.
2 ПРОЕКТУВАННЯ СИСТЕМИ «ТРЕНАЖЕР ДЛЯ ВИВЧЕННЯ НАЗВ ДНІВ ТИЖНЯ ІНОЗЕМНОЮ МОВОЮ»
2.1 Обґрунтування вибору мови програмування
Для реалізації даного програмного продукту було обрано мову програмування C#. C# − об’єктно-орієнтована мова програмування з безпечною системою типізації для платформи.NET. Розроблена Андерсом Гейлсбергом, Скотом Вілтамутом та Пітером Гольде під егідою Microsoft Research (при фірмі Microsoft).
C# розроблялась як мова програмування прикладного рівня для CLR і тому вона залежить, перш за все, від можливостей самої CLR. Це стосується, перш за все, системи типів C#. Присутність або відсутність тих або інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльована у відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно збагатився і сам C#; подібної взаємодії слід чекати і надалі. (Проте ця закономірність буде порушена з виходом C# 3.0, що є розширеннями мови, що не спираються на розширення платформи .NET.) CLR надає C#, як і всім іншим .NET-орієнтованим мовам, багато можливостей, яких позбавлені «класичні» мови програмування. Наприклад, збірка сміття не реалізована в самому C#, а проводиться CLR для програм, написаних на C# точно так, як і це робиться для програм на VB.NET, J# тощо.
Особливості C#:
Розширюваність системи (в С# можна спокійно довантажувати будь-які exe, імпортувати класи і об'єкти з інших програм).
Кросплатформенность (mono, концепція NET).
Ступінь відкритості вихідних текстів бібліотек, виконуваних програм, кількість літеретури і допомогу (MSDN).
Можливість залучення сторонніх розробників при розробці системи для програмування вузько спеціалізованих завдань (складання, модулі, тіж exe).
Захищеність і конроль версій підключаються алгоритмів (концепція NET).
Трудомісткість написання (той же NET).
Швидкість роботи (розподіл процесів, розподіл даних, швидкість роботи з даними).
Зручність розробки (середовище розробки порівняно з Delphi7).
Автоматична і мануальна робота за пам'яттю.
Використання єдиної бібліотеки класів – CLR.
Особливості Java:
Безпечність.
Ефективність.
Обєктно-орієнтована спрямлваність.
Стійкість до помилок.
Підтримка багатопоточності.
Переваги інтерпретованості в поєднанні з високою продуктивністю.
Розподіленість.
Доступність інструментарію та ефективність розробок.
Особливості С:
В мові реалізовані окремі операцii низького рівня (а саме операцii над бітами). Окремі з таких операцій напряму вiдповiдають машинним командам.
Підтримує механізм показчикiв на змiннi i функцiї.
Базовi типи даних мови С відображають тi ж об’єкти, з якими потрібно мати справу програмі на мові Асемблера,- байти, машинні слова, символи, строки.
Накладаються лише незначні обмеження на перетворення типів даних.
не дивлячись на ефективність і потужність конструкцii мови С, він відносно малий по об'єму, але в системне оточення мови С входить бібліотекастандартних функцій, в який реалізовані встроенi оператори введення - виведення, динамічного розподілу пам’ять, управління процесами.
Отже, для курсового проектування було обрано мову C#, тому що вона є найзручнішою для реалізації даного типу проектів.
Рисунок 2.1 – Порівняльна характеристика мов програмування
2.2 Розробка структури системи «Тренажер для вивчення назв днів тижня іноземною мовою»
Розробка структури системи. Опис модулів та опис їх взаємодії.
2.3 Розробка алгоритму функціонування системи «Тренажер для вивчення назв днів тижня іноземною мовою»
Словесний алгоритм:
Пункт 1 – Запуск програми.
Пункт 2 – Довільний вибір типу тестів.
Пункт 3 – Зміна результату, при виборі правильного варіанту відповіді.
Пункт 4 – Вивід фінального результату.
Схема алгоритму зображена на рисунку 2.2.
Рисунок 2.2 – Алгоритм функціонування системи «Тренажер для вивчення назв днів тижня іноземною мовою»
2.4 Розробка алгоритмів функціонування основних модулів системи «Тренажер для вивчення назв днів тижня іноземною мовою»
Розробка алгоритму функціонування основних модулів системи. Схема алгоритму – обов’язково.
3 ПРОГРАМНА РЕАЛІЗАЦІЯ СИСТЕМИ «ТРЕНАЖЕР ДЛЯ ВИВЧЕННЯ НАЗВ ДНІВ ТИЖНЯ ІНОЗЕМНОЮ МОВОЮ»
3.1 Основні оператори мови програмування C#
В ході виконання роботи над курсовим проектом буде використано такі основні оператори мови C#:
Для формування завдання буде використано оператор switch.
Синтаксис:
switch (вираз або змінна){case значення1: блок_дій1break;case значення2: блок_дій2break;...default: блок_дій_по_замовчуванні}
Це конструкція, що дозволяє перевіряти умову і виконувати в залежності від цього різні дії. На відміну від if, тут значення виразу не зводиться до логічного типу, а просто порівнюється зі значеннями, перерахованими після ключових слів case (значення1, значення 2 і т.д.). Якщо значення виразу співпадає з якимось варіантом, то виконується відповідний блок_дій – від двокрапки після значення, що співпало, до кінця switch або до першого оператора break, якщо такий знайдеться. Якщо значення виразу не співпало з жодним з варіантів, то виконуються дії по замовчуванні (блок_дій_по_замовчуванні), що знаходяться після ключового слова default. Вираз в switch обчислюється тільки один раз, а в операторі elseif – щоразу, тому, якщо вираз достатньо складний, то switch працює швидше.
Для геенрації відповідей до тестів буде використано оператор while.
Оператор while – оператор циклу, який виконує оператор або блок операторів, поки певний вираз не прийме значення false.
Синтаксис:while (булевий-вираз){
команда-або-блок-команд
} , де «булевий-вираз» - вираз який повертає true або false і формулює умову виконання блоку коду; команда-або-блок-команд - операції які необхідно виконати у випадку, коли «булевий вираз» повертає true.
Для виводу варіантів відповідей буде використано оператор if/else.
Загальна форма запису умовного оператора:
if (<умова>)
{
<Блок операторів 1>;
}
else
{
<Блок операторів 2>;
}
Оператор умови if-else служить для вибору напрямку роботи програми в залежності від умов, що склалися в даній точці програми на момент її виконання. Якщо на момент виконання <умова> істинна, програма передає управління <блоку операторів 1> і, далі, першому оператору за межами конструкції if-else. При цьому "блок операторів2> не виконується. Інакше, якщо <умова> брехлива, виконується <блок операторів 2>, а <блок операторів 1> пропускається. Інший варіант скорочення застосовується у разі, коли який-небудь з блоків if або else складається лише з одного оператора. У цьому випадку допускається відсутність фігурних дужок, обмежують цей блок.
if (<умова>)
оператор 1;
else
оператор 2;
Тут в якості операторів 1 і 2 можуть бути не тільки прості однорядкові арифметичні дії або оператори введення-виведення, але і складні багаторядкові конструкції, наприклад інші (вкладені) оператори умови або оператори циклу.
Для перевірки елементів буде використано оператор for.
Загальний вигляд: for (ініціалізація; умова; приріст) оператор;.
Цикл for може мати велику кількість варіацій. У найбільш загальному вигляді принцип його роботи наступний. Ініціалізація — це присвоєння початкового значення змінної, яка називається параметром циклу. Умова являє собою умовне вираз, що визначає, чи слід виконувати оператор циклу (часто його називають тілом циклу) в черговий раз. Оператор прирощення здійснює зміна параметра циклу при кожній ітерації. Ці три оператори (вони називаються також секціями оператора for) обов'язково розділяються крапкою з комою. Цикл for виконується, якщо вираз умова приймає значення ІСТИНА. Якщо воно хоча б один раз прийме значення FALSE, то програма виходить з циклу і виконується оператор, наступний за тілом циклу for.
3.2 Особливості середовища в якому буде розроблятися система
Розробка курсового проекту відбувається в середовищі програмування Microsoft Visual Studio 2015. Microsoft Visual Studio — серія продуктів фірми Microsoft, які включають інтегроване середовище розробки програмного забезпечення та ряд інших інструментальних засобів. Ці продукти дозволяють розробляти як консольні програми, так і програми з графічним інтерфейсом, в тому числі з підтримкою технології Windows Forms, а також веб-сайти, веб-застосунки, веб-служби.
У редакторі Visual Studio є багато можливостей, які допоможуть легше писати і управляти своїм кодом. Можна згортати і розгортати блоки коду використовуючи інструмент структурування. Можна отримати додаткові відомості про код використовуючи «IntelliSense», «Оглядач об'єктів» і ієрархію викликів. Усередині коду можна переміщатися за допомогою таких функцій, як «Перейти до», «Перейти до визначення» і «Знайти всі посилання». Вставляти блоки коду можна за допомогою фрагментів коду. Код також можна створювати за допомогою функцій, таких як «Створення в результаті використання».
Visual C# - це реалізація мови C # корпорацією Майкрософт. Підтримка Visual C# в Visual Studio забезпечується за допомогою повнофункціонального редактора коду, компілятора, шаблонів проектів, конструкторів, майстрів коду, потужного і зручного відладчика і багатьох інших засобів. Бібліотека класів .NET Framework надає доступ до багатьох служб операційної системи і до інших корисних, добре спроектованим класам, що істотно прискорює цикл розробки.
Таблиця 3.1 – Порівняльна характеристика середовищ розробки
ST3
VS 2015
AkelPad
Підтримка авто запуску
+
+
-
Інтелектуальна технологія
+
+
-
Дебаг коду
-
+
-
Інструменти обробки
+
+
+
Інтеграція з іншими мовами
+
+
+
Автоконтроль
+
+
+
3.3 Реалізація системи «Тренажер для вивчення назв днів тижня іноземною мовою»
Опис основних модулів програми: класи, методи, функції і т. д.
3.4 Тестування розробленої системи «Тренажер для вивчення назв днів тижня іноземною мовою»
Опис процесу тестування розробленого програмного забезпечення та опис його результатів.
ВИСНОВКИ
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
Список використаних джерел.
ДОДАТКИ
ДОДАТОК АЛІСТИНГ ПРОГРАМНОЇ РЕАЛІЗАЦІЇ ОСНОВНИХ МОДУЛІВ СИСТЕМИ НАЗВА СИСТЕМИ
Лістинг програми.
ДОДАТОК БІНСТРУКЦІЯ КОРИСТУВАЧА СИСТЕМИ «ВИВЧЕННЯ НАЗВ ДНІВ ТИЖНЯ ІНОЗЕМНОЮ МОВОЮ»
Для використання програми потрібно зайти в папку «kursovui» → «Main» → → «bin» → «Debug» та відкрити застосунок «Main».
В програмі є 2 кнопки:
1. кнопка «Словник», за допомогою якої можна продивитися назви днів тижня українською та їх переклад на англійську мову;
2. кнопка «Тест», за допомогою якої можна перейти безпосередньо до самого тренажера, що складається з 10, випадково обраних, питань.
ДОДАТОК ВГРАФІЧНА ЧАСТИНА
Графічні додатки