Інформаційно-довідкова система по науці і техніці Засоби пересування

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати


РЕФЕРАТ

Пояснювальна записка: 42 с., 6 мал., 1 табл.

Інформаційно-довідкова система з історії науки і техніки.

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

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

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

Досить спрощений і одночасно зручний перегляд текстового матеріалу з бази в спеціальному графічному вікні

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

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

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

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

Система допомоги, вичерпно відображає необхідні навички поводження з програмою

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

ІСТОРІЯ, РОЗРОБКИ, ВИНАХОДИ, ТЕХНІКА, ЗНАННЯ, ДОСВІД, ПОШУК, ТЕСТУВАННЯ, ТЕОРЕТІЧЕКСІЙ МАТЕРІАЛ.

ВСТУП

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

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

1. ПОСТАНОВКА ЗАВДАННЯ

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

2. АНАЛІЗ ІСНУЮЧИХ АНАЛОГІВ

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

Також необхідно враховувати і те, що переважна більшість аналогів розроблені для найбільш популярних операційних систем. Таких як Windows. Звичайно, ця ОС дає можливість створення максимально комфортного для користувача інтерфейсу, однак не у всіх користувачів є апаратна можливість комп'ютера для установки операційних систем вища MS - DOS. Не для кого не секрет, що користувачів з такими комп'ютерами зовсім небагато, але все ж про них забувати не варто ...

3. ОБГРУНТУВАННЯ ВИБОРУ МОВИ ПРОГРАМУВАННЯ

Даний курсовий проект написаний на мові Turbo Pascal версії 7.0

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

4. ОПИС І ОБГРУНТУВАННЯ ВИБОРУ МЕТОДУ РІШЕННЯ

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

Кожен пункт у меню реалізований у вигляді окремої процедури. Це дозволяє легко орієнтуватися в написаному коді і за потреби вносити необхідні корективи і зміни.

5. ОПИС І ОБГРУНТУВАННЯ ВХІДНИХ І ВИХІДНИХ СТРУКТУР

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

Strs: Array [1. .250] Of String;

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

ReadFile: Text;

Матеріал інформаційно-довідкової системи може бути визначений на розсуд користувача. Це було досягнуто шляхом створення зовнішнього текстового файлу - "base. Lks". Цей файл може бути коригуватися прямо в програмі шляхом вибору необхідного пункту в головному меню. Його структура умовно розбита на декілька пар рядків, де вищестояща рядок - тема матеріалу в інформаційній базі, а нижчестоящих - шлях до цієї теми на диску. Тобто:

"

Автомобіль

C: \ inf \ auto. Txt

Літак

C: \ inf \ plane. Txt

"

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

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

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

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

6. ОПИС АЛГОРИТМУ РІШЕННЯ ЗАДАЧІ

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

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

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

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

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

7. ОПИС ПРОГРАМНОЇ РЕАЛІЗАЦІЇ

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

Procedure Copt (i1, i2: Byte);

Процедура для зміни кольору фону та шрифту у програмі

Procedure CurVisible (Strg: string);

Застосовується для включення і виключення видимості миготливого курсору

Procedure BarInfo;

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

Procedure fMove (Opt: Byte);

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

Procedure InitFile (DealF: String);

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

Procedure iFace;

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

Procedure SearchText;

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

Procedure ShowBase;

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

Procedure AddTheme;

Додає новий матеріал в інформаційно-довідкову базу.

Procedure Testing;

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

Procedure AboutProgram;

Відображає титульний лист з інформацією про автора програми.

P rocedure UpMenu (Indeff: byte);

Процедура для реалізації робочого головного меню.

Procedure WatchPressed;

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

8. АНАЛІЗ ЕФЕКТИВНОСТІ

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

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

ВИСНОВКИ

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

у програмі був реалізований зручний графічний користувальницький інтерфейс

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

Також слід додаткові переваги: ​​це можливість поповнення бази новими довідковими матеріалами, а також можливість створення власного тестування.

Серед недоліків програми варто відзначити той факт, що програма не здатна відображати файли, що мають більше 250 рядків.

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

зробити програму більш зручною при читанні матеріалу з інформаційної бази;

зробити програму під більш сучасну операційну систему;

Список використаної літератури

  1. "Програмування в середовищі Turbo Pascal 7.0", А.І. Марченко; 1998

  2. Конспект лекцій з предмету "ВП і АЯ"

  3. Книга рекордів Гіннеса, 1998 р.

  4. "Техніка - молоді", № 7, 1988.

  5. "Американські вчені та винахідники", Мітчел Уілсон. М.: Знання, 1975.

  6. Велика енциклопедія Кирила і Мефодія, 1998.

  7. "Наука і Життя", № 2, 1987 р.

  8. Лєсков З. "Ні кравців, ні голок". Газета "Известия". Технології, 2003.

  9. "Мотор економіки США". Washington ProFile, 2004.

  10. "Коротка історія американських швидкісних магістралей". Washington ProFile, 2004.

  11. Ресурс у мережі Інтернет: http:// www. nt. ru

Додаток А

Технічне завдання на проектований програмний продукт

А.1 Загальні відомості

Повне найменування проектованої програми: "Інформаційно-довідкова система по науці і техніці. Засоби пересування ".

Програма проектується студентом першого курсу Донецького державного інституту штучного інтелекту (ДонДІШІ), факультету СКІТ, групи ПО-03в Благіревим Артемом Михайловичем.

А.2 Призначення та мета створення програми ведення.

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

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

Метою створення програми є:

інформаційно-довідкова система на задану тему;

пошук інформації по фразі або за словом;

контроль знань за допомогою тестування.

А.3 Вимоги до програми

А.3.1. Вимоги до програми в цілому

У цілому до програми пред'являються наступні вимоги:

зручний і простий для користування інтерфейс;

забезпечувати зручне введення даних.

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

зберігання інформації в зовнішньому джерелі даних;

А.3.2. Вимоги до завдань і функцій

Програма повинна реалізувати наступні функції:

зручний доступ до даних;

Пошукова служба на інформаційній базі;

висновок результатів тестування.

А.3.3. Вимоги до програмного забезпечення

Програма буде реалізована на мові Паскаль і для її роботи необхідна наявність операційної системи MS - DOS 5.0 і вище.

А.3.4. Вимоги до технічного забезпечення

Для коректної роботи програми необхідні:

IBM - сумісний ПК з процесором не нижче 80286;

VGA монітор.

А.4 Стадії розробки програми:

Таблиця А.1 - Стадії розробки програми



Етапи роботи

Термін виконання (тижня)

1.

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

1-2

2.

Складання технічного завдання

2-3

3.

Технічне проектування.

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

3-4

4.

Розробка основного алгоритму функціонування програми. Складання специфікацій модулів.

5

5.

Робоче проектування:

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

6-7

6.

Написання програми.

8-10

7.

Налагодження програми на верхньому рівні.

11-12

8.

Комплексне налагодження і тестування.

12-13

9.

Написання пояснювальної записки.

11-14

10.

Захист курсового проекту.

14-16

Додаток Б

Екранні форми

Рисунок Б.1. Заставка.

Рисунок Б.2. Головне меню програми.

Малюнок Б.3. Пошук ключової фрази в тексті

Малюнок Б.4. Вид реалізованого контролю знань

Малюнок Б.5. Вибір матеріалу в інформаційно-довідкової базі

Рисунок Б.6. Керівництво користувача

Додаток В

Керівництво користувача

Після запуску програми перед Вами з'явиться головне меню програми, яким можна скористатися натисканням клавіші Tab, а потім вибравши необхідний пункт в меню:

- Пошук в тексті

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

виведення матеріалу.

При виклику цієї функції, необхідно заповнити графу для шуканого

тексту, натиснути клавішу Enter, а потім тією ж клавішею вибрати

наступну команду - "Знайти" або "Скасувати".

- Тестування

Запустивши тест перед вами постане питання з варіантами відповідей. Необхідно вибрати потрібний варіант - натиснувши клавішу - від 1 до 3, а потім натиснути клавішу Enter, підтвердивши свою відповідь. Також можна створити своє персональне тестування з обмеженням у 20 питань, відредагувавши файл "text. Txt" за аналогією згідно з поточним тесту.

- Показати базу

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

- Заставка

Відображає реквізити.

- Додати тему

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

Навігація за відображеним файлу здійснюється клавішами - "вгору", "вниз", Home, Page Up, Page Down, End.

Додаток Д

Лістинг програми

Program InfBase;

uses Crt;

var

FirstF, SecondF: Text;

Reading: Array [1. .250] Of String;

Ch: Char;

Down, Up, SizeF, i: Integer;

WorkFile: String;

Procedure Hiding (Param: Boolean);

begin

if Param = true then

begin

asm mov ah, 01; mov cx, $ 0E0D; int $ 10; end;

end;

if Param = False then

begin

asm mov ah, 01; mov cx, $ 2000; int $ 10; end;

end;

end;

Procedure Writing;

begin

for i: = Up to Down do

begin

if i = Down then

begin

Write (Reading [i]);

Break;

end;

Writeln (Reading [i]);

end;

end;

Procedure SetFace (Txt, Bckgr: Byte);

begin

TextColor (txt);

TextBackGround (bckgr);

end;

Procedure About;

begin

Window (1,1,80,25); Hiding (False);

SetFace (White, Black); ClrScr;

GotoXY (19,2); Write ('Міністерство освіти і науки України ");

GotoXY (10,3); Write ('Донецький державний інститут штучного інтелекту');

GotoXY (25,9); Write ('К У Р С О В Й П Р О Е К Т');

GotoXY (9,11); Write ('з дисципліни: "Основи програмування та алгоритмічні мови"');

GotoXY (25,12); Write ('на тему "Засоби пересування"');

GotoXY (44,17); Write ('Виконав: студент групи ПО-03в');

GotoXY (55,18); Write ('Благірев Артем Михайлович');

TextColor (Yellow);

GotoXY (23,25); Write ('Для продовження натисніть Enter >>');

repeat until keypressed;

end;

Procedure FileStatus;

begin

Window (44,1,79,1); SetFace (Black, Cyan); ClrScr;

Write ('Кількість рядків у файлі:', Down, '/', SizeF);

Window (1,25,80,25); SetFace (7, Black);

GotoXY (1,1); Write ('Esc'); GotoXY (57,1); Write ('F1');

GotoXY (29,1); Write ('F10');

Gotoxy (47,1); Write ('F7');

Gotoxy (68,1); Write ('Alt + Q');

SetFace (Black, Cyan);

GotoXY (4,1); Write ('Інформаційний матеріал ");

GotoXY (33,1); Write ('Головне меню');

GotoXY (50,1); Write ('Пошук');

GotoXY (60,1); Write ('Допомога');

GotoXY (74,1); Write ('Вихід');

Window (1,2,80,24); SetFace (11, Blue); ClrScr;

end;

Procedure ChoiceRF; Forward;

Procedure MainMenu; FORWARD;

Procedure Test;

var

TestFile, TF: Text;

Vopros: Array [1. .10] Of String [64];

Answ: Array [1. .30] Of String;

PravAnsw: Array [1. .10] Of Integer;

StrTmp: String;

Vau, CountTrue, q, yo: Integer;

CountTest, g, a: Byte;

begin

CountTest: = 0; a: = 1; g: = 0; CountTrue: = 0;

{$ I-}

Assign (TestFile, 'Base \ test. Txt');

Assign (TF, 'Base \ test. Txt');

Reset (TF);

Reset (TestFile);

If IOResult <> 0 then

begin

Window (1,1,80,25); SetFace (Red + Blink, Black);

ClrScr; GotoXY (15,13);

Writeln ('Помилка читання файлу!');

Hiding (True);

end;

{$ I +}

While not EOF (TF) do

begin

Readln (TF);

inc (CountTest);

end;

Window (1,1,80,25); SetFace (Yellow, Black); ClrScr; Hiding (False);

GotoXY (6,3); Write ('╔ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═

Система тестування ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ╗ ');

for i: = 4 to 21 do

begin

GotoXY (6, i); Write ('║ ║');

end;

gotoxy (6,7); Write ('╟ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╢ ');

GotoXY (6,22); Write ('╚ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ╝ ');

gotoxy (8,4); SetFace (11, Black);

Write ('Вас вітає система тестування! Через кілька секунд');

gotoxy (8,5); Write ('Вам буде запропоновано питання і 3 варіанти відповіді. ");

gotoxy (8,6); Write ('Для вибору варіанта відповіді використайте клавіші 1 - 3');

GotoXY (23,11); Write ('╔');

GotoXY (23,15); Write ('╚');

for i: = 24 to 56 do

begin

GotoXY (i, 11); Write ('═');

end;

for i: = 24 to 56 do

begin

GotoXY (i, 15); Write ('═');

end;

for i: = 12 to 14 do

begin

GotoXY (23, i); Write ('║ ║');

end;

GotoXY (57,11); Write ('╗');

GotoXY (57,15); Write ('╝');

GotoXY (32,11); Write ('Варіанти відповідей');

for vau: = 1 to (CountTest div 4) do

begin

Readln (TestFile, Vopros [vau]);

for i: = 1 to 3 do

begin

Readln (TestFile, Answ [a]);

StrTmp: = Answ [a]; g: = ord (StrTmp [0]);

if StrTmp [g] = '%' then

begin

Delete (StrTmp, g-1, 3);

Answ [a]: = StrTmp;

PravAnsw [vau]: = i;

end;

inc (a);

end;

end;

q: = 0; yo: = 1;

repeat

inc (q);

Window (8,8,72,10); SetFace (White, Black); ClrScr;

GotoXY (1,1); StrTmp: = Vopros [q];

Write (StrTmp);

SetFace (Yellow, Black);

Window (25,12,55,14); SetFace (White, Black); ClrScr;

for i: = 1 to 3 do

begin

if i = 3 then

begin

Write (Answ [yo]); inc (yo);

Break;

end;

Writeln (Answ [yo]); inc (yo);

end;

repeat

Ch: = ReadKey;

if Ch = '1 'then

begin

if PravAnsw [q] = 1 then inc (CountTrue);

end;

if Ch = '2 'then

begin

if PravAnsw [q] = 2 then inc (CountTrue);

end;

if Ch = '3 'then

begin

if PravAnsw [q] = 3 then inc (CountTrue);

end;

if Ch = '4 'then

begin

if PravAnsw [q] = 4 then inc (CountTrue);

end;

until (Ch = '1 ') or (Ch = '2') or (Ch = '3 ') or (Ch = # 27);

until (Ch = # 27) or (q = CountTest div 4);

if (q = CountTest div 4) then

begin

Window (9, 20,74,22);

SetFace (White, Black); Write ('Кількість набраних балів:', CountTrue, '. Результат -');

GotoXY (45,1); TextColor (Red);

if (CountTrue = 0) then

Write ('No Comments!');

if (CountTrue = 1) or (CountTrue = 2) then

Write ('Незадовільно');

if (CountTrue = 3) or (CountTrue = 4) or (CountTrue = 5) then

Write ('ЗАДОВІЛЬНО');

if (CountTrue = 6) or (CountTrue = 7) or (CountTrue = 8) then

Write ('ХОРОШИЙ');

if (CountTrue = 9) or (CountTrue = 10) then

Write ('ВІДМІННИЙ');

Ch: = ReadKey;

MainMenu;

end

else

begin

MainMenu;

end;

end;

Procedure SetFile; Forward;

Procedure Viewing; Forward;

Procedure HotKeysView; Forward;

Procedure MainMenu;

var

Stop: Integer;

MenuPoints: Array [1. .5] Of String;

begin

MenuPoints [1]: = 'Інформаційний матеріал ";

MenuPoints [2]: = 'Заставка';

MenuPoints [3]: = 'Тестування';

MenuPoints [4]: = 'Керівництво користувача';

MenuPoints [5]: = 'Вихід';

Stop: = 1;

{------------------------------------------}

Window (1,1,80,25); SetFace (Black, Black); ClrScr;

GotoXY (1,25); TextBackground (7); insline;

Hiding (false);

Window (20,8,60,16); SetFace (White, Cyan); ClrScr;

GotoXY (4,2); Write ('╔ ═ ═ ═ ═ ═ ═ ═ ═ ═ Головне меню ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ╗');

for i: = 3 to 7 do

begin

GotoXY (4, i);

Write ('║ ║');

end;

GotoXY (4,8); Write ('╚ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ╝');

{------------- - Малюємо тінь головного меню - ---------------}

Window (1,1,80,25); SetFace (8,5);

GotoXY (61,9); Write ('█ █');

for i: = 10 to 17 do

begin

GotoXY (61, i); Write ('█ █');

end;

for i: = 22 to 61 do

begin

GotoXY (i, 17); Write ('█ █');

end;

{------------ - Закінчили промальовування - ---------------------}

Window (25,10,56,14); SetFace (White, Cyan);

repeat

for i: = 1 to 5 do

begin

GotoXY (1, i); Write (MenuPoints [i]);

end;

SetFace (White, Black); GotoXY (1, Stop); Write (MenuPoints [Stop]);

Ch: = ReadKey;

if Ch = # 80 then

begin

if Stop <5 then inc (Stop);

end;

if Ch = # 72 then

begin

if Stop> 1 then dec (Stop);

end;

if Ch = # 13 then

begin

if Stop = 1 then

begin

Window (1,2,80,24); SetFace (White, Black);

ClrScr; Hiding (False); Ch: = # 27;

ChoiceRF;

end;

if Stop = 2 then

begin

Window (1,2,80,24); SetFace (White, Black);

ClrScr; Hiding (False); Ch: = # 27;

About;

end;

if Stop = 3 then

begin

Test;

end;

if Stop = 4 then

begin

WorkFile: = 'Base \ help. txt '; SetFile;

Viewing; HotKeysView;

end;

if Stop = 5 then

begin

Window (1,1,80,25); SetFace (White, Black);

Hiding (True); ClrScr; Halt (1);

end;

end;

if Ch = # 27 then

begin

Window (1,1,80,25); SetFace (White, Black);

Hiding (True); ClrScr; Halt (1);

end;

SetFace (White, Cyan);

until (Ch = # 27) or (Ch = # 13);

end;

Procedure SetFile;

begin

SizeF: = 0;

{$ I-}

Assign (FirstF, WorkFile);

Assign (SecondF, WorkFile);

Reset (FirstF);

Reset (SecondF);

{$ I +}

If IOResult <> 0 then

begin

Window (1,1,80,25); SetFace (Red + Blink, Black);

ClrScr; GotoXY (29,6);

Writeln ('Помилка читання файлу!');

Hiding (True);

end;

While not EOF (SecondF) do

begin

Readln (SecondF);

inc (SizeF);

end;

for i: = 1 to SizeF do

begin

Readln (FirstF, Reading [i]);

end;

Close (FirstF);

Close (SecondF);

end;

Procedure Viewing;

begin

Window (1,1,80,25); SetFace (Black, Cyan); Hiding (False);

GotoXY (1,1); Insline; GotoXY (2,1); Write (WorkFile);

GotoXY (1,25); Insline;

Window (1,2,80,24); SetFace (11, Blue); ClrScr; FileStatus;

Writing;

end;

Procedure ChoiceRF;

var

Choice, Yorik,

yoyo, duhast, will: Integer;

ConfF1, ConfF2: Text;

Themes: Array [1. .25] Of String [37];

Paths: Array [1. .25] Of String;

StrTmp: String;

begin

Yorik: = 0; Choice: = 1; DuHast: = 9; Will: = 1; Up: = 1; Down: = 23;

{------------------------------------------}

Window (1,1,80,25); SetFace (Black, Black); ClrScr;

Window (17,6,63,18); SetFace (White, Cyan); ClrScr;

GotoXY (4,2); Write ('╔ ═ ═ ═ ═ ═ ═ ═ Інформаційний матеріал ═ ═ ═ ═ ═ ═ ═ ╗');

for i: = 3 to 11 do

begin

GotoXY (4, i);

Write ('║ ║');

end;

GotoXY (4,12); Write ('╚ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ╝ ');

{------------- - Малюємо тінь головного меню - ---------------}

Window (1,2,80,24); SetFace (8,5);

GotoXY (64,6); Write ('█ █');

for i: = 7 to 18 do

begin

GotoXY (64, i); Write ('█ █');

end;

for i: = 19 to 64 do

begin

GotoXY (i, 18); Write ('█ █');

end;

{------------ - Закінчили промальовування - ---------------------}

{$ I-}

Assign (ConfF1, 'Base \ List. Txt');

Assign (ConfF2, 'Base \ List. Txt');

Reset (ConfF1);

Reset (ConfF2);

{$ I +}

If IOResult <> 0 then

begin

Window (1,1,80,25); SetFace (Red + Blink, Black);

ClrScr; GotoXY (15,13);

Writeln ('Помилка читання файлу!');

Hiding (True);

end;

While not EOF (ConfF2) do

begin

Readln (ConfF2);

inc (Yorik);

end;

for i: = 1 to Yorik do

begin

Readln (ConfF1, StrTmp);

for yoyo: = 1 to ord (StrTmp [0]) do

begin

Ch: = StrTmp [yoyo];

if Ch = ';' then

begin

Themes [i]: = Copy (StrTmp, 1, yoyo-1);

Paths [i]: = Copy (StrTmp, yoyo +1, ord (StrTmp [0]));

StrTmp: ='';

end;

end;

end;

Close (ConfF1);

Close (ConfF2);

{------------------------------------------------- ---------}

Window (22,8,58,16); SetFace (White, Cyan); Hiding (False); ClrScr;

repeat

ClrScr;

for i: = Will to DuHast do

begin

if i <= Yorik then

begin

if i = DuHast then

begin

Write (Themes [i]); Break;

end;

Writeln (Themes [i]);

end;

end;

if Will> DuHast-Will then

begin

SetFace (White, Blue); GotoXY (1, Choice-Will +1);

Write (Themes [Choice]);

end

else

begin

SetFace (White, Blue); GotoXY (1, Choice);

Write (Themes [Choice]);

end;

Ch: = ReadKey;

if Ch = # 80 then

begin

if Choice <Yorik then

begin

inc (Choice);

end;

if Choice> DuHast then

begin

inc (Will, 9); inc (DuHast, 9);

end;

end;

if Ch = # 72 then

begin

if Choice> 1 then

begin

dec (Choice);

end;

if Choice <Will then

begin

dec (Will, 9); dec (DuHast, 9);

end;

end;

if Ch = # 13 then

begin

WorkFile: = Paths [Choice]; SetFile;

Viewing; HotKeysView;

end;

if Ch = # 27 then

begin

Window (1,1,80,25); ClrScr;

MainMenu;

end;

SetFace (White, Cyan);

until (Ch = # 13) or (Ch = # 27);

end;

Procedure Navigation (param: Byte);

begin

if Param = 80 then {Вниз}

begin

if Down <> SizeF then

begin

inc (Up);

inc (Down);

FileStatus; Writing;

end;

end;

if Param = 72 then {початок}

begin

if (Up> 1) then

begin

dec (Up);

dec (Down);

FileStatus; Writing;

end;

if Up = 1 then

begin

Up: = 1; Down: = 23;

FileStatus; Writing;

end;

end;

if Param = 71 then {Home}

begin

Up: = 1;

Down: = 23;

FileStatus; Writing;

end;

if Param = 79 then {End}

begin

Up: = SizeF-23;

Down: = SizeF;

FileStatus; Writing;

end;

end;

Procedure Finding;

var

FindStr, FromReading: String;

Menu: Array [1. .2] Of String;

F_Symb, F_Str: Array [1. . 20] of Integer;

Position, k, fine: Integer;

Flag: Boolean;

OB, Choice: Byte;

begin

Menu [1]: = '[Знайти!]';

Menu [2]: = '[Скасувати]';

Position: = 0; k: = 0; OB: = 0;

Window (18,9,62,14); SetFace (Black, 3); ClrScr;

GotoXY (4,2); Write ('╔ ═ ═ ═ ═ ═ ═ ═ ═ Пошук заданої фрази ═ ═ ═ ═ ═ ═ ═ ╗');

GotoXY (4,3); Write ('║ ║');

GotoXY (4,4); Write ('║ ║');

GotoXY (4,5); Write ('╚ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ╝' );

Hiding (False); SetFace (Black, Cyan);

GotoXY (31,3); Write (Menu [1]);

GotoXY (31,4); Write (Menu [2]);

Repeat

Window (23,11,45,11); SetFace (Green, White); ClrScr;

Hiding (True);

GotoXY (1,1);

Readln (FindStr);

if ord (FindStr [0])> 22 then

begin

Window (23,12,45,12); SetFace (Red, Cyan);

Write ('помилка введення!');

Hiding (False);

repeat until Keypressed;

ClrScr; FindStr: ='';

end;

Until (ord (FindStr [0]) <22);

GotoXY (1,1); Write (FindStr);

Window (48,11,58,12); Choice: = 1;

Repeat

SetFace (Black, Cyan); ClrScr;

Hiding (False);

GotoXY (1,1); Write (Menu [1]);

GotoXY (1,2); Write (Menu [2]);

SetFace (Black, Yellow); GotoXY (1, Choice); Write (Menu [Choice]);

Ch: = ReadKey;

if Ch = # 80 then

begin

if Choice = 1 then inc (Choice);

end;

if Ch = # 72 then

begin

if Choice = 2 then dec (Choice);

end;

if Ch = # 13 then

begin

if Choice = 2 then

begin

Flag: = False;

end;

if Choice = 1 then

begin

Flag: = True;

end;

end;

Until Ch = # 13;

{----------- - Реалізація пошуку - ------------}

for i: = 1 to SizeF do

begin

inc (Position);

FromReading: = Reading [i];

OB: = Pos (FindStr, FromReading);

if OB> 0 then

begin

Inc (k); F_Symb [k]: = OB;

F_Str [k]: = Position; i: = F_Str [k];

end;

end;

if (k = 0) and (Flag = True) then

begin

Window (25,12,56,17);

SetFace (white, red); ClrScr;

Gotoxy (4,2); Write ('╔ ═ Пошук заданої фрази ═ ╗');

Gotoxy (4,3); Write ('║ Такий фрази не знайдено ║');

Gotoxy (4,4); Write ('║ ║');

Gotoxy (4,5); Write ('╚ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ╝');

Gotoxy (15,4); SetFace (Black, 7); Write ('ОК');

Readln; Viewing;

end;

if (k> 0) and (Flag = True) then

begin

fine: = k;

for k: = 1 to fine do

begin

Up: = F_Str [k]; Down: = F_Str [k] +22;

Window (1,2,80,25); ClrScr; Viewing;

GotoXY (F_Symb [k], 1); SetFace (11, Red);

for i: = F_Symb [k] to ord (FindStr [0]) - F_Symb [k] do

begin

Write ('');

end;

GotoXY (F_Symb [k], 1); Write (FindStr);

SetFace (11,1);

repeat

Ch: = ReadKey;

case Ch of

# 27: k: = fine;

end;

until (Ch = # 27) or (Ch = # 13);

if k = fine then

begin

Viewing;

Window (25,13,56,18); SetFace (white, red); ClrScr;

GotoXY (4,2); Write ('╔ ═ Пошук заданої фрази ═ ╗');

GotoXY (4,3); Write ('║ Пошук закінчений ║');

GotoXY (4,4); Write ('║ ║');

GotoXY (4,5); Write ('╚ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ╝');

GotoXY (15,4); SetFace (Black, 7); Write ('ОК');

repeat

Ch: = ReadKey;

if Ch = # 13 then

begin

Window (1,2,80,25);

SetFace (White, Black); ClrScr;

Viewing;

end;

until Ch = # 13;

end;

end;

end;

if Flag = False then

begin

Window (1,2,80,24); ClrScr;

Viewing;

end;

end;

Procedure HotKeysView;

begin

repeat

Ch: = ReadKey;

if Ch = # 80 then Navigation (80);

if Ch = # 72 then Navigation (72);

if Ch = # 71 then Navigation (71);

if Ch = # +79 then Navigation (79);

if Ch = # 27 then ChoiceRF;

if Ch = # 68 then MainMenu;

if Ch = # 16 then

begin

Window (1,1,80,25); SetFace (White, Black); ClrScr;

Hiding (True);

Halt (1);

end;

if Ch = # 59 then

begin

WorkFile: = 'Base \ help. txt '; SetFile;

Viewing; HotKeysView;

end;

if Ch = # 65 then Finding;

until Ch = # 27;

end;

begin

Up: = 1; Down: = 23;

MainMenu;

repeat until KeyPressed;

end.

Додаток Е

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

Засоби пересування. \ Base \ Inf \ auto. Txt

<Автомобілі>

Засоби пересування стали грати в нашому житті дуже важливу роль,

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

АВТОМОБІЛЬ, транспортний засіб, з'явилося одночасно з паровою машиною. Перші А. стали будуватися у 2-й пол. XVIII ст. в Англії, але розвиток А. отримали після винаходу малих двигунів (бензинових, гасових і електричних) і каучукових шин. У 1845 був винайдений каучук і незабаром шини. Пізніше в 1860 Ленуар винайшов газовий двигун.

Безперервний ряд удосконалень, осіб, з 1890-х рр. дав Автомобілю широке поширення.

Автомобіль - колісна машина для перевезення пасажирів, вантажів або спеціального обладнання безрейковими дорогами, що приводиться в рух власним двигуном. У залежності від призначення автомобілі можна підрозділити на:

1.1. Пасажирські (автобуси і легкові)

2.1. Вантажні

3.1. Спеціальні (пожежні, комунальні, авто-крани, авто-майстерні та ін)

По прохідності автомобілі діляться на:

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

2.2. Високої прохідності - пристосовані для руху у важких дорожніх умовах і по бездоріжжю.

Автомобіль складається з шасі і кузова. Шасі включає в себе:

1.3. Автомобільний двигун - є джерелом механічної енергії, необхідної для руху.

2.3. Трансмісія - служить для передачі обертального моменту від валу двигуна до провідних колесам автомобіля.

3.3. Ходова частина - візок на якій встановлені всі механізми і кузов автомобіля.

4.3. Рульове управління, гальмо - механізми управління.

<Автобус>

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

> У Міських автобусах - кількість пасажирів коливається від 12 до 30 осіб. Зазвичай вони невеликих розмірів, і як правило з меншим рівнем комфортабельності в порівнянні зі спеціальними та міжміськими.

Приклад міських автобусів:

Богдан А 091

ЛАЗ 695Н

ГАЗ 32213 Газель і ін

> Міжміські автобуси призначені для перевезення пасажирів від 30 до 90 осіб на порівняно великі відстані. Вони бувають 2-х видів:

1. Одноповерхові до 55 осіб

2. Полутороетажие до 60 осіб

3. Двоповерхові до 90 осіб з високим рівнем комфортабельності.

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

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

Приклад міжміських автобусів:

MAN Aysberg

Mercedes C457

Ikarus 365-10

> До спеціальних автобусів відносять службові, санітарні, військові та ін

<Автомобіль високої прохідності - позашляховик, джип>

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

1. Зменшити опір руху автомобіля на дорогах без твердого покриття

2. Збільшити силу тяги на колесах

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

Основними заходами, що підвищують прохідність автомобіля, є застосування:

1.1. Гусеничного рушія замість задніх коліс (напівгусеничний автомобіль)

1.2. Збільшення загальної кількості осей до 3 або 4-ох

1.3. Збільшення числа провідних осей

1.4. Введення в силову передачу додаткових коробок

1.5. Застосування шин широкого профілю зі спеціальним (глибоким) малюнком протектора

1.6. Збільшення просвітів тиску і кутів переднього і заднього в'їздів

1.7. Зменшення радіуса поздовжньої прохідності

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

Приклад колісних 2-х вісних позашляховиків:

Hammer H-2

Toyota Land Cruiser Prado

Mitsubishi Pajero

Nissan Patrol

Hammer H-2

Виробництво США, розроблений в 1967р спеціально для військових сил.

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

Додаток Ж

Приклад текстового документа для контролю знань

1. Який позашляховик володіє найбільшою прохідністю?

> Hammer H2%

> Land Rover Freelander

> Ford Explorer

2. Який літак найбільший у світі?

> Мр i я%

> Ан - 124 Руслан

> Боїнг - 747

3. У якому році перестали робити Автожири?

> 1932

> 1936

> 1954%

4. Навіщо підводному човні перископ?

> Для спостереження%

> Для боротьби зі злом

> Для руху

5. Коли вперше на машину встановили реактивний двигун?

> 1968

> 1986

> 1972%

6. Який російський конструктор розробляв реактивний двигун?

> Яковлєв

> Корольов%

> Камов

7. Яка система вертолітних площин є самою надійною?

> Поздовжня%

> Поперечна

> Такої системи немає

8. У якого пароплава найбільше водотоннажність?

> Титанік

> Санта-Марія%

> Сєдов

9. Яка глибина є критичною для підводний човнів?

> 900 м

> 1 200 м%

> 1000 м

10. Максимальна висота підйому стратостата?

> 28 000 км%

> 49 000 км

> 37 000 км


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
97.5кб. | скачати


Схожі роботи:
Інформаційно довідкова система
Інформаційно-довідкова система 2
Інформаційно-довідкова система Пристрій персонального комп`ютера
Інформаційно довідкова система Пристрій персонального комп`ютера
Жінки в науці та техніці
До питання про пріоритети в науці і техніці В В Петров і електрична дуга
Торгові шляхи і засоби пересування на Русі в XVI столітті
Засоби пересування використовувані в туристському обслуговуванні Аналіз ринку транспортних засобів
Довідкова система по кримінальному праву
© Усі права захищені
написати до нас