Реферат по предмету "Информатика, программирование"


Інтерактивна система навчання для вивчення англійської мови

Міністерство освіти інауки УкраїниФАКУЛЬТЕТ ІНФОРМАТИКИ
КАФЕДРА ІНФОРМАЦІЙНИХ УПРАВЛЯЮЧИХСИСТЕМ ТА ТЕХНОЛОГІЙРеєстраційний №________
Дата ___________________КУРСОВА РОБОТА
Тема:
Інтерактивна система навчання длявивчення англійської мови.Рекомендована до захисту
“____” __________ 2007р.
Робота захищена
“____” __________ 2007р.
з оцінкою
_____________________
Підписи членів комісії

ЗмістВступТеоріяПрактична частинаВисновкиЛітература

Вступ
Головною метою нашої роботи, буде написання інтерактивноїсистеми навчання вивчення англійської мови. В теоретичній частині наведемоосновні відомості про інструментарій в якості якого нами була вибрана мовапрограмування Borland C++ Builder.
Завдяки засобам керування проектами, двосторонньої інтеграціїдодатка й синхронізації між засобами візуального й текстового редагування, атакож вбудованому отладчіку (з ассемблерним вікном прокручування, покроковимвиконанням, точками останова, трасуванням і т.п.) — C++ Builder корпораціїBorland надає собою вражаюче середовище розробки, що, видимо, витримаєконкурентну боротьбу з такими модними продуктами як Developer Studio фірмиMicrosoft.

Теорія
C++ Builder забезпечує високу швидкодію при компіляції йзборці 32-розрядних додатків для сучасних операційних систем Windows 95 йWindows NT, включаючи OLE взаємодія клієнт-сервер. Система навіть відображаєчас, витрачений на основні етапи побудови програм. Результуючі програми добреоптимізовані по швидкості виконання й витратам пам'яті. Хоча отладочний режимнизького рівня повністю інтегрований у середовище C++Builder, до налагодженнятакож довелося звикати. Дизайнер форм, Інспектор об'єктів й інших засобівзалишаються доступними під час роботи програми, тому вносити зміни можна впроцесі налагодження.
C++Builder поставляється в трьох варіантах: Standard(стандартний). Professional (для професіоналів розроблювачів, орієнтованих намережну архітектуру) і Client/Server Suite (для розробки систем в архітектуріклієнт/сервер). Останні два варіанти доповнюють стандартний вихідними текстамивізуальних компонентів, різномасштабним словником даних, новими функціями мовизапитів SQL для баз даних, пакетом підтримки систем Internet, службоюмоніторингу програм, а також рядом інших засобів.
Експерименти з тестовими програмами в рамках стандартноговаріанта лягли в основу матеріалу, що викладає в книзі. Випробовуючи систему, япереклав на C++ Builder кілька додатків, раніше написаних на Borland C++ версії4.5. Завдяки візуальним компонентам, із програм зникла «кодовалушпайка» обробки повідомлень Windows і ресурсних файлів, і залишивсятільки змістовний код. Користувальницький інтерфейс додатків придбав закінченийпрофесійний вигляд.
Хоча C++ Builder представляється досить надійною системою,корпорації ще має бути спростувати розхоже твердження, що в кожній налагодженійпрограмі (у тому числі й у комерційній) є щонайменше одна помилка. Видимо, самецим прагненням порозумівається зайва, на мій погляд, поспішність ізрекламуванням «поліпшеної й розширеної» версії Borland C++ версії5.02.
C++ Builder підтримує зв'язок з різними базами даних 3-хвидів:
dBASE й Paradox: Sybase, Oracle, InterBase й Informix; Excel,Access, FoxPro й Btrieve. Механізм BDE (Borland Database Engine) надаєобслуговуванню зв'язків з базами даних дивну простоту й прозорість. ПровідникDatabase Explorer дозволяє зображувати зв'язки й об'єкти баз даних графічно.Використовуючи компоненти баз даних, я побудував електронну записну книжку потаблиці dBASE за півгодини роботи на комп'ютері. Спадкування готових форм й їх «припасування»під специфічні вимоги помітно скорочують тимчасові витрати на рішення подібнихзадач.
Довідкова служба C++ Builder надавала мені допомогу в цій ібагатьох інших подібних ситуаціях. Є повний опис кожного керуючого компонента,включаючи списки властивостей і методів, а також численні приклади. Викладматеріалу в книзі було значно поліпшене й систематизовано завдяки відомостям,почерпнутим мною з довідкової служби.Застосування BORLAND C++ BUILDERдля створення ігрових програм: Borland C++ Builder — випущененедавно компанією Borland засіб швидкої розробки проектів, що дозволяєстворювати проекту мовою C++, використовуючи при цьому середовище розробки табібліотеку компонентів Delphi. У даній частині роботи розглядається середовищерозробки C++ Builder та основні прийоми, застосовувані при проектуваннікористувальницького інтерфейсу. Середовищерозробки C++ Builder
C++ Builder являє собою SDI-додаток, головне вікно якогомістить інструментальну панель, що набудоване (ліворуч) і палітру компонентів(праворуч). Крім цього, при запуску C++ Builder з'являються вікно інспектораоб'єктів (ліворуч) і форма нового проекту (праворуч). Під вікном форми проектуперебуває вікно редактора коду.
/>
Рис.1. Середовище розробки C++ Builder
Форми є основою проектів C++ Builder. Створеннякористувальницького інтерфейсу проекту полягає в додаванні у вікно форми елементівоб'єктів C++ Builder, називаних компонентами. Компоненти C++ Builderрозташовуються на палітрі компонентів, виконаної у вигляді многостранічногоблокнота. Важлива особливість C++ Builder полягає в тому, що він дозволяєстворювати власні компоненти та набудовувати палітру компонентів, а такожстворювати різні версії палітри компонентів для різних проектів. КомпонентиC++ Builder
Компоненти розділяються на видимі (візуальні) і невидимі(невізуальні). Візуальні компоненти з'являються під час виконання точно таксамо, як і під час проектування. Прикладами є кнопки та редагують поля, що.Невізуальні компоненти з'являються під час проектування як піктограми на формі.Вони ніколи не видні під час виконання, але мають певну функціональність(наприклад, забезпечують доступ до даних, викликають стандартні діалоги Windows95та ін.)
Для додавання компонента у форму можна вибрати мишеюпотрібний компонент у палітрі та клацнути лівою клавішею миші в потрібнім місціпроектованої форми. Компонент з'явиться на формі, і далі його можна переміщати,міняти розміри та інші характеристики.
Кожен компонент C++ Builder має три різновиди характеристик:властивості, події та методи.
Якщо вибрати компонент із палітри та додати його до форми,інспектор об'єктів автоматично покаже властивості та події, які можуть бутивикористані з тім компонентом. У верхній частині інспектора об'єктів є список,що випадає, що дозволяє вибирати потрібний об'єкт із наявних на формі. Властивостікомпонентів
Властивості є атрибутами компонента, що визначають йогозовнішній вигляд і поводження. Багато властивостей компонента в колонкувластивостей мають значення, яке встановлюється за замовчуванням (наприклад,висота кнопок). Властивості компонента відображаються а сторінці властивостей(Properties). Інспектор об'єктів відображає опубліковані (published)властивості компонентів. Крім published-властивостей, компоненти можуть інайчастіше мають загальні (public), опубліковані властивості, які доступнітільки під час виконання проекту. Інспектор об'єктів використається дляустановки властивостей під час проектування. Список властивостей розташовуєтьсяна сторінці властивостей інспектори об'єктів. Можна визначити властивості підчас проектування або написати код для видозміни властивостей компонента під часвиконання проекту.
При визначенні властивостей компонента під час проектуванняпотрібно вибрати компонент на формі, відкрити сторінку властивостей вінспекторі об'єктів, вибрати обумовлена властивість і змінити його за допомогоюредактора властивостей (це може бути пусте поле для уведення тексту або числа,що випадає список, що розкривається список, діалогова панель і т.д.). Події
Сторінка подій (Events) інспектори об'єктів показує списокподій, розпізнаваних компонентом (програмування для операційних систем ізграфічним користувальницьким інтерфейсом, зокрема, для Windows 95 або WindowsNT пре думає опис реакції проекту на ті або інші події, а сама операційнасистема займається постійним опитуванням комп'ютера з метою виявлення настанняякої-небудь події). Кожен компонент має свій власний набір оброблювачів подій.В C++ Builder варто писати функції, називані оброблювачами подій, і зв'язуватиподії із цими функціями. Створюючи оброблювач тої чи іншої події, ви доручаєтепрограмі виконати написану функцію, якщо ця подія відбудеться.
Для того, щоб додати оброблювач подій, потрібно вибрати наформі за допомогою миші компонент, якому необхідний оброблювач подій, потімвідкрити сторінку подій інспектори об'єктів і двічі клацнути лівою клавішеюмиші на колонку з поруч із подією, щоб змусити C++ Builder згенерувати прототипоброблювача подій і показати його в редакторі коду. При цьому автоматичногенерується текст порожньої функції, і редактор відкривається в тім місці, деварто вводити код. Курсор позиціюється усередині операторних дужок {… }.Далі потрібно ввести код, що повинен виконуватися при настанні події.Оброблювач подій може мати параметри, які вказуються після імені функції вкруглих дужках. Методи
Метод є функцією, що пов'язана з компонентом, і якаоголошується як частина об'єкта. Створюючи оброблювачі подій, можна викликатиметоди, використовуючи наступну нотацію: ->, наприклад:
Edit1->Show();
Відзначимо, що при створенні форми пов'язані з нею модуль ізаголовний файл із розширенням *.h генеруються обов'язково, тоді як пристворенні нового модуля він не зобов'язаний бути пов'язаний з формою(наприклад, якщо в ньому втримуються процедури розрахунків). Імена форми тамодуля можна змінити, причому бажано зробити це відразу після створення, покина них не з'явилося багато посилань в інших формах і модулях. Менеджерпроектів
Файли, що утворять додаток – форми та модулі — зібрані впроект. Менеджер проектів показує списки файлів і модулів проекту та дозволяєстворювати навігацію між ними. Можна викликати менеджер проектів, вибравшипункт меню View/Project Manager. За замовчуванням знову створений проектодержує ім'я Project1.cpp.
За замовчуванням проект спочатку містить файли для однієїформи та вихідного коду одного модуля. Однак більшість проектів містять кількаформ і модулів. Щоб додати модуль або форму до проекту, потрібно клацнутиправою кнопкою миші та вибрати пункт New Form з контекстного меню. Можна такождодавати існуючі форми та модулі до проекту, використовуючи кнопку Add контекстногоменю менеджера проектів і вибираючи модуль або форму, яку потрібно додати.Форми та модулі можна видалити в будь-який момент протягом розробки проекту.Однак, через те, що форма зв'язані завжди з модулем, не можна видалити одне безвидалення іншого, за винятком случаючи, коли модуль не має зв'язку з формою.Видалити модуль із проекту можна, використовуючи кнопку Remove менеджерапроектів.
Якщо вибрати кнопку Options у менеджері проектів, відкриєтьсядіалогова панель опцій проекту, у якій можна вибрати головну форму проекту,визначити, які форми будуть створюватися динамічно, які параметри компіляціїмодулів (у тому числі створених в Delphi 2.0, тому що C++ Builder може включатиїх у проекти) і компонування.
Важливим елементом середовища розробки C++ Builder єконтекстне меню, яке з‘являється при натисканні на праву клавішу миші тадозволяє швидкий доступ до найбільше часто використовуваних команд.
Зрозуміло, C++ Builder має убудовану системуконтекстно-контекстно-залежної допомоги, доступної для будь-якого елементаінтерфейсу та довідкової інформації, що є великим джерелом, про C++ Builder. Створенняпроектів у С++ Builder
Першим кроком у розробці проекту C++ Builder є створенняпроекту. Файли проекту містять згенерований автоматично вихідний текст, що стаєчастиною проекту, коли воно скомпільовано та підготовлене до виконання. Щобстворити новий проект, потрібно вибрати пункт меню File/New Application.
C++ Builder створює файл проекту з ім'ям за замовчуваннямProject1.cpp, а також make-файл із ім'ям за замовчуванням Project1.mak. Привнесенні змін у проект, таких, як додавання нової форми, C++ Builder обновляєфайл проекту.
Проект або додаток звичайно мають кілька форм. Додаванняформи до проекту створює наступні додаткові файли:
·          Файлформи з розширеням.DFM, що містить інформацію про ресурси вікон дляконструювання форми
·          Файлмодуля з розширеням.CPP, що містить код на C++.
·          Заголовнийфайл із розширенням .H, що містить опис класу форми.
Коли ви додаєте нову форму, файл проекту автоматичнообновляється.
Для того щоб додати одну або більше форм до проекту,виберіть пункт меню File/New Form. З'явиться порожня форма, що буде додана допроекту. Можна скористатися пунктом меню File/New, вибрати сторінку Forms івибрати підходящий шаблон з репозиторія об'єктів.
Для того, щоб просто відкомпілювати поточний проект, з менюCompile потрібно вибрати пункт меню Compile. Для того, щоб відкомпілюватипроект і створити виконує файл, що, для поточного проекту, з меню Run потрібновибрати пункт меню Run. Компонування проекту є інкрементним (перекомпілюютьсятільки модулі, що змінилися).
Якщо при виконанні проекту виникає помилка часу виконання,C++ Builder робить паузу у виконанні програми та показує редактор коду зкурсором, установленим на операторі, що є джерелом помилки. Перш ніж робитинеобхідну корекцію, варто запустити знову додаток, вибираючи пункт меню Run зконтекстного меню або з меню Run, закрити додаток і лише потім вносити зміни впроект. У цьому випадку зменшиться ймовірність втрати ресурсів Windows. Приклад:створення найпростішого проекту
Тепер спробуємо створити найпростіший додаток, що дозволяєвводити текст у редагує поле, що, і додавати цей текст до списку при натисканнімишею на кнопку. Виберемо пункт меню File/New Application для створенняпроектутазбережемо його головну форму під ім'ям samp1.cpp, а сам проект підім'ям samp.mak. Помістимо на форму компонента Button, EditтаListBox зі сторінкиStandard палітри компонентів.
Після цього виберемо на формі компонентів Edit і видалимо поточнезначення властивості Text. Потім установимо властивість Caption для Button1рівним «Додати».
Щоб додати оброблювач події OnClick для кнопки Додати,потрібно вибрати цю кнопку на формі, відкрити сторінку подій в інспекторіоб'єктів і двічі клацнути мишею на колонку праворуч від події OnClick. Увідповідному рядку уведення з'явиться ім'я функції. C++ Builder згенеруєпрототип оброблювача подій і покаже його в редакторі коду. Після цього вартоввести наступний код в операторні дужки {… } тіла функції:
void __fastcallTForm1::Button1Click(TObject *Sender)
{
if (!(Edit1->Text ==""))
{
ListBox1->Items->Add(Edit1->Text);
Edit1->Text ="";
}
}
 Для компіляції проекту в меню Run виберемо пункт Run. Теперможна що-небудь увести в редагує поле, що, нажати мишею на кнопку Додати тапереконатися, що вводять строки, що, додаються до списку.
 Тепер модифікуємо додаток, додавши кнопки Видалити та Вихід.Для цього додамо ще дві кнопки, змінимо їхню властивість Caption і створимооброблювачі подій, пов'язаних з натисканням на ці кнопки:
Для кнопки Видалити:
void __fastcallTForm1::Button2Click(TObject *Sender)
{
if(!(ListBox1->ItemIndex == -1))
ListBox1->Items->Delete(ListBox1->ItemIndex);
}
Для кнопки Вихід:
Close();
Збережемо та скомпілюємо додаток, а потім протестуємо його.
Отже, ми познайомилися із середовищем розробки Borland C++Builder і створили простий додаток.

Практична частина
Так як середою розробки був вибраний інструментарій C++Builder, то зрозуміло, що програма буде мати ряд особливостей, серед, яких слідвідзначити наступні: програма являє собою єдиний модуль, для спрощення розробкибув використаний лише текстовий інтерфейс, та розроблена програма має значнийоб‘єм.
У зв‘язку з останнім наведемо лише фрагмент коду головногомодуля. (загальний лістинг розробленої програми знаходиться на дискеті разом зроботою)
Лістинг. (angl.cpp)
#include
#include
#include
#include
constchar numberOfAnswer[] = "\nPress 5 for 50/50, 6 phone friend, 7 walkaway.\n\n";
constchar numberOfAnswer2[] = «Please enter the number of your choice: »;
constchar people1[] = «John»;
constchar people2[] = «Mary»;
constchar people3[] = «Paul»;
constchar people4[] = «Kathy»;
constchar people5[] = «Greg»;
constchar people6[] = «Tracy»;
constchar people7[] = «Peter»;
constchar people8[] = «Lara»;
constchar people9[] = «Jason»;
constchar people0[] = «April»;
constchar people01[] = «Jeremy»;
constchar people02[] = «Paula»;
constchar people03[] = «Chris»;
constchar people04[] = «Jennifer»;
constchar people05[] = «Steve»;
constchar goodAnswer1[] = "\n\nCorrect!\n\n";
constchar goodAnswer2[] = "\n\nGreat Job!!\n\n";
constchar goodAnswer3[] = "\n\nKeep up the good work!\n\n";
constchar goodAnswer4[] = "\n\nThat's right!!\n\n";
constchar goodAnswer5[] = "\n\nWonderful answer!!!\n\n";
constchar goodAnswer6[] = "\n\nRight!\n\n";
constchar goodAnswer7[] = "\n\nYou must have studied. That's the rightanswer!\n\n";
constchar goodAnswer8[] = "\n\nVery good!!!\n\n";
constchar goodAnswer9[] = "\n\nYou're absolutely, positivelycorrect!\n\n";
constchar goodAnswer0[] = "\n\nWow!!\n\n";
constchar goodAnswer01[] = "\n\nExcellent!\n\n";
constchar goodAnswer02[] = "\n\nFabulous!\n\n";
constchar goodAnswer03[] = "\n\nRight on!\n\n";
constchar goodAnswer04[] = "\n\nYou're a genius!\n\n";
constchar goodAnswer05[] = "\n\nSplendid!\n\n";
constchar badAnswer1[] = "\n\nI'm sorry, that's the wrong answer. :(\n\n";
constchar badAnswer2[] = "\n\nNope! That's not it!!!\n\n";
constchar badAnswer3[] = "\n\nHahaha. You call that an answer?\n\n";
constchar badAnswer4[] = "\n\nWrong.\n\n";
constchar badAnswer5[] = "\n\nI'm ashamed of you picking that wronganswer!\n\n";
constchar badAnswer6[] = "\n\nCome on! I know you're smarter than that! :(\n\n";
constchar badAnswer7[] = "\n\nMaybe you should quit.\n\n";
constchar badAnswer8[] = "\n\nWell the good news is there's another questionahead!\n\n";
constchar badAnswer9[] = "\n\nI hope you make a better choice nexttime!\n\n";
constchar badAnswer0[] = "\n\nI don't think so.\n\n";
constchar badAnswer01[] = "\n\nThat ain't it.\n\n";
constchar badAnswer02[] = "\n\nAnother wrong answer.\n\n";
constchar badAnswer03[] = "\n\nDon't do this to me! Wrong answer. :(\n\n";
constchar badAnswer04[] = "\n\nYou scare me. Wrong!\n\n";
constchar badAnswer05[] = "\n\nNo no no! Not that one.\n\n";
constchar question1[] = «What color is a dollar bill?\n»;
constchar question2[] = «If you have 3 quarters, you have...\n»;
constchar question3[] = «George Washington cut down what kind of tree?\n»;
constchar question4[] = «If A = B and B = C, then...\n»;
constchar question5[] = «Complete the phrase: Into the valley rodethe...\n»;
constchar question6[] = «Who always saved Timmy?\n»;
constchar question7[] = «Who's first gold record was Hard HeadedWoman?\n»;
constchar question8[] = «Who was author of Tom Sawyer and HuckleberryFinn?\n»;
constchar question9[] = «What was Shirley Temple's real life lastname?\n»;
constchar question0[] = «Who plays the Priest in Anne of Green Gables?\n»;
constchar question01[] = «If a Sirloin Steak is cooked rare, it is generallywhat color in the middle?\n»;
constchar question02[] = «If Coca Cola is applied to an egg shell, the shellturns what color?\n»;
constchar question03[] = «What is the sum of 30 times 30 plus 90 plus25?\n»;
constchar question04[] = «Who is the voice of Bart Simpson?\n»;
constchar question05[] = «Who was the original Clarke Kent?\n»;
intyourAnswer;
intyourAnswer1;
charyourName[128];
intcounter = 0;
intcounter2 = 0;
intcorrectAnswers = 0;
unsignedlong int score;
intwalkAway();
voidcontinueProgram();
intplayMillionaire();
intfiftyFiftyUsed;
intphoneFriendUsed;
voidanswer1();
voidanswer2();
voidanswer3();
voidanswer4();
voidanswer5();
voidanswer6();
voidanswer7();
voidanswer8();
voidanswer9();
voidanswer0();
voidanswer01();
voidanswer02();
voidanswer03();
voidanswer04();
voidanswer05();
//Beginning of 50/50 functions
voidanswer1()
{
 clrscr();// Clears the screen
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 3)
 {
 cout
 delay(3000);
 correctAnswers++;// Increases correctAnswers by one
 score= 100; // Sets score to 100
 }
 if(yourAnswer != 3)
 {
 cout
 delay(3000);
 score= 0;
 walkAway();
 }
}
voidanswer2()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 1)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 200;
 }
 if(yourAnswer != 1)
 {
 cout
 delay(3000);
 score= 0;
 walkAway();
 }
}
voidanswer3()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 2)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 300;
 }
 if(yourAnswer != 2)
 {
 cout
 delay(3000);
 score= 0;
 walkAway();
 }
}
voidanswer4()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 4)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 500;
 }
 if(yourAnswer != 3)
 {
 cout
 delay(3000);
 score= 0;
 walkAway();
 }
}
voidanswer5()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 1)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 1000;
 }
 if(yourAnswer != 1)
 {
 cout
 delay(3000);
 score= 0;
 walkAway();
 }
}
voidanswer6()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 1)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 2000;
 }
 if(yourAnswer != 1)
 {
 cout
 delay(3000);
 score= 1000;
 walkAway();
 }
}
voidanswer7()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 4)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 4000;
 }
 if(yourAnswer != 1)
 {
 cout
 delay(3000);
 score= 1000;
 walkAway();
 }
}
voidanswer8()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 2)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 8000;
 }
 if(yourAnswer != 2)
 {
 cout
 delay(3000);
 score= 1000;
 walkAway();
 }
}
voidanswer9()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 1)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 16000;
 }
 if(yourAnswer != 1)
 {
 cout
 delay(3000);
 score= 1000;
 walkAway();
 }
}
voidanswer0()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 3)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 32000;
 }
 if(yourAnswer != 3)
 {
 cout
 delay(3000);
 score= 1000;
 walkAway();
 }
}
voidanswer01()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 3)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 64000;
 }
 if(yourAnswer != 3)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 }
}
voidanswer02()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 1)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 125000;
 }
 if(yourAnswer != 1)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 }
}
voidanswer03()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 4)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 250000;
 }
 if(yourAnswer != 4)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 }
}
voidanswer04()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 2)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 500000;
 }
 if(yourAnswer != 2)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 }
}
voidanswer05()
{
 clrscr();
 cout
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 3)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 1000000;
 }
 if(yourAnswer != 3)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 }
}
//End of 50/50 functions
intwalkAway() // Decides how the program will end
{
 delay(3000);// Pauses for 3 seconds
 if(correctAnswers >= 1 && correctAnswers
 {
 cout
 cout
 cout
 }
 if(correctAnswers
 {
 cout
 score= 0;
 cout
 }
 if(correctAnswers == 15) // Executes if correctAnswers is equivalent to 10
 {
 while(counter2
 {
 counter2++;
 clrscr();
 delay(300);
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 delay(300);
 clrscr();
 delay(300);
 counter2++;// Increases counter2 by one
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 cout
 delay(300);
 clrscr();
 delay(300);
 }
 cout
 cout
 }
 cout
 cout
 return0;
}
voidcontinueProgram() // Gives user option to continue or quit
{
 delay(5000);
 clrscr();// Clears the screen
 cout
 cin>> yourName;
 delay(500);
 clrscr();
 cout
 delay(2000);
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 4)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 250000;
 }
 if(yourAnswer == 1 || yourAnswer == 2 || yourAnswer == 3)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 return0;
 }
 if(yourAnswer == 5)
 {
 if(fiftyFiftyUsed == 1)
 {
 cout
 delay(3000);
 clrscr();
 gotoloop02;
 }
 if(fiftyFiftyUsed != 1)
 {
 fiftyFiftyUsed= 1;
 answer03();
 if(yourAnswer != 4)
 {
 score= 32000;
 return0;
 }
 }
 }
 if(yourAnswer == 6)
 {
 if(phoneFriendUsed == 1)
 {
 cout
 delay(3000);
 clrscr();
 gotoloop02;
 }
 if(phoneFriendUsed != 1)
 {
 phoneFriendUsed= 1;
 delay(2000);
 cout
 delay(2000);
 cout
 cout
 cout
 cout
 delay(2000);
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 4)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 250000;
 }
 if(yourAnswer != 4)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 return0;
 }
 if(yourAnswer == 7)
 {
 score= 32000;
 walkAway();
 return0;
 }
 if(yourAnswer 7)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 return0;
 }
 }
 }
 if(yourAnswer == 7)
 {
 score= 32000;
 walkAway();
 return0;
 }
 if(yourAnswer != 1 && yourAnswer != 2 && yourAnswer != 3&& yourAnswer != 4 && yourAnswer != 5 && yourAnswer !=6 && yourAnswer != 7)
 {
 score= 32000;
 walkAway();
 return0;
 }
 clrscr();
 counter++;
 cout
 delay(2000);
 clrscr();
loop03:
 cout
 delay(3000);
 cout
 delay(1000);
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 2)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 500000;
 }
 if(yourAnswer == 1 || yourAnswer == 3 || yourAnswer == 4)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 return0;
 }
 if(yourAnswer == 5)
 {
 if(fiftyFiftyUsed == 1)
 {
 cout
 delay(3000);
 clrscr();
 gotoloop03;
 }
 if(fiftyFiftyUsed != 1)
 {
 fiftyFiftyUsed= 1;
 answer04();
 if(yourAnswer != 2)
 {
 score= 32000;
 return0;
 }
 }
 }
 if(yourAnswer == 6)
 {
 if(phoneFriendUsed == 1)
 {
 cout
 delay(3000);
 clrscr();
 gotoloop03;
 }
 if(phoneFriendUsed != 1)
 {
 phoneFriendUsed= 1;
 delay(2000);
 cout
 delay(2000);
 cout
 cout
 cout
 cout
 delay(2000);
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 2)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 500000;
 }
 if(yourAnswer != 4)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 return0;
 }
 if(yourAnswer == 7)
 {
 score= 32000;
 walkAway();
 return0;
 }
 if(yourAnswer 7)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 return0;
 }
 }
 }
 if(yourAnswer == 7)
 {
 score= 32000;
 walkAway();
 return0;
 }
 if(yourAnswer != 1 && yourAnswer != 2 && yourAnswer != 3&& yourAnswer != 4 && yourAnswer != 5 && yourAnswer !=6 && yourAnswer != 7)
 {
 score= 32000;
 walkAway();
 return0;
 }
 clrscr();
 counter++;
 cout
 delay(3000);
 clrscr();
loop04:
 cout
 delay(3000);
 cout
 delay(1000);
 cout
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 3)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 1000000;
 }
 if(yourAnswer == 1 || yourAnswer == 2 || yourAnswer == 4)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 return0;
 }
 if(yourAnswer == 5)
 {
 if(fiftyFiftyUsed == 1)
 {
 cout
 delay(3000);
 clrscr();
 gotoloop04;
 }
 if(fiftyFiftyUsed != 1)
 {
 fiftyFiftyUsed= 1;
 answer05();
 if(yourAnswer != 3)
 {
 score= 32000;
 return0;
 }
 }
 }
 if(yourAnswer == 6)
 {
 if(phoneFriendUsed == 1)
 {
 cout
 delay(3000);
 clrscr();
 gotoloop04;
 }
 if(phoneFriendUsed != 1)
 {
 phoneFriendUsed= 1;
 delay(2000);
 cout
 delay(2000);
 cout
 cout
 cout
 cout
 delay(2000);
 cout
 cout
 cin>> yourAnswer;
 if(yourAnswer == 3)
 {
 cout
 delay(3000);
 correctAnswers++;
 score= 1000000;
 }
 if(yourAnswer != 3)
 {
 cout
 delay(3000);
 score= 32000;
 walkAway();
 return0;
 return0;
 }
 }
 }
 if(yourAnswer == 7)
 {
 score= 32000;
 walkAway();
 return0;
 }
 if(yourAnswer != 1 && yourAnswer != 2 && yourAnswer != 3&& yourAnswer != 4 && yourAnswer != 5 && yourAnswer !=6 && yourAnswer != 7)
 {
 score= 32000;
 walkAway();
 return0;
 }
 walkAway();
 return0;
}
intmain()
{
 clrscr();
 cout
 cout
 cout
 cout
 cout
 continueProgram();
}

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

Висновки
Результатом нашої роботи є програма яка вчитель англійськоїмови. Дана програма має досить простий інтерфейс та алгоритмічну структуру. Вякості інструменту розробки ми взяли мову програмування C++Builder.
Саме такий вибір дозволив в значній мірі спростити процесрозробки та реалізації даного програмного продукту. Відмітимо лише, що данапрограма має простий текстовий інтерфейс управління і не потребує попередньогонавчання при роботі при роботі з собою.

Література
[1] Касаткин А.И., Вальвачев А.Н.Профессиональное прогрпммирование на языке Си. Мн., 1992. 240 С.
[2] Нейбауэр А. Моя перваяпрограмма на С/С++. П., 1995. 368 С.
[3] Бруно Бабэ. Просто и ясно оBorland C++. М., 1996. 400 С.
[4] Шамас Н.К. Основы С++ иобьектно-ориентированного программирования. К., 1996. 448 С.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Разработка научно-обоснованной технологии возделывания гороха в условиях Юкаменского района Удмуртской Республики
Реферат Функціонування та характеристика фондових бірж
Реферат Особенности проблематики одного из произведений военной прозы. (По роману Ю. Бондарева «Горячий снег»)
Реферат Право феодальной земельной собственности по Соборному Уложению 1649г
Реферат Возможность формирования устной речи у детей с нарушенным слухом в процессе их обучения в коррекционной школе I-II вида
Реферат Выявление сильных и слабых сторон организации методом стратегического SWOT-анализа
Реферат Cреда разработки visual basic
Реферат Чудо Бранденбургского дома
Реферат Eudora Welty Her Life And Her Works
Реферат Chrysalids Essay Research Paper Thesis statement There
Реферат 30. 12-07. 01 (Новогодний) Львов- прага- вюрцбург Париж(2ночи)- версаль– Диснейленд Мюнхен Вена- львов в стоимости тура: Волшебная Прага, Романтические Дороги Баварии, Изысканный Париж, Загадочный Мюнхен, Раскошная Вена и Старинный Львов …
Реферат Исследование классификационных признаков и анализа развернутого ассортимента, посуды из стекла,
Реферат Организация подтверждения соответствия продовольственных товаров сертификации по материалам органов
Реферат Environmental Apocalypse Essay Research Paper Environmental Apocalypse
Реферат Герпес-вирусная инфекция в дерматокосметологической практике