Комп’ютерне тестування граматичних знань на основі тестів ESL/EFL Proficiency рівня

Автор: Пользователь скрыл имя, 10 Декабря 2011 в 22:35, курсовая работа

Описание работы

Об’єктно́-орієнтоване́ програмува́ння (ООП) — одна з парадигм програмування, яка розглядає програму як множину взаємодіючих «об'єктів». В ній використано декілька технологій від попередніх парадигм, включаючи успадкування, модульність, поліморфізм та інкапсуляцію. Не зважаючи на те, що ця парадигма з'явилась в 1960-тих роках, вона не мала широкого застосування до 1990-тих. На сьогоднішній день, багато із мов програмування (зокрема, Java, JavaScript, C#, C++, Пайтон, PHP, Ruby та Objective-C) підтримують ООП.

Содержание

1. Об'єктно-орієнтоване програмування 3
1.1. Фундаментальні поняття 4
2. Особливості розробки програмних засобів на основі об’єктно-орієнтованого програмування 6
3. Середовище програмування Delphi 16
3.1. Основні елементи середовища Delphi 18
Головне вікно 18
Вікно форми 18
Вікно коду 20
Інспектор об’єктів 21
3.2. Управління файлами проекту Delphi 25
3.3. Конфігурація Delphi 26
3.4. Реагування на події 27
4. Задача курсового проекту 29
5. Опис програмної реалізації вибраного алгоритму 30
6. Приклад програми та аналіз результатів 33
Текст програми 36
Висновок 40
Список використаної літератури 41

Работа содержит 1 файл

Delphi - курсова робота.doc

— 370.00 Кб (Скачать)

    МІНІСТЕРСТВО  ОСВІТИ УКРАЇНИ

    Національний  УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” 
     

    Кафедра САПР 
     
     
     
     
     
     
     
     
     
     
     

ПОЯСНЮВАЛЬНА  ЗАПИСКА

до курсової роботи  

з дисципліни “Застосування засобів об’єктно-орієнтованого програмування в лінгвістичних задачах 

на тему:

Комп’ютерне тестування

граматичних знань на основі тестів

ESL/EFL Proficiency рівня. 
 
 
 

              
           
           
           
           
           

             Допущено до захисту:    Виконала:

                  студентка групи: ПРЛ(м) - 11

          Дата :______________                             Клок О. О.    

                  Прийняла:

                  Свірідова Т.В.

                  Оцінка:_____________

                  Залікова книжка №: ________ 
           
           

Львів - 2008

 

 

Зміст 

 

  1. Об'єктно-орієнтоване  програмування

    Об’єктно́-орієнтоване́ програмува́ння (ООП) — одна з парадигм програмування, яка розглядає програму як множину взаємодіючих «об'єктів». В ній використано декілька технологій від попередніх парадигм, включаючи успадкування, модульність, поліморфізм та інкапсуляцію. Не зважаючи на те, що ця парадигма з'явилась в 1960-тих роках, вона не мала широкого застосування до 1990-тих. На сьогоднішній день, багато із мов програмування (зокрема, Java, JavaScript, C#, C++, Пайтон, PHP, Ruby та Objective-C) підтримують ООП.

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

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

 

    1. Фундаментальні поняття

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

    Клас 

    Клас  визначає абстрактні характеристики деякої сутності, включаючи характеристики самої сутності (її атрибути або властивості) та дії, які вона здатна виконувати (її поведінки або методи або можливості). Наприклад, клас Собака може характеризуватись рисами, притаманними всім собакам, зокрема: порода, колір хутра, здатність гавкати. Класи привносять модульність та структурованість в об'єктно-орієнтовану програму. Як правило, клас має бути зрозумілим для не-програмістів, що знаються на предметній області, що, у свою чергу, значить, що клас повинен мати значення в контексті. Також, код реалізації класу має бути досить самодостатнім. Властивості та методи класу, разом називаються його членами.

    Об'єкт 

    Окремий екземпляр класу. Клас Собака відповідає всім собакам шляхом описання їхніх спільних рис; об'єкт Сірко є одним окремим собакою, окремим варіантом значень характеристик. Собака має хутро; Сірко має коричнево-біле хутро. На жаргоні програмістів, об'єкт Сірко є екземпляром класу Собака. Множина значень атрибутів окремого об'єкту називається станом.

    Метод 

    Можливості  об'єкту. Оскільки Сірко — Собака, він має можливість гавкати. Тому гавкати() є одним із методів об'єкту Сірко. Він може мати і інші методи, зокрема: місце(), або їсти(). В межах програми, використання методу має впливати лише один об'єкт; всі Собака можуть гавкати, але треба щоб гавкала лише одна окрема собака.

    Успадкування 

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

    Приховування інформації (інкапсуляція) 

    Приховування  деталей про роботу класів від  об'єктів, що їх використовують або надсилають їм повідомлення. Так, наприклад, клас Собака має метод гавкати(). Реалізація цього методу описує як саме повинно відбуватись гавкання (приміром, спочатку вдихнути() а потім видихнути() на обраній частоті та гучності). Петро, хазяін собаки Сірко, не повинен знати як він лає. Інкапсуляція досягається шляхом вказування, які класи можуть звертатися до членів об'єкту. Як наслідок, кожен об'єкт представляє кожному іншому класу певний інтерфейс — члени, доступні іншим класам. Інкапсуляція потрібна для того, аби запобігти використанню користувачами інтерфейсу тих частин реалізації, які, швидше за все, будуть змінюватись. Це дозволить полегшити внесення змін, тобто, без потреби змінювати і користувачів інтерфейса. Наприклад, інтерфейс може гарантувати, що щенята можуть додаватись лише до об'єктів класу Собака кодом самого класу. Часто, члени класу позначаються як публічні (англ. public), захищені (англ. protected) та приватні (англ. private), визначаючи, чи доступні вони всім класам, підкласам, або лише до класу в якому їх визначено. Деякі мови програмування йдуть ще далі: Java використовує ключове слово private для обмеження доступу, що буде дозволений лише з методів того самого класу, protected - лише з методів того самого класу і його нащадків та з класів із того ж самого пакету, C# та VB.NET відкривають деякі члени лише для класів із тієї ж зборки шляхом використання ключового слова internal (C#) або Friend (VB.NET), а Eiffel дозволяє вказувати які класи мають доступ до будь-яких членів.

    Абстрагування 

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

    Поліморфізм 

    Поліморфізм означає залежність поведінки від  класу, в якому ця поведінка викликається, тобто, два або більше класів можуть реагувати по різному на однакові повідомлення. Наприклад, якщо Собака отримує команду голос(), то у відповідь можна отримати Гав; якщо Свиня отримує команду голос (), то у відповідь можна отримати Хрю.

  1. Особливості розробки програмних засобів на основі об’єктно-орієнтованого програмування

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

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

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

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

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

    Подальше  зростання складності та розмірів програмного  забезпечення розвивало можливості структурування даних, дозволяло описувати  типи даних користувача. Одночасно  виникла необхідність розмежувати  доступ до глобальних даних програми, тому з’явилася технологія модульного програмування. Вона припускає виокремлення групи процедур та функцій з однаковими глобальними даними в окремі файли, які використовуються в інших програмах як окремо компілюючі модулі: модуль графічних ресурсів, модуль виведення інформації на принтер та інші. Усі змінні в модульних програмах розподіляються на дві частини: відкриті (public), тобто доступні поза модулем в інших програмах, та закриті (private) – доступ до яких може бути тільки в межах процедури. Такий підхід значно поліпшив розробку програм кількома програмістами, кожний з яких розробляв свій окремий модуль, який можна було використовувати в інших програмах. Таку технологію програмування підтримували Pascal, C, С++ та інші. Дані середовища програмування були орієнтовані на користування операційною системою MS-DOS.

    Недоліком модульного програмування була обмеженість  у розмірі програми. Так, при використанні програмістом понад 100 000 операторів зростала складність міжмодульних інтерфейсів, тому передбачити взаємовплив окремих  частин програми було практично неможливо.

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

Информация о работе Комп’ютерне тестування граматичних знань на основі тестів ESL/EFL Proficiency рівня