Гнучка спеціалізована система генерації тестових завдань

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    1,65 Мб
  • Опубликовано:
    2012-10-22
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Гнучка спеціалізована система генерації тестових завдань

Міністерство освіти та науки України

Криворізький інститут

Кременчуцького університету економіки, інформаційних технологій та управління

Кафедра Технічної кібернетики




ДИПЛОМНА РОБОТА

зі спеціальності “Гнучкі комп’ютеризовані системи та робототехніка“

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

Студента групи ГКС-04-д

Колобаєва Єгора Сергійовича

Керівник роботи доц., к.т.н.

Старіков Олексій Миколайович




Кривий Ріг 2009

АНОТАЦІЯ

Метою дипломної роботи є розробка гнучкої спеціалізованої системи генерації тестових завдань. Генерація тестових завдань відбувається на основі запропонованої параметричної моделі з використанням зовнішніх компіляторів мов програмування Pascal і Borland C++. Розроблена система реалізована в середовищі Delphi, база даних представлена у форматі mdb.

Розділів 6, схем та малюнків 25, таблиць 7, бібліографічних посилань 30, загальний обсяг - 99.

ЗМІСТ

ВСТУП

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

.1 Найменування та галузь застосування

.2 Підстава для створення

.3 Характеристика розробленого програмного забезпечення

.4 Мета й призначення

.5 Загальні вимоги до розробки

.6 Джерела розробки

. ДОСЛІДЖЕННЯ ТЕОРЕТИЧНИХ АСПЕКТІВ ПРОЕКТУВАННЯ СИСТЕМ ТЕСТУВАННЯ

.1 Тестологія як наука та основні її положення

.2 Вимоги до діагностичних тестів

.3 Основні форми і види тестів

.4 Складання тестів і визначення їх області змісту

.5 Принципи побудови автоматизованих систем контролю знань

.6 Системи контролю знань в умовах Болонського процесу

. СЕРЕДОВИЩЕ DELPHІ ЯК ЗАСІБ РОЗРОБКИ ГНУЧКИХ КОМП’ЮТЕРИЗОВАНИХ СИСТЕМ

.1 Загальні характеристики середовища Delphi

.2 Високопродуктивний компілятор у машинний код

.3 Delphі як об’єктно-орієнтована мова

.4 Основні концепції створення додатків у середовищі Wіndows

.5 Особливості написання програм у середовищі Delphі

.6 Огляд палітри компонентів

.7 Вікно форми

.8 Вікно дерева об'єктів

.9 Вікно інспектора об'єктів

.10 Вікно коду програми

.11. Типи змінних

.11.1 Цілочисельний тип

.11.2 Дійсний тип

.11.3 Символьний тип

.11.4 Строковий тип

.11.5 Булевий тип

. ПРОГРАМНА РЕАЛІЗАЦІЯ ГНУЧКОЇ СИСТЕМИ ГЕНЕРАЦІЇ ТЕСТОВИХ ЗАВДАНЬ

.1 Технічна характеристика та загальні принципи побудови системи

.2 Розробка логіко-функціональної схеми системи

.3 Опис інтерфейсу користувача системи

.4 Програмна реалізація системи

. ЕКОНОМІЧНЕ ОБҐРУНТУВАННЯ ДОЦІЛЬНОСТІ РОЗРОБКИ ПРОГРАМНОГО ПРОДУКТУ

.1 Організаційно-економічна частина

.2 Економічне обґрунтування необхідності розробки

. ОХОРОНА ПРАЦІ

.1 Аналіз небезпечних і шкідливих факторів на робочому місці

.2 Заходи щодо нормалізації шкідливих і небезпечних факторів

.3 Пожежна безпека

ВИСНОВКИ

СПИСОК ЛІТЕРАТУРИ

ДОДАТКИ

ВСТУП


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

Існують три основні сфери застосування тестування:

) освіта - у зв'язку із збільшенням тривалості навчання і ускладненням учбових програм;

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

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

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

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

В даному випадку використовуються зовнішні компілятори мов програмування Pascal і Borland C++. Проте, запропонована ідея дозволяє розширити функціональність системи і генерувати тестові завдання з використанням компіляторів інших мов програмування.

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

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

 

.1 Найменування та галузь застосування


Найменування програмного продукту: „Гнучка спеціалізована система генерації тестових завдань”. Розроблений в процесі виконання дипломної роботи програмний продукт може бути застосований в навчальному процесі для студентів спеціальності „Гнучкі комп’ютеризовані системи та робототехніка” при викладанні дисциплін „Алгоритмічні мови та програмування” та „Об’єктно-орієнтоване програмування”.

1.2 Підстава для створення


Підставою для розробки є наказ № 62С-01 від 29 жовтня 2008 р. по Криворізькому інституту КУЕІТУ.

Початок робіт: 31.10.08. Закінчення робіт: 01.06.09.

1.3 Характеристика розробленого програмного забезпечення


Розроблена система реалізована в середовищі Delphi, база даних представлена у форматі mdb. До складу системи входять:

·        test.exe - виконавчий файл системи

·        tpc.exe - компілятор Turbo Pascal

·        bcc.exe - компілятор Borland C++

·        Файли - шаблони MS Word, що містять бланки тестових завдань.

·        help.hlp - довідковий файл системи

1.4 Мета й призначення


Метою дипломної роботи є дослідження та програмна реалізація запропонованої моделі параметричних тестів. В даному випадку використовуються зовнішні компілятори мов програмування Pascal і Borland C++. Проте, запропонована ідея дозволяє розширити функціональність системи і генерувати тестові завдання з використанням компіляторів інших мов програмування. Призначенням розробки є автоматична генерація тестових завдань з дисциплін „Алгоритмічні мови та програмування” та „Об’єктно-орієнтоване програмування”.

 

.5 Загальні вимоги до розробки


Вимоги до програмного забезпечення:

·        Робота в середовищі операційних систем Windows 2000/XP;

·        Простота й зрозумілість інтерфейсу.

Мінімальні вимоги до апаратного забезпечення:

·        IBM-сумісний комп'ютер, не нижче Pentium IІ, RAM-128Mb, SVGA-800*600*16bit;

·        Вільний простір на жорсткому диску не менш 2 Мб.

 

1.6 Джерела розробки


Джерелами розробки дипломної роботи є:

·        довідкова література;

·        наукова література;

·        технічна література;

·        програмна документація.

2. ДОСЛІДЖЕННЯ ТЕОРЕТИЧНИХ АСПЕКТІВ ПРОЕКТУВАННЯ СИСТЕМ ТЕСТУВАННЯ


2.1 Тестологія як наука та основні її положення


Тестування (від англ. test - досвід, проба) - метод психологічної діагностики, що використовує стандартизовані питання і завдання (тести), що мають певну шкалу значень. Застосовується для стандартизованого вимірювання індивідуальних відмінностей.

Існують три основні сфери застосування тестування:

а) освіта - у зв'язку із збільшенням тривалості навчання і ускладненням учбових програм;

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

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

Процес тестування може бути роздільний на три етапи:

) вибір тесту (визначається метою тестування і мірою достовірності і надійності тесту);

) його проведення (визначається інструкцією до тесту);

) інтерпретація результатів (визначається системою теоретичних допущень щодо предмету тестування).

На всіх трьох етапах необхідна участь кваліфікованого психолога.

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

завдання закритої форми, ЗЗФ (multiple-choice item) (ТМВ - тест множинного вибору, завдання з вибором вірної/вірних відповіді/відповідей, виборчі тести - приведені найменування є термінами-дублетами основного);

завдання відкритої форми, ЗВФ (free response item, recall-tupe ts.) (відкриті завдання, завдання на доповнення, завдання з вільно конструйованою відповіддю, тест по методиці доповнення, методика відновлення, клоуз-тест - перелік дублетних найменувань);

завдання на встановлення відповідності, ЗВВ (matching item) (завдання на відповідність, тест перехресного вибору);

завдання на встановлення правильної послідовності, ЗВПП (тест на систематизацію, тест на угрупування).

Сукупність загальних вимог до тестових завдань:

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

кожне завдання має еталон правильної відповіді;

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

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

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

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

До характеристик тестових завдань відносяться:

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

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

2.2 Вимоги до діагностичних тестів


Виділяють п'ять загальних вимог до тестів контролю знань:

·        валідність;

·        визначеність (загальнозрозумілість);

·        простота;

·        однозначність;

·        надійність.

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

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

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

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

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

2.3 Основні форми і види тестів


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

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

В даний час найбільшого поширення набули наступні форми тестових завдань:

·        закрита, така, що припускає вибір одного або правильніших варіантів відповідей з числа запропонованих;

·        форма на встановлення відповідності між двома запропонованими множинами;

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

·        форма на встановлення правильної послідовності.

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

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

2.4 Складання тестів і визначення їх області змісту

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

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

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

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

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

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

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

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

) створити завдання і провести їх аналіз експертами для оцінки конгруентності області змісту і цілям тестування;

) провести пробне тестування і проаналізувати його результати;

) вибрати стандарти оцінювання;

) оцінити надійність і валідність тесту;

)кінцеве доопрацювання тесту і його паралельних форм.

 

.5 Принципи побудови автоматизованих систем контролю знань


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

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

. Перехід від індивідуального організації тесту до колегіальної експертної підготовки всіх його етапів, що збільшить довіру кінцевих користувачів до АСКЗ і підвищить валідність результатів тестування.

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

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

. Перехід від характерного для сучасних АСКЗ використання програмно реалізованих алгоритмів прямого тестування (при якому вибір чергового завдання практично не залежить від відповідей на попередні питання) до їх модульного конструювання при підготовці тесту, а також до побудови алгоритмів адаптивного тестування, що обумовлюють вибір чергового i-го завдання відповідями на попередніх (i-1)-м, (i-2) -м, ... кроках тесту. Реалізація цього принципу дозволить формалізувати широко вживані в педагогічній практиці методики додаткових, навідних і уточнюючих питань.

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

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

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

Практичне здійснення пропонованих принципів дозволяє говорити про створення нового класу систем тестування - Інтелектуальних автоматизованих систем контролю знань (ІАСКЗ).

2.6 Системи контролю знань в умовах Болонського процесу


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

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

Головні цілі Болонского процесу: (1998/99 - 2010). Створення системи чітких і зіставних кваліфікацій (зокрема, за рахунок введення додатків до дипломів - Diploma Supplement):

зростання зайнятості європейських громадян;

підвищення міжнародної конкурентоздатності європейської освіти.. Реформа систем вищої освіти:

перехід на 2-х рівневу систему підготовки: бакалавр і магістр;

доступ до другого циклу вимагає успішного завершення першого (тривалість не менш 3-х років).. Введення системи кредитних одиниць:

по типу європейської системи залікового перекладу ECTS;

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

студентів;

викладачів;

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

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

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

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

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

В Україні, як і в інших розвинених країнах світу, вища освіта визнана однією з провідних галузей розвитку суспільства. Стратегічні напрямки розвитку вищої освіти визначені Конституцією України, Законами України “Про освіту”, “Про вищу освіту”, Національною доктриною розвитку освіти, указами Президента України, постановами Кабінету Міністрів України.

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

Пріоритетними напрямами державної політики щодо розвитку вищої освіти є:

·        особистісна орієнтація вищої освіти;

·        формування національних і загальнолюдських цінностей;

·        створення для громадян рівних можливостей у здобутті вищої освіти;

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

·        запровадження освітніх інновацій та інформаційних технологій;

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

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

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

·        інтеграція вітчизняної вищої освіти до європейського та світового освітніх просторів.

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

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

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

·        інтересам особи та потреби кожної людини і держави в цілому;

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

·        піднесення вищої освіти України до рівня вищої освіти в розвинутих країнах світу та її інтеграція у міжнародне науково-освітнє співтовариство.

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

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

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

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

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

 

3. СЕРЕДОВИЩЕ DELPHІ ЯК ЗАСІБ РОЗРОБКИ ГНУЧКИХ КОМП’ЮТЕРИЗОВАНИХ СИСТЕМ

 

.1 Загальні характеристики середовища Delphi


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

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

Пакет Delphі - продовження лінії компіляторів мови Pascal корпорації Borland. Pascal як мова дуже проста, а строгий контроль типів даних сприяє ранньому виявленню помилок і дозволяє швидко створювати надійні й ефективні програми. Корпорація Borland постійно збагачувала мову. Колись у версію 4.0 були включені засоби роздільної трансляції, пізніше, починаючи з версії 5.5, з'явилися об'єкти, а до складу шостої версії пакета ввійшла повноцінна бібліотека класів Turbo Vіsіon, що реалізує віконну систему в текстовому режимі роботи відеоадаптера. Це був один з перших продуктів, який мав інтегровану середу розробки програм.

У класі інструментальних засобів для починаючих програмістів продуктам компанії Borland довелося конкурувати із середою Vіsual Basіc корпорації Mіcrosoft, де питання інтеграції й зручності роботи були вирішені краще. Коли на початку 70-х років Н. Вірт опублікував повідомлення про Pascal, це була компактна, з невеликою кількістю основних понять і зарезервованих слів мова програмування, націлена на навчання студентів. Мова, на якій працюватимуть майбутні користувачі Delphі, відрізняється від вихідної не тільки наявністю безлічі нових понять і конструкцій, але й ідейно: у ній замість мінімізації числа понять і використання найпростіших конструкцій (що, безумовно, добре для навчання, але не завжди виправдано в практичній роботі), перевага віддається зручності роботи професійного користувача. Як мову Turbo Pascal природно порівнювати з її найближчими конкурентами - численними варіаціями на тему мови Basіc (у першу чергу з Vіsual Basіc корпорації Mіcrosoft) і з C++. Я вважаю, що Turbo Pascal істотно перевершує Basіc за рахунок повноцінного об'єктного підходу, що включає в себе розвинені механізми інкапсуляції, спадкування й поліморфізм. Остання версія мови, застосовувана в Delphі, по своїх можливостях наближається до C++. З основних механізмів, властивих C++, відсутнє тільки множинне спадкування. (Втім, цим гарним і потужним механізмом породження нових класів користується лише невелика частина програмістів, що пишуть на С++.) Плюси застосування мови Pascal очевидні: з одного боку, на відміну від Vіsual Basіc, заснованого на інтерпретації проміжного коду, для нього є компілятор, що генерує машинний код, що дозволяє одержувати значно більше швидкі програми. З іншого боку - на відміну від C++ синтаксис мови Pascal сприяє побудові дуже швидких компіляторів.

Середа програмування нагадує пакет Vіsual Basіc. У вашому розпорядженні кілька окремих вікон: меню й інструментальні панелі, Object Іnspector (у якому можна бачити властивості об'єкта й пов'язані з ним події), вікна візуального побудовника інтерфейсів (Vіsual User Іnterface Buіlder), Object Browser (що дозволяє вивчати ієрархію класів і переглядати списки їхніх полів, методів і властивостей), вікна керування проектом (Project Manager) і редактори.і містить повноцінний текстовий редактор типу Brіef, призначення клавіш у якому відповідають прийнятим в Wіndows стандартам, а глибина ієрархії операцій Undo необмежена. Як це стало вже обов'язковим, реалізоване колірне виділення різних лексичних елементів програми. Процес побудови додатка досить простий. Потрібно вибрати форму (у поняття форми входять звичайні, діалогові, батьківські й дочірні вікна MDІ), задати її властивості й включити в неї необхідні компоненти (видимі й, якщо знадобиться, невідображувані): меню, інструментальні панелі, рядок стану й т.п. , задати їх властивості й далі написати (за допомогою редактора вихідного коду) оброблювачі подій. Object Browser Вікна типу Object Browser стали невід'ємною частиною систем програмування на об’єктно-орієнтованих мовах. Робота з ними стає можливої відразу після того, як ви скомпілювали додаток.сt Manager - це окреме вікно, де перераховуються модулі й форми, що становлять проект. При кожному модулі вказується маршрут до каталогу, у якому перебуває вихідний текст. Жирним шрифтом виділяються змінені, але ще не збережені частини проекту. У верхній частині вікна є набір кнопок: додати, видалити, показати вихідний текст, показати форму, задати опції й синхронізувати вміст вікна з текстом файлу проекту, тобто з головною програмою мовою Pascal.

Опції, включаючи режими компіляції, задаються для всього проекту в цілому. Щодо цього традиційні make-файли, використовувані в компіляторах мови C, значно більше гнучкі.іsual Component Lіbrary (VCL) Багатство палітри об'єктів для побудови користувальницького інтерфейсу - один із ключових факторів при виборі інструмента візуального програмування. При цьому для користувача має значення як число елементів, включених безпосередньо в середу, так і доступність елементів відповідного формату на ринку.

 

3.2 Високопродуктивний компілятор у машинний код


Компілятори мови Pascal компанії Borland ніколи не змушували користувача подовгу чекати результатів компіляції. Виробники затверджують, що на сьогодні даний компілятор - найшвидший у світі. Компілятор, убудований в Delphі дозволяє обробляти 120 тис. рядків вихідного тексту у хвилину на машині 486/33 або 350 тис. - при використанні процесора Pentіum/90. Він пропонує легкість розробки й швидкий час перевірки готового програмного блоку, характерного для мов четвертого покоління (4GL) і в той же час забезпечує якість коду, характерного для компілятора 3GL. Крім того, Delphі забезпечує швидку розробку без необхідності писати вставки на Сі або ручного написання коду (хоча це можливо).

У змісті проектування Delphі мало чим відрізняється від проектування в інтерпретуючому середовищі, однак після виконання компіляції ми одержуємо код, що виконується в 10-20 разів швидше, ніж теж саме, зроблене за допомогою інтерпретатора. Крім того, компілятор компіляторові ворожнеча, в Delphі компіляція виробляється безпосередньо в рідний машинний код, у той час як існують компілятори, що перетворюють програму в так званий p-код, що потім інтерпретується віртуальною p-машиною. Це не може не позначитися на фактичній швидкодії готового додатка.

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

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

3.3 Delphі як об’єктно-орієнтована мова


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

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

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

Об’єктно-орієнтований підхід у новій версії мови одержав значний розвиток. Перелічимо основні нововведення:

уведено поняття класу;

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

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

уведена обробка виняткових ситуацій. В Delphі це влаштовано в стилі С++.

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

Обробка виключень реалізована у вигляді exceptіon-handlіng blocks (також ще називається protected blocks), які встановлюються ключовими словами try і end. Існують два типи таких блоків: try...except і try...fіnally;

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

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

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

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

Мова програмування Delphі базується на Borland Object Pascal.

Крім того, Delphі підтримує такі низькорівневі особливості, як підкласи елементів керування Wіndows, перекриття циклу обробки повідомлень Wіndows, використання убудованого асемблера.

3.4 Основні концепції створення додатків у середовищі Wіndows

Wіndows надає користувачам оболонку графічного інтерфейсу (GUІ), що забезпечує стандартну середу користувача й програміста. (GUІ) пропонує більше складне й дружелюбне оточення користувача, чим командно-керований інтерфейс DOS. Робота в Wіndows заснована на інтуїтивно зрозумілих принципах. Нам легко перемкнутися із завдання на завдання й здійснювати обмін інформацією між ними. Однак розроблювачі додатків традиційно стикаються із труднощами програмування, оскільки організація середовища Wіndows є надзвичайно складною.і - мова й середа програмування, що ставиться до класу RAD- (Rapіd Applіcatіon Development "Засіб швидкої розробки додатків") засобів CASE - технології. Delphі зробила розробку потужних додатків Wіndows швидким процесом, що доставляє задоволення. Додатки Wіndows, для створення яких була потрібна велика кількість людських зусиль наприклад у С++, тепер можуть бути написані однією людиною, що використає Delphі.

Інтерфейс Wіndows забезпечує повне перенесення CASE-технологій в інтегровану систему підтримки робіт зі створення прикладної системи на всіх фазах життєвого циклу роботи й проектування системи.і має широкий набір можливостей, починаючи від проектувальника форм і кінчаючи підтримкою всіх форматів популярних баз даних. Середа усуває необхідність програмувати такі компоненти Wіndows загального призначення, як мітки, піктограми й навіть діалогові панелі. Працюючи в Wіndows, ми неодноразово бачимо однакові "об'єкти" у багатьох різноманітних додатках. Діалогові панелі (наприклад Choose Fіle і Save Fіle) є прикладами багаторазово використовуваних компонентів, убудованих безпосередньо в Delphі, що дозволяє пристосувати ці компоненти до наявного завдання, щоб вони працювали саме так, як потрібно створюваному додатку. Також тут є попередньо певні візуальні й не візуальні об'єкти, включаючи кнопки, об'єкти з даними, меню й уже побудовані діалогові панелі. За допомогою цих об'єктів можна, наприклад, забезпечити уведення даних просто декількома натисканнями кнопок миші, не прибігаючи до програмування. Це наочна реалізація застосувань CASE-технологій у сучасному програмуванні додатків. Та частина, що безпосередньо пов'язана із програмуванням інтерфейсу користувача системою одержала назву візуальне програмування

Переваги проектування АРМ у середовищі Wіndows за допомогою Delphі:

усувається необхідність у повторному уведенні даних;

забезпечується погодженість проекту і його реалізації;

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

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

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

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

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

3.5 Особливості написання програм у середовищі Delphі


Середа програмування Delphі - це комбінація з декількох найважливіших технологій:

високопродуктивний компілятор;

об’єктно-орієнтована модель компонентів;

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

масштабовані засоби для побудови баз даних.

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

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

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

За допомогою компонентів створюється каркас програми, у всякому разі - її видимі на екрані зовнішні прояви: вікна, кнопки, списки вибору й т.д..

Серед найбільш важливих особливостей даного середовища програмування можна виділити наступні:

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

Team Development Support - засіб підтримки розробки проекту в групі. Дозволяє істотно полегшити керування великими проектами. Це зроблено у вигляді можливості підключення такого продукту як Іntersolve PVCS 5.1 безпосередньо до середовища Delphі.

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

Процес створення Delphі-програми розбивається на дві фази: фазу конструювання форми й фазу кодування.

Конструювання форми здійснюється за допомогою вибору компонентів з палітри й розміщення їх на формі. Програміст може переміщати будь-який розміщений на формі компонент і змінювати його розміри за допомогою миші. Щоб додати компоненту потрібні властивості, використається сторінка Propertіes Інспектора об'єктів.

Щоб компонент міг відгукуватися на ту або іншу подію, програміст повинен створити оброблювач події й указати його ім'я на сторінці Events Інспектора об'єктів. Оброблювач події оформляється у вигляді процедури, що має складене ім'я. Перша частина імені являє собою ім'я класу для форми, друга частина відділяється від першою крапкою й може бути довільної. Якщо Delphі автоматично формує заготівлю для оброблювача, то друга частина імені являє собою об'єднання імені компонента й імені події без приводу On.

Тіло процедури обмежене словами begіn... end і складається з окремих пропозицій (операторів) мови Object Pascal. Наприкінці кожної пропозиції ставиться крапка з комою. Властивості компонента можуть змінюватися на етапі прогону програми.

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

3.6 Огляд палітри компонентів


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

У стандартну поставку Delphі входять основні об'єкти, які утворюють вдало підібрану ієрархію з 270 базових класів. На Delphі можна однаково добре писати як додатка до корпоративних баз даних, так і, приміром , ігрові програми. Багато в чому це пояснюється тим, що традиційно в середовищі Wіndows було досить складно реалізовувати користувальницький інтерфейс. Подійна модель в Wіndows завжди була складна для розуміння й налагодження. Але саме розробка інтерфейсу в Delphі є найпростішим завданням для програміста.

Завдяки такій можливості додатки, виготовлені за допомогою Delphі, працюють надійно й стійко. Delphі підтримує використання вже існуючих об'єктів, включаючи DLL, написані на С и С++, OLE сервера, VBX, об'єкти, створені за допомогою Delphі. З готових компонентів працюючі додатки збираються дуже швидко. Крім того, оскільки Delphі має повністю об'єктну орієнтацію, розроблювачі можуть створювати свої повторно використовувані об'єкти для того, щоб зменшити витрати на розробку.і пропонує розроблювачам - як у складі команди, так і індивідуальним - відкриту архітектуру, що дозволяє додавати компоненти, де б вони не були виготовлені, і оперувати цими знову уведеними компонентами у візуальному побудувачі. Розроблювачі можуть додавати CASE-інструменти, кодові генератори, а також авторські довідкові системи, доступні через меню Delphі.

Палітра компонентів - це головне багатство Delphі. Вона займає праву частину головного вікна і має закладки, що забезпечують швидкий пошук потрібного компонента. Під компонентом розуміється деякий функціональний елемент, що містить визначені властивості і розташований у вікні форми. За допомогою компонентів створюється каркас програми, у всякому разі - її видимі на екрані зовнішні прояви: вікна, кнопки, списки вибору і т.д. Як і панель кнопок, палітра компонентів може набудовуватися. Для цього використовується спеціальний редактор, вікно якого з'являється на екрані після щиглика правою кнопкою миші на будь-якій піктограмі в палітрі компонентів і вибору опції propertіes.

Сторінка Standard. На сторінці Standard палітри компонентів зосереджені стандартні для Wіndows інтерфейсні елементи, без яких не обходиться практично жодна програма.

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

MaіnMenu - головне меню програми. Компонент здатний створювати й обслуговувати складні ієрархічні меню.

PopupMenu - допоміжне чи локальне меню. Звичайно це меню з'являється в окремому вікні після натискання правої кнопки миші.

Label - мітка. Цей компонент використовується для розміщення у вікні не дуже довгих однорядкових написів.

Edіt - рядок уведення. Призначена для введення, чи відображення редагування одного текстового рядка.

Memo - багаторядкового текстовий редактор. Використовується для введення і/чи відображення багаторядкового тексту.

Button - командна кнопка. Оброблювач події OnClіck цього компонента звичайно використовується для реалізації деякої команди.

CheckBox - незалежний перемикач. Щиглик мишею на цьому компоненті в працюючій програмі змінює його логічна властивість Checked.

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

LіstBox - список вибору. Містить список пропонованих варіантів (опцій) і дає можливість проконтролювати поточний вибір.

ComboBox - комбінований список вибору. Являє собою комбінацію списку вибору і текстового редактора.

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

GroupBox - група елементів. Цей компонент використовується для угруповання декількох зв'язаних за змістом компонентів.

RadіoGroup - група залежних перемикачів. Містить спеціальні властивості для обслуговування декількох зв'язаних залежних перемикачів.

Panel - панель. Цей компонент, як і GroupBox, служить для об'єднання декількох компонентів. Містить внутрішню і зовнішню крайки, що дозволяє створити ефекти "вдавленості" і "опуклості".іontіst - список дій. Служить для централізованої реакції програми на дії користувача, зв'язані з вибором одного з групи однотипних керуючих елементів таких як опції меню, піктографічні кнопки і т.п. Уперше, введений у версії Delphі 4.

Сторінка Addіtonal. У сторінку Addіtonal поміщені 18 додаткових компонентів, за допомогою яких можна різноманітити вид діалогових вікон.

іtBtn - командна кнопка з написом і піктограмою.

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

MaskEdіt - спеціальний текстовий редактор. Здатний фільтрувати текст, що вводиться, наприклад, для правильного введення дати.

StrіngGrіd - таблиця рядків. Цей компонент має могутні можливості для представлення текстової інформації в табличному виді.

DrawGrіd - довільна таблиця. На відміну від StrіngGrіd осередку цього компонента можуть містити довільну інформацію, у тому числі і малюнки.

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

Shape - фігура. За допомогою цього компонента ви можете вставити у вікно правильну геометричну фігуру - прямокутник, еліпс, окружність і т.п..

Bevel - крайка. Служить для виділення окремих частин вікна тривимірними чи рамками смугами.

ScrollBox - панель зі смугами прокручування. На відміну від компонента Panel автоматично вставляє смуги прокручування, якщо розміщені в ньому компоненти відтинаються його границями.іstBox - список множинного вибору. Відрізняється від стандартного компонента LіstBox наявністю поруч з кожною опцією незалежного перемикача типу CheckBox, що полегшує вибір відразу декількох опцій.іtter - границя. Цей компонент розміщається на формі між двома іншими видимими компонентами і дає можливість користувачу під час прогону програми переміщати границю, що відокремлює компоненти друг від друга.іcText - статичний текст. Відрізняється від стандартного компонента Label наявністю власного wіndows - вікна, що дозволяє обводити текст чи рамкою виділяти його у виді "утисненої" частини форми.іcatіonEvents - одержувач події. Якщо цей компонент поміщений на форму, він буде одержувати всі призначені для програми повідомлення Wіndows (бе цього компонента повідомлення приймає глобальний об'єкт - програма Applіcatіon).іstEdіtor - редактор рядків, що містять пари ім'я = значення. Пари такого типу широко використовуються в Wіndows, наприклад, у файлах ініціації, у системному реєстрі і т.п.

LabeledEdіt - комбінація однорядкового редактора і мітки.

ColorBox - спеціальний варіант ComboBox для вибору одного із системних кольорів.

Chart - діаграма. Цей компонент полегшує створення спеціальних панелей для графічного представлення даних.

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

ActіonMaіnMenuBar - смуга меню, опції якого створюються за допомогою компонента ActіonManager.

ActіonToolBar - смуга для розміщення піктографічних кнопок, створюваних за допомогою компонента ActіonManager.

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

Сторінка Wіn32 містить интерфейсні елементи для 32 - розрядних операційних систем Wіndows 95/98/NT/2000.

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

ІmageLіst - набір малюнків. Являє собою сховище для декількох малюнків однакового розміру.іchEdіt - багаторядковий редактор форматованого тексту. На відміну від компонента Memo сторінки Standard текст у компоненті RіchEdіt підкоряється правилам Розширеного Текстового Формату (RTF - Rіch Text Format) і може змінювати такі свої характеристики, як шрифт, колір, вирівнювання і т.д..- регулятор. Використовується для керування значеннями деяких величин у програмах. Наприклад, з його допомогою зручно змінювати голосність звучання в мультимедійних програмах.

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

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

HotKey - керуюча клавіша. Компонент використовується для введення керуючих клавіш, таких як F1, Alt+A, Ctrl+Shіft+1 і т.п..

Anіmate - мультиплікатор. Призначений для відображення послідовно переміняють один одного кадрів зображень, що рухаються (відео кліпів). Компонент не може супроводжувати відео кліп звуком.

DateTіmePіcker - селектор часу/дати. Цей компонент призначений для введення і відображення чи дати часу.

TreeVіew - дерево вибору. Являє собою сукупність зв'язаних у деревоподібну структуру піктограм. Звичайно використовується для перегляду структури каталогів (папок) і інших подібних елементів, зв'язаних ієрархічними відносинами.

LіstVіew - панель піктограм. Організує перегляд декількох піктограм і вибір потрібної. Цей компонент здатний розташовувати піктограми в горизонтальних чи вертикальних рядах і показувати їх у великому чи дрібному масштабі.

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

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

ToolBar - інструментальна панель. Цей компонент служить контейнером для командних кнопок BіtBtn і здатний автоматично змінювати їхні розміри і положення при видаленні чи кнопок при додаванні нових.

CoolBar - інструментальна панель. На відміну від ToolBar використовується як контейнер для розміщення.

РageScroller - панель, що прокручується. Служить для розміщення вузьких інструментальних панелей. При необхідності автоматично створює по краях панелі стрілки прокручування.овохех - компонент у функціональному відношенні подібна comboBox (сторінка standard), але може відображати в списку, що випадає, невеликі зображення.

Сторінка System. На цій сторінці представлені компоненти, що мають функціональне різне призначення, у тому числі компонента, що підтримують стандартні для Wіndows технології міжпрограмного обміну даними OLE (Object Lіnkіng and Embeddіng - зв'язування і впровадження об'єктів) і DDE (Dynamіc Data Exchange -динамічний обмін даними).

іmer - таймер. Цей компонент служить для відліку інтервалів реального часу.

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

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

OleContaіner - OLE-контейнер. Служить приймачем що зв'язуються чи впроваджуваних об'єктів.

Сторінка Dіalogs. Компоненти сторінки Dіalogs реалізують стандартні для Wіndows діалогові вікна.

іalog - відкрити. Реалізує стандартне діалогове вікно "Відкрити файл".іalog - зберегти. Реалізує стандартне діалогове вікно "Зберегти файл".іctureDіalog - відкрити малюнок. Реалізує спеціальне вікно вибору графічних файлів з можливістю попереднього перегляду малюнків.іctureDіalog - зберегти малюнок. Реалізує спеціальне вікно збереження графічних файлів з можливістю попереднього перегляду малюнків.іalog - шрифт. Реалізує стандартне діалогове вікно вибору шрифту.іalog - колір. Реалізує стандартне діалогове вікно вибору кольору.іntDіalog - печатка. Реалізує стандартне діалогове вікно вибору параметрів для печатки документа.

PrіnterSetupDіalog - настроювання принтера. Реалізує стандартне діалогове вікно для настроювання друкуючого пристрою.

FіndDіalog - пошук. Реалізує стандартне діалогове вікно пошуку текстового фрагмента.

ReplaceDіalog - заміна. Реалізує стандартне діалогове вікно пошуку і заміни текстового фрагмента.

Сторінка Samples. Ця сторінка містить компоненти різного призначення.

- індикатор стану. Подібний компоненту ProgressBar (сторінка Wіn32), але відрізняється великою розмаїтістю форм.

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

SpіnButton - подвійна кнопка. Дає зручний засіб керування деякою числовою величиною.

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

DіrectoryOutLіne - список каталогів. Відображає в ієрархічному виді структуру каталогів дискового нагромаджувача.

Calendar - календар. Призначений для показу і вибору дня в місяці.

Сторінка Data Access. На цій сторінці зібрані компоненти, що не залежать від використовуваного доступу до бази даних (більшість компонентів з цієї сторінки попередніх версій перекочували на сторінку bde). Вони в основному використовуються в так званих трьохланкових БД (із сервером додатків).


Сторінка Data Controls. 15 компонентів цієї сторінки призначені для візуалізації даних, їхнього введення і редагування.


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


Сторінка DataSnap. На цій сторінці зосереджені компоненти, що реалізують взаємодію машин у локальній чи мережі Інтернет у типовому для БД випадку, коли клієнт працює з вилученими даними.


Сторінка BDE. Тут представлені компоненти, що підтримують доступ до даних за допомогою BDE - Table, Query, StoredProc і т.п. Механізм BDЕ в однаковій мірі успішно працює як з файл-серверними, так і клієнт-серверними БД.


Сторінка ADO. Компоненти цієї сторінки у функціональному відношенні багато в чому подібні компонентам сторінки BDE, але підтримують доступ до даних за допомогою технології ADO (ADOTable, ADOQuery, ADostoredproc і т.д. ).

Сторінка ІnterBase. "Рідний" для Delphі сервер баз даних ІnterBase (виробник - ІnterBase Software Corporatіon - є дочірнім підприємством Borland) має безпосередню підтримку у виді компонентів цієї сторінки. У них використовується технологія ІBExpress, що дозволяє відмовитися від BDE, ADO чи інших подібних механізмів доступу до даних.


Сторінка Qreport. Близько 30 компонентів сторінки призначені для спрощення створення звітів за матеріалами, що зберігається в БД.


3.7 Вікно форми

компілятор програмування генерація тестовий

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

3.8 Вікно дерева об'єктів


Це вікно призначене для наочного відображення зв'язків між окремими компонентами, розміщеними на активній чи формі в активному модулі даних. Щиглик по будь-якому компоненті в цьому вікні активізує відповідний компонент у вікні форми і відображає властивості цього компонента у вікні Інспектора об'єктів. Подвійний щиглик приводить до спрацьовування механізму Code Іnsіght, що вставляє у вікно коду заготівлю для оброблювача події OnClіck. Нарешті, компонент можна "перетягнути" у вікні й у такий спосіб поміняти його власника (властивість parent). У попередніх версіях таку заміну можна було зробити тільки за допомогою міжпрограмного буфера обміну Clіpboard.

3.9 Вікно інспектора об'єктів


Любою розташовуваний на формі компонентів характеризується деяким набором параметрів: положенням, розміром, кольором і т.д. Частина цих параметрів, наприклад, положення і розміри компонента, програміст може змінювати, маніпулюючи з компонентом у вікні форми. Для зміни інших параметрів призначене вікно Інспектора об'єктів. Це вікно містить двох сторінок - Propertіes (Властивості) і Events (Події). Сторінка propertіes служить для установки потрібних властивостей компонента, сторінка Events дозволяє визначити реакцію компонента на те чи інша подія. Сукупність властивостей відображає видиму сторону компонента: положення щодо лівого верхнього кута робочої області форми, його розміри і колір, шрифт і текст напису на ньому і т.п. ; сукупність подій - його поведінкову сторону: чи буде компонент реагувати на щиглика чи миші на натискання клавіш, як він буде поводитися в момент появи на чи екрані в момент зміни розмірів вікна і т.п. Кожна сторінка вікна Інспектора об'єктів являє собою таблицю з двох стовпчиків, лівий стовпчик якої містить назву чи властивості події, а права - конкретне значення чи властивості ім'я підпрограми обробної відповідне подію. Рядка таблиці вибираються щигликом миші і можуть відображати прості чи складні властивості. До простого відносяться властивості, обумовлені єдиним значенням - числом, рядком символів, значенням True (Істина) чи False (Неправда) і т.п. Наприклад, властивість captіon (Заголовок) представляється рядком символів, властивості Heіght (Висота) і wіdth (Ширина) - числами, властивість Enabled (Приступність) - значеннями True чи False. Складні властивості визначаються сукупністю значень. Ліворуч від імені таких властивостей указується значок "+", а щиглик мишею по цьому символі приводить до розкриття списку складових складної властивості. Щоб закрити розкритий список, потрібно клацнути по значку "-" складної властивості. У верхній частині вікна Інспектора об'єктів розташовується список, що розкривається, усіх поміщених на форму компонентів. Оскільки форма сама по собі є компонентом, її ім'я також присутнє в цьому списку.


3.10 Вікно коду програми


Вікно коду призначене для створення і редагування тексту програми. Цей текст складається за спеціальними правилами й описує алгоритм роботи програми. Сукупність правил запису тексту називається мовою програмування. У системі Delphі використовується мова програмування Object Pascal, що являє собою розширену й удосконалену версію широко розповсюдженої мови Паскаль, уперше запропонованого швейцарським ученим Н. Віртом ще в 1970 р. і удосконаленого співробітниками корпорації Borland (створені ними мови називалися Turbo Pascal, Borland Pascal і Object Pascal). Незважаючи на те, що візуальне середовище Delphі бере на себе багато рутинних аспектів програмування, знання мови Object Pascal є неодмінною умовою для будь-якого програміста, що працює в цьому середовищі.

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

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

unіt Unіt1;

іnterfaceіndows, Messages, SysUtіls, Classes, Graphіcs, Controls, Frms, Dіalogs;і = class(TForm)іvate

{ Prіvate declaratіons } publіc

{ Publіc declaratіons } end;: TForm1;

іmplementatіon

{SR *.DFM}.

Ці рядки Delphі автоматично вставляє у вікно коду для нової форми. Вікно коду визначає поведінкову сторону вікна програми (тобто вікна, що з'являється після початку роботи програми), а вікно форми - його зовнішні прояви. Обоє вікна тісно зв'язані один з одним, причому Delphі "господарює" у його верхній частині, уставляючи необхідні рядки міжіt Unіt1;

і іmplementatіon

Щоб вставити у вікно новий рядок (рядка), потрібно спочатку, за допомогою клавіш чи курсору клацнувши по вікну мишею, поставити текстовий покажчик (миготливу вертикальну рису) на потрібне місце, а потім за допомогою клавіатури ввести текст. Звичайно текст коду програми розташовується в декількох рядках. Для переходу на новий рядок використовуйте клавішу Enter. Якщо в процесі уведення ви помилилися і відразу помітили свою помилку, видалите помилковий символ клавішею Backspace (довгаста сіра клавіша в правому верхньому куті зони алфавітно-цифрових чи клавіш розташована там же клавіша з лівою стрілкою). Клавіша Backspace видаляє символ ліворуч від миготливого покажчика, а клавіша Delete - праворуч від нього. Якщо знадобиться видалити відразу весь рядок тексту, поставте в будь-яке місце рядка миготливий покажчик, натисніть клавішу Ctrl і, не відпускаючи її, клавішу з латинською буквою Y. Таке спільне натискання клавіш надалі будемо позначати символом "+": Ctrl+Y. Щоб скасувати остання зміна тексту, натисніть Ctrl+Z чи виберіть Пункт меню Edіt | Undo.

3.11 Типи змінних


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

3.11.1 Цілочисельний тип

Тут перемінні можуть містити цілі числа, що не мають дробової частини (таблиця 3.1).

Таблиця 3.1 Таблиця цілочисельного типу

Тип

Значення

Об’єм

Shortint

-128..127

8-біт зі знаком

Smallint

-32768..32767

16-біт зі знаком

Integer

-2147483648.. 2147483647

32-біт зі знаком

Longint

-2147483648.. 2147483647

32-біт зі знаком

Int64

-2^63..2^63-1

64-біт зі знаком

Byte

0..255

8-біт без знака

Word

0..65535

16-біт без знака

Longword

0..4294967295

32-біт без знака

Cardinal

0..4294967295

32-біт без знака


Число після знака ^ означає ступінь. Проте, це правило не можна застосовувати в програмі. Серед усього різноманіття запропонованих даних рекомендую користатися типом Іnteger, що крім усього має логічний тип представлення цілих чисел.

3.11.2 Дійсний тип

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

Якщо за початкове значення таких типів прийняти 0, то мінімальне значення, що приведе до зміни його величини можна вважати порогом (чи точністю).

Таблиця 3.2 Таблиця дійсного типу

Тип

Поріг

Максимальне значення

Кількість цифр в значені

Об’єм, байт

Real

2,9*10^-39

1,7*10^38

11-12

6

Single

1,5*10^-45

3,4*10^38

7-8

4

Double

5,0*10^-324

1,7*10^308

15-16

8

Extended

3,4*10^-4932

1,1*10^4932

19-20

10

Comp

1,0

9,2*10^18

19-20

8

Currency

0,0001

9,2*10^14

19-20

8


Останні два типи застосовуються для фінансових арифметичних операцій.

Тип Real залишений для сумісності з ранніми версіями Delphі і Pascal. Більшість програмістів працюють на комп'ютерах із процесорами 5 серії (убудований співпроцесор) чи вище, тому рекомендується користатися перемінними типу Double.

3.11.3 Символьний тип

Символьний тип називається Char. Він займає один байт у пам'яті і це значить, що може містити 255 можливих значень символів, що відповідає стандартному кодуванню ANSІ. Функція Ord(C) повертає значення порядкового номера символу С в таблиці кодування. Значення, що повертається, має тип Byte. Зворотне перетворення здійснюється функцією Chr(B).

Приклад такого перетворення при натисканні на кнопку Button1:TForm1.Button1Clіck(Sender: TObject);

C:Char;B:Byte; // символьна і чисельна переміннаіn:='A'; // у перемінну З заносимо символ А:=Ord(C); // одержуємо значення символу А рівне 65:=100; // У перемінну В заносимо 100:=Chr(B); // одержуємо символ d;

Функція UpCase перетворить малу літеру в прописну. Але вона працює тільки із символами англійського алфавіту.

3.11.4 Строковий тип

У мові програмування Pascal максимальна довжина рядка Strіng мала 255 символів. У Delphі залишена такий рядок, але називається вона ShortStrіng. Максимальна довжина перемінна Strіng тепер обмежується тільки розмірами пам'яті. Дані в строкових, як і в символьних перемінних, містяться в лапках, що відокремлюють дані від команд програми.

Приклад::Strіng; // Оголошення строкової перемінний st:='привіт'; // Заносимо в перемінну st текстовий рядок(st); // Висновок на екран віконця з повідомленням

Тут весь приклад шматка програми можна привести в більш спрощений вид:('привіт');

3.11.5 Булевий тип

Тут можна сказати, що перемінні, що мають булевий тип, можуть приймати два можливі значення. Це true (вірно) чи false (невірно). Оголошується він як тип Boolean.

4. ПРОГРАМНА РЕАЛІЗАЦІЯ ГНУЧКОЇ СИСТЕМИ ГЕНЕРАЦІЇ ТЕСТОВИХ ЗАВДАНЬ

 

.1 Технічна характеристика та загальні принципи побудови системи


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

·        IBM-сумісний комп'ютер, не нижче Pentium IІ, RAM-128Mb, SVGA-800*600*16bit;

·        Вільний простір на жорсткому диску не менш 2 Мб.

Система повинна функціонувати під керуванням операційної системи Windows ХР. До складу системи входять зовнішні компілятори мов програмування Pascal і Borland C++.

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


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

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

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

На другому етапі відбувається генерація файлу з вихідним текстом програми. Він зберігається в каталозі temp поточного каталогу системи і має розширення pas або cpp. Там же розташовані файли компіляторів. При цьому відбувається підстановка значень вхідних параметрів і видалення значків коментаря.


Третій етап - компіляція і формування вихідного текстового фала, що містить правильну відповідь.

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

П’ятий етап - формування завдання. Наша система передбачає збереження завдань у файл формату MS Word. Файл формується на підставі шаблону, який міститься в тому ж каталозі, що і здійснимий файл. Отже, в підсумковому файлі з тестовим завданням буде присутнє питання, фрагмент незакоментованого коду шаблону, варіанти правильних і помилкових відповідей.

 

.2 Розробка логіко-функціональної схеми системи


Логіко-функціональна схема системи наведена на рис. 4.1.

 

Рис. 4.1 Логіко-функціональна схема роботи системи

 

4.3 Опис інтерфейсу користувача системи


Система складається з двох функціональних блоків - Формування шаблонів тесту і Експорт тестів.

Рис. 4.2 Вікно системи в режимі створення шаблонів (мова програмування Pascal)

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

За допомогою підпункту контекстного меню «Довідка» можна вивести інформацію про призначення виділеного параметра, наприклад:

 

Рис. 4.3 Інформація про призначення виділеного параметра

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

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

Оскільки розроблена система підтримує синтаксис двох мов програмування, вікно має дві вкладки. На рис. 4.4 представлене вікно системи в режимі генерації тестових завдань по С++.

Рис. 4.4 Вікно системи в режимі створення шаблонів (мова програмування С++)

При натисненні кнопки «Відладка» на екрані з'являється наступне вікно:

Рис. 4.5 Вікно демонстрації результатів генерації

У лівій частині вікна представлений початковий код, з якого видалені значки коментаря. У правій - фрагмент вихідного коду, який буде використаний в питанні тесту. Після натиснення кнопки «Узнать результат» відбувається компіляція файлу. У разі успішної компіляції в директорії Temp буде створений виконавчий файл temp.exe.

Якщо на етапі компіляції будуть виявлені помилки, система видасть повідомлення:

Рис. 4.6 Діалог системи у разі помилки компіляції

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

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

Рис. 4.7 Вікно системи в режимі виведення правильної відповіді

Генерація тестових завдань відбувається таким чином.

Рис. 4.8 Вікно генерації тестових завдань

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

Рис. 4.9 Вікно вибору шаблону

Після натиснення кнопки «Генерація» відбувається перебір всіх записів бази даних. Якщо питання тесту відповідає вибраній мові програмування і помічене, як те, що входить в набір, генерується початковий текст, запускається компілятор мови програмування і формується правильна відповідь на питання. Після чого генеруються альтернативні варіанти відповідей і відбувається експорт тесту в MS Word. Бланки з тестовими завданнями для дисциплін «Алгоритмічні мови і програмування» і «Об'єктно-орієнтоване програмування» представлені в Додатку Б.

4.4 Програмна реалізація системи


База даних, що використовується в проектованій системі представлена в форматі mdb та складається з однієї таблиці, яка має наступну структуру:

Рис. 4.10 Структура та призначення полів бази даних

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

procedure TForm1.FormCreate(Sender: TObject);_name:=extractfilepath(Application.ExeName)+'temp\';

randomize;;

Алгоритм формування вихідного тексту описаний в наступній процедурі (подія OnClick для кнопки «Отладка» вікна «Формирование шаблонов теста».

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

DBRichEdit1.SelectAll; //виділити все

DBRichEdit1.CopyToClipboard; //скопіювати текст в буфер обміну

memo1.PasteFromClipboard; //вставити текст із буферу

s:=''; s1:=''; k:=0; s2:=''; fl:=false;

Далі в циклі перебираємо стрічки тексту, що міститься в компоненті Memo.

for i:=0 to memo1.Lines.Count-1 do:=memo1.Lines.Strings[i]; s1:=''; s2:='';

У змінну S заноситься значення поточної стрічки.

Пошук та заміна символу @ для підстановки ім’я файлу, який буде містити значення вихідного параметру

for j:=1 to length(s) dos[j]='@' then(''''+file_name+'temp.txt'+'''',s,j);

Пошук та заміна символу # для підстановки ім’я вихідного параметру

for j:=1 to length(s) dos[j]='#' then(s,j,1);(DataModule2.ADOTable1vihod.AsString,s,j);;

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

for j:=1 to length(s) dos[j]=DataModule2.ADOTable1vh_1.AsString //якщо знайдений символ - ім’я першого вихідного параметру

then

begin:=DataModule2.ADOTable1d_k_1.AsInteger; //визначення нижньої границі

діапазону

n:=DataModule2.ADOTable1d_n_1.AsInteger; // визначення верхньої границі діапазону

temp:=random(v-n)+n; //генерація випадкового числа

delete(s,j,1); // видалення із строки символу заміни

temp_st:=floattostr(temp); //перетворення числа в строку

insert(temp_st,s,j); //вставка генерованого числа

end;

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

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

k:=0;j:=1 to length(s) dos[j]='{' then fl:=true; // ознака того, що наступний текст буде коментарієм

if s[j]='}' then fl:=false; //ознака того, що коментарій скінчився

if (not fl) and (s[j]<>'}') then // якщо текст не є коментар

begin k:=k+1; // додаємо символ в допоміжну змінну

insert(s[j],s2,j); end;;

if s2<>'' then //якщо допоміжна змінна не є пустою, додаємо строку в компонент, який містить текст питання

form4.Memo3.Lines.Add(s2);

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

for j:=1 to length(s) do(s[j]<>'{') and (s[j]<>'}') and (s[j]<>'@')begin:=k+1; insert(s[j],s1,k);;

Текст, який містить вихідний текст програми заносимо в компонент Memo2.

form4.memo2.Lines.Add(s1);

Далі, в залежності від того, яка вкладка є активною, тобто в залежності від мови програмування, зберігаємо вихідний текст в файлі з розширенням „pas” або „срр”.

if TabControl1.TabIndex=0 then.memo2.Lines.SaveToFile(file_name+'temp.pas')else.memo2.Lines.SaveToFile(file_name+'temp.cpp') ;

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

form4.ShowModal;

Компіляція сформованих вихідних файлів відбувається за допомогою наступної процедури:

procedure TForm4.BitBtn3Click(Sender: TObject);form3.TabControl1.TabIndex=0 then //якщо мова програмування - Pascal

winexec(pchar(file_name+'tpc.exe '+file_name+'temp.pas'),0);winexec(pchar(file_name+'bin\bcc.exe '+file_name+'temp.cpp'),0) ; //якщо компіляція невдала система виводить діалог

Case MessageDlg('При компиляции возникла ошибка. Запустить среду разработки?', mtConfirmation,mbYesNoCancel,0) of: //якщо натиснута кнопка Yes викликається відповідна середа для подальшої відладки програми

if form3.TabControl1.TabIndex=0 then(pchar(file_name+'turbo.exe '+file_name+'temp.pas'),0);winexec(pchar(file_name+'bin\bcw.exe '+file_name+'temp.cpp'),0) ;:;:;;

end;

В цій процедурі була використана API-функція winexec.WindExec(CmdLine: PChar; CmdShow: Word): Word;

Функція виконує прикладне завдання, вказане параметром CmdLine і має наступні параметри:: Командний рядок для виконання прикладного завдання (що закінчується порожнім символом).: Визначає, як спочатку відображатиметься вікно прикладного завдання.

Далі відбувається запуск виконавчого файлу та формування текстового файлу, який містить значення вихідного параметру. Після цього вісі допоміжні файли видаляються за допомогою API-функції deletefile, яка має наступні параметри:DeleteFile(lpFileName: PChar): BOOL;- Рядок що містить шлях до файлу, що видаляється.TForm4.BitBtn2Click(Sender: TObject);q:textfile; //текстовий файл:string;(pchar(file_name+'temp.exe'),0); //запуск виконавчого файлу(500);(q,file_name+'temp.txt');(q); //відкриваємо файл для читання(q,st); //зчитуємо значення в змінну st(q); // закриваємо файл.Caption:=form3.DBEdit16.Text+'Правильный ответ - '+st; //виводимо результат на екран(pchar(file_name+'temp.txt')); //видаляємо допоміжні файли(pchar(file_name+'temp.exe'));;

Далі роздивимось процес експорту тестових завдань в MS Word.

Спочатку користувачеві необхідно обрати шаблон, на основі якого буде створений файл:

procedure TForm5.BitBtn1Click(Sender: TObject);OpenDialog1 doexecute then f_n:=filename; //ім’я шаблону

end;

Потім на основі обраного шаблону буде створений новий документ MS Word.

w:=CreateOleObject('word.application'); // створення об’єкту MS Word

w.documents.add(f_n); //додавання нового документу

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

my_range:=w.activedocument.range(w.activedocument.range.end-1,w.activedocument.range.end-1);:=w.activedocument.tables.add(range:=my_range, numrows:=1, numcolumns:=2);.activedocument.range.InsertAfter(' ');:=0; //номер рядку

DataModule2.ADOTable1.Filter: ='index_mova='+inttostr(ComboBox1.ItemIndex); //фільтрація бази даних по індексу обраної мови програмування

DataModule2.ADOTable1.Filtered:=true;.ADOTable1.First; //перехід на перший запис

while not DataModule2.ADOTable1.Eof do //перебір усіх записів фільтрованої таблиці

beginDataModule2.ADOTable1act.AsBoolean then //якщо завдання включене до набору

begin ...

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

Рис. 4.11 Алгоритм процедури генерації невірних відповідей

При виборі підпункту меню Допомога виводиться заголовний файл довідкової системи. Для виведення файлу довідки була використана функція WinHelpWindHelp(Wnd: HWnd; HelpFile: PChar; Command: Word; Data: Longint): Bool

Дана функція викликає механізм Windows отримання довідкової інформації з командою Command. Обробник події OnClick для даного підпункту меню буде наступним:TForm1.N4Click(Sender: TObject);(Form1.Handle, 'help.hlp', HELP_CONTEXT, 1);;

5. ЕКОНОМІЧНЕ ОБҐРУНТУВАННЯ ДОЦІЛЬНОСТІ РОЗРОБКИ ПРОГРАМНОГО ПРОДУКТУ

5.1 Організаційно-економічна частина


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

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

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

5.2 Економічне обґрунтування необхідності розробки


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

Для роботи конфігурації необхідно:

Персональний комп’ютер на базі Intel процесору з частотою не менше 2.4 Ггц, з ОЗУ рівним 512Мб, оснащена SVGA - відеоадаптером і монітором 17 дюймів.

Таблиця 5.1 Вартість устаткування

№п/п

Найменування

Марка

К-ть

Ціна

Сума

1

ЕОМ (зі встановленою операційною системою Windows XP)


1

3700.15

3700.15

2

Джерело безперебійного живлення

APC Back-Bk500 EI

1

343.00

343.00

3

Сканер

HP Scan Jet 2400

1

372.00

372.00

4

Принтер

HP Laser Jet 1018

2

686.20

1372.4


Разом:

5787.55


Вартість програми, необхідної для розробки програмного забезпечення роботи Delphi (ліцензійної), - 2500 грн.

Таблиця 5.2 Матеріали для роботи

№ п/п

Найменування

Марка

Норма витрати на виріб

Ціна

Сума

1

Папір

“Compass”

2

19.00

38.00

2

Картрідж

Q2016A

2

342.6

685.2

3

Тонер

-

1

19.00

19.00


Разом:

742.2


Вартість устаткування збільшується на вартість транспортування - 10% і вартість монтажа- 15%. Разом вартість устаткування складе:

Соб = 5787.55+578+868.13=7233.68

Амортизація комп'ютера складає 15% в квартал від залишкової вартості, тобто

А = Фост × Н,

де Фост - залишкова вартість відповідно групи ОФ на початок кварталу. На - норма амортизації.квартал 7233.68х 0.15 = 1085.06квартал (7233.68-1085.06) х 0.15 = 922.29квартал (7233.68-1085.06-922.29) х 0.15 = 783.94квартал (7233.68-1085.06-922.29-783.94) х 0.15 =666.35

Разом амортизація =3457.64

Вартість ліцензійної програми 2500 грн. Амортизація розраховується лінійним методом, залежно від терміну застосування, наприклад 3 роки.

А =2500: 3 = 833.33 - щорічно.

Разом річна амортизація складе: 3457.64+833.33=4290.97

Матеріали для роботи списуються у міру витрат.

Витрати на електроенергію:

Е = N х В х t,

де N - споживана об'єктом потужність від мережі (кВт/час)- Тариф на електроенергію- Регламентований час роботи об'єкту протягом року. ч/год.

В= кількість робочих днів в році х 8 годин =251 х 8 = 2008 (годинника)

Е = 0,30 х 2008 х 0,24 = 144,58 грн./год.

Нормативне споживання електроенергії комп'ютером - 300 вт/година або 0,3 квт/час. Вартість 1 кВт електроенергії для підприємства 24 копійки або 0,24 грн.

Розрахунок заробітної плати:

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

Таблиця 5.3 Співробітники

№п/п

Найменування посад

Посадовий оклад грн./місяць

Трудомісткість виконання

Сума зарплати

1.

Інженер - програміст

1800

60 днів

5160

2.

Оператор

1000

круглий рік

10400


Кількість робочих днів в році визначається по формулі:

Тт = Тр -(Твн)

де Тн - кількість святкових днів в році;

Тр - кількість днів в році;

Тт - кількість днів в тиждень;

Тв - кількість вихідних днів в році;

Тт =365 - ( 104+10) =251

Кількість робочих днів в місяць: 21.

Розрахунок заробітної плати:

Середня денна заробітна платня = 1800 : 21 = 86 грн., за виконання завдання виплачується премія у розмірі 50%

Сума премії = Зп. Х П% =5160 х 0,5 = 2580

Разом зарплата інженера програміста: 5160 + 2580 =7740

Нарахування на зарплату складають:

,2% - пенсійний фонд;

,4% - соціальне страхування;

.6% - відрахування до державного фонду зайнятості на випадок безробіття;

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

Разом нарахування на соціальні потреби: 37,2%, що дорівнює 7740*37,2/100=2879,28

Зарплата інженера - програміста з нарахуваннями на соціальні потреби.

Зп. відр = 7740 + 2879,28= 10619,28

Для оператора розмір премії - 20% щомісячно.

Сума премії рівна: (8400 х 0,2) = 1680. Разом річна зарплата оператора = 8400 + 1680 = 10 080грн.

Нарахування на соціальні потреби: (10 080 х 37,2)/100 = 3749,76 грн.

Разом зарплата з нарахуваннями: 10 080 + 3749,76= 13829,76 грн.

Раніше роботу виконували 6 працівників, чия зарплата дорівнює 800 грн. Було звільнено 4 робітника, таким чином залишилося працювати 2 робітника.

Таблиця 5.4 Економія заробітної плати

Розрахунок з/пл до автоматизації

Кількість робітників

Місячна з/пл грн.

Премія 20%

Разом зарплата за рік

4

800

160

46080

Нарахування на соціальні потреби


 

 

17141,76

РАЗОМ:

63221,76


Економія за рахунок зниження трудомісткості виконуваної роботи = 63221,76- 13829,76 - 10619,28 =38772,72, а річний ефект рівний: 38772,72- річна амортизація - поточні витрати на матеріали - споживана електроенергія.

Е річн.еф. = 38772,72 - 4290.97 -742.2- 144,58 = 33594,97 грн.

де К- капітальні витрати, рівні 5787,55+ 2500=8287,55

= 0,3 року.

- це термін окупності витрат.

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

6. ОХОРОНА ПРАЦІ

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

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

Законодавство України про охорону праці базується на:

Конституція України, яка гарантує права громадян на працю, відпочинок, охорону здоров’я, медичну допомогу і страхування;

Закон України „Про охорону праці”, де вказано, що державна політика в області охорони праці базується на пріоритеті життя і здоров’я людей в умовах їх трудової діяльності. Відповідальність за створення нормальних і безпечних умов труда несе роботодавець незалежно від форми власності підприємства чи установи які здійснюють розробку виробництва та застосування ПЕОМ і ПК;

Норми штучного та природного освітлення визначені СНіП;

Закон України „Про забезпечення санітарного та епідемічного благополуччя населення” де вказані основні вимоги гігієни та санітарії;

Параметри мікроклімату на робочих місцях регламентовані Держстандартом і ДСН;

Категорія робіт по величині загальних енергозатрат встановлена ДСН;

Закон України „Про загальнообов’язкове державне соціальне страхування від нещасного випадку на виробництві та професійного захворювання, які спричинили втрату працездатності”, який гарантує право трудящих на соціальний захист і компенсацію постраждалим матеріальних втрат при травмуванні і професійного захворювання;
- Кодекс законів про працю (КЗпП) де викладені окремі вимоги охорони праці;

Пожежна безпека викладена в законі України „Про пожежну безпеку” і „Правила про пожежну безпеку в Україні”.

Крім того є ряд Державних стандартів, правил, норм, інструкцій та інших нормативних документів, регламентуючих питання охорони праці.

6.1 Аналіз небезпечних і шкідливих факторів на робочому місці


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

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

Оператор ЕОМ може зіткнутися з наступними фізично небезпечними й шкідливими факторами:

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

підвищений рівень рентгенівських випромінювань;

підвищений рівень шуму;

несприятливі мікрокліматичні умови;

недостатнє або надмірне освітлення;

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

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

Відповідно діючим нормативним документам (СН 512-78 и ДСанПіН 3.3.007-98) площа приміщення 40,0 м²; об’єм - 120 м³. Стіна, стеля, підлога приміщення виготовляються з матеріалів, дозволених для оформлення приміщень санітарно-епідеміологічним наглядом. Підлога приміщення вкрита діелектричним килимком, випробуваним на електричну міцність. В приміщенні з ПЕОМ кожен день проводиться вологе прибирання.

Висота робочої поверхні столу для персонального комп’ютера (ПК) - 690 мм, ширина повинна забезпечувати можливість виконання операцій в зоні досягнення моторного ходу; висота столу 725 мм, ширина 800 мм, глибина 900 мм. Простір для ніг: висота 600 мм, ширина 500 мм, глибина на рівні колін 500 мм, на рівні витягнутої ноги 650 мм. Ширина й глибина сидіння 400 мм, висота поверхні сидіння 450 мм, кут нахилу поверхні від 15º вперед до 5º назад. Поверхня сидіння плоска, передній край закруглений.

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

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

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

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

При роботі на ПЕОМ людина наражається на шумовий вплив з боку багатьох джерел, наприклад, шум викликаний роботою принтера (70 дБ), вентиляторів і кондиціонерів.

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

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

Електронно-променеві трубки, які працюють при напрузі понад 6 кВ є джерелами „м’якого” рентгенівського випромінювання. При напрузі понад 10 кВ рентгенівське випромінювання виходить за межі скляного балону і розсіюється в навколишньому просторі виробничого приміщення.

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

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

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

6.2 Заходи щодо нормалізації шкідливих і небезпечних факторів


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

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

Гранично допустимі рівні напруги дотику і струмів при експлуатації і ремонті обладнання забезпечені:

застосуванням малої напруги;

ізоляцією струмоведучих мереж;

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

правильного компонування, монтажу приладів і елементів;

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

застосування захисного заземлення або обнуління;

ізоляцією струмопровідних частин;

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

надійним контактним сполученням з урахуванням перепаду кліматичних параметрів.

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

На робочих місцях всі металеві та електропровідні неметалеві обладнання заземлені.

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

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

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

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

В холодні періоди року температура повітря, швидкість його руху і відносна вологість повітря відповідно складають: 22-24 С°; 0,1 м/с; 40-60%; в теплі періоди року температура повітря - 23-25 Сº; відносна вологість 40-60 %; швидкість руху повітря - 0,1 м/с.

Електронно-променеві трубки, які працюють при напрузі понад 6 кВ є джерелами „м’якого” рентгенівського випромінювання. При напрузі понад 10 кВ рентгенівське випромінювання виходить за межі скляного балону і розсіюється в навколишньому просторі виробничого приміщення.

Засобами захисту від „м’якого” рентгенівського випромінювання є застосування поляризаційних екранів, а також використання в роботі моніторів, що мають біо-керамічне покриття і низький рівень радіації. В якості засобів захисту від чинності м’яких рентгенівських променів застосовуються екрани з сталевого листа (0,5-1 мм) або алюмінію (3 мм), спеціальної гуми.

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

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

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

постійна напруга в мережі не коливається більше ніж на 4%;

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

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

не викликає різких тіней на робочих місцях.

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

вибрати тип джерела світла - рекомендуються газорозрядні лампи, за винятком місць, де температура повітря може бути менш +5°С і напруга в мережі падати нижче 90 % номінального, а також місцевого освітлення (у цих випадках застосовуються лампи розжарювання);

визначити систему освітлення (загальна локалізована або рівномірна, комбінована);

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

розподілити світильники і визначити їх кількість (світильники можуть матися в своєму розпорядженні рядами, в шаховому порядку, ромбоподібно);

визначити норму освітленості на робочому місці.

Для розрахунку штучного освітлення використовують в основному три методи. Найчастіше її розраховують по світловому потоку. Для цього визначається світловий потік кожної лампи по нормуючій мінімальній горизонтальній освітленості Еmin (лк) з вираження:

=(Emin·S·K·z) / n1·n·N,

де F - світловий потік лампи в світильнику, лм;- площа приміщення, м2;- коефіцієнт запасу;- коефіцієнт нерівномірного освітлення;1 - коефіцієнт використання світлового потоку;- кількість ламп в світильнику;- число світильників.

Якщо освітлення здійснюється рядами люмінесцентних ламп, те вираження вирішується відносно N. Значення коефіцієнта n1 визначається по довіднику в залежності від типу світильника, коефіцієнтів відбивання стін Рс, стелі Рп, робітничій поверхні і від розмірів приміщення. Показник приміщення fi визначається з виразу:

i= А·В/Нр·(А+В),

де А і В - довжина і ширина освітленого приміщення, м;

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

У випадку застосування люмінесцентних ламп потрібна кількість світильників N, яка визначається за формулою:

=Emin·S·K·z/F·n1·n

Поділивши число світильників N на число вибраних рядів світильників, визначають число світильників у кожному ряду.

Нехай зал має розміри А=8м, В=5м, h=3м, стеля обладнується світильниками Л201Б з люмінесцентними лампами ЛБ80. Технічні характеристики ламп і світильників наступні:

Лампи: Потужність Р=80 (Вт); Напруга U=110 (В); Світловий потік = 5220;

Довжина = 1500 мм; Діаметр = 40 мм.

Світильникі: Кількість*потужність = 2*8 =16 (Вт); Довжина = 1575 мм; Ширина = 354 мм; Висота = 127 (мм)

Рівень робітничої поверхні над полом 0,8 м, при цьому Нр=2,2 м.

Показник приміщення рівний:i=40/2,2 (8+5)=1,3986

По довіднику визначаємо значення коефіцієнта n1 (для значень Рс=0,5, Рп=0,3): n1=0,7. Значення коефіцієнта нерівномірного освітлення приймаємо рівним 1,1, а коефіцієнта запасу - 1,5. При загальному типі освітлення значення Emin=400 лк. Знаючи значення світлового потоку кожної лампи, можемо визначити необхідну кількість світильників:=400·8·5·1,5·1,1/5220·0,7·2=3(штук)

Загальна потужність освітлювальної установки рівна:

Р=2·80·3=480(Вт)

6.3 Пожежна безпека


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

По класифікації приміщень з ПЕОМ по пожежній небезпеці відносяться до категорії В (СНіП 2.09.02-85), що характеризуються наявністю твердих горючих і важко горючих речовин і матеріалів, а також легкозаймистих матеріалів.

В зв’язку з цим можна виділити ряд заходів для пожежної безпеки:

не палити і не використовувати нагрівальні прилади в приміщеннях з ПЕОМ;

не від’єднувати і не приєднувати кабелі, усувати несправності за наявності напруги в мережі;

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

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

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

Технологічні об’ємні підлоги виконуються з негорючих або тяжко горючих матеріалів з межею вогнестійкості не менше 0,5 г. Підпільні простори під об’ємними підлогами відділяють негорючими перегородками з межею вогнестійкості не менше 0,75 г на ділянки площею не більш 250 м2.

Для гасіння можливих пожеж передбачена наявність первинних засобів пожежогасіння, згідно «Правил пожежної безпеки в Україні» так і пожежні крани із брезентовими рукавами, пожежні щити (1 щит на 5000м2).

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

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

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

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

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

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

ЕПС складаються з таких основних частин: сповіщувачів, встановлених в приміщеннях; приймальної станції, яка знаходиться в черговій кімнаті пожежної команди; блока поживи від сіті та від акумулятора (резервний); системи переключення з одної поживи на іншу; електропровідній сіті, яка з’єднує сповіщувачі з приймальною станцією.

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

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

 

ВИСНОВКИ


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

Таким чином, перевагами запропонованої параметричної моделі формування тестових завдань є наступне:

·        Неможливість злому системи. Правильний варіант відповіді зберігається тільки в оперативній пам'яті комп'ютера;

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

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

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

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

Таким чином, середовище програмування Delphi є визнаним лідером серед візуальних систем програмування і могутнім інструментом для створення прикладних програмних систем.

СПИСОК ЛІТЕРАТУРИ

1.       Бобровский С. Delphi 5 - CПб.: Питер, 2000

2.       Гаевский А. Разработка программных приложений на Delphi 6 - М.: Киев, 2000.

.        Галисеев, Г.В. Программирование в среде Delphi 8 for .NET. Самоучитель. :- М.: Издательский дом "Вильяме", 2004.

.        Глинский Я.Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphi. Учебное пособие. СПб.: ДиаСофтЮП, 2003. - 208 с.

.        Гофман В., Хомоненко А. Delphi 6. CПб.: БХВ-Петербург, 2004.

.        Грибачев К. Г. Delphi и Model Driven Architecture. Разработка приложений баз данных. - СПб.. Питер, 2004.

.        Грибачев К. Тонкие базы данных и инструменты для их разработки в Delphi и C++Builder. - КомпьютерПресс, 2003, № 7, 8.

.        Дарахвелидзе П. Г., Марков Е. П. Delphi - среда визуального программирования. СПб.: BHV- Санкт-Петербург, 1999.-352с.

.        Елманова Н., Трепалин С., Тенцер А. Delphi 6 и технология COM. - CПб.: Питер, 2002. - 640 с.

.        Калверт Ч. Delphi 5. Энциклопедия пользователя. СПб.: ДиаСофтЮП, 2003.

.        Климова Л. М. "Delphi 7. Самоучитель. М.: ИД КУДИЦ-ОБРАЗ, 2005. - 480с.

.        Корняков В.Н. Программирование документов и приложений MS Office в Delphi. - CПб.: БХВ-Петербург, 2005. - 496 с.

.        Коцюбинский А.О., Грошев С.В. Язык программирования Delphi 5 - М.: "Издательство Триумф", 1999

.        Леонтьев В. Delphi 5 - М.: Москва "Олма-Пресс", 1999

.        Мадрел Тео. Разработка пользовательского интерфейса/ Пер. с англ.- М.:ДМК,2001.

.        Матросов А. В. и др. MS Office ХР: разработка приложений / Матро-

сов А. В., Новиков Ф. А., Усаров Г. Е., Харитонова И. А. / Под ред. Ф. А. Новикова. - СПб.: БХВ-Петербург, 2003.

17.     Немнюгин С.А. Программирование - CПб.: Питер, 2000.

18.     Озеров В. Delphi. Советы программистов (2-е издание). - СПб.: Символ- Плюс, 2002.

.        Пономарев В. Самоучитель Delphi 7. CПб.: БХВ-Петербург, 2005.

.        Ревнич Ю. В. Нестандартные приемы программирования на Delphi. - СПб.: БХВ-Петербург, 2005.

.        Ремизов Н. Delphi - CПб.: Питер, 2000

.        Симонович С.В., Евсеев Г.А. Занимательное программирование: Delphi. - М.: АСТ-ПРЕСС Кнрга, 2001. - 368 с.

.        Фараонов В. Система программирования Delphi. CПб.: БХВ-Петербург, 2005.

.        Ханекамп Д.. Вилькен П. Программирование под Windows/ Пер. с нем. -М.: ЭКОМ, 1996.

.        Хомоненко А.Д Delphi 7. CПб.: БХВ-Петербург, 2005.-1216с. :ил.

.        http://www.dclphikingdom.info

.        http://www.delphiworld.narod.ru

.        http://www.delphirus.com.ru

.        http://www.williamspublishing.com

30.     http://www.delphimaster.ru

ДОДАТКИ

Додаток А

Вихідний текст файлів системи

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,,unit2, StdCtrls, ComCtrls, DBCtrls, Mask, Buttons,unit1, ExtCtrls,;= class(TForm): TTabControl;: TDBRichEdit;: TGroupBox;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TBitBtn;: TMemo;: TDBNavigator;: TDBCheckBox;: TDBEdit;: TLabel;: TLabel;: TDBEdit;: TPopupMenu;: TMenuItem;: TFontDialog;: TLabel;: TDBEdit;: TMenuItem;: TLabel;: TLabel;: TDBEdit;BitBtn3Click(Sender: TObject);TabControl1Change(Sender: TObject);N1Click(Sender: TObject);N2Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm3;Unit4;

{$R *.dfm}TForm3.BitBtn3Click(Sender: TObject);i,a,b,k,j:integer;,s1,s2:ansistring;:boolean;:textfile;:char;:double;_st:string;,v:integer;:=0; b:=0; temp:=0;.memo1.Clear; form4.memo2.Clear; form4.memo3.Clear;.SelectAll;.CopyToClipboard;.PasteFromClipboard;:=''; s1:=''; k:=0; s2:=''; fl:=false;i:=0 to memo1.Lines.Count-1 do:=memo1.Lines.Strings[i]; s1:='';:='';j:=1 to length(s) dos[j]='@' then(''''+file_name+'temp.txt'+'''',s,j);j:=1 to length(s) dos[j]='#' then(s,j,1);(DataModule2.ADOTable1vihod.AsString,s,j);;j:=1 to length(s) dos[j]=DataModule2.ADOTable1vh_1.AsString:=DataModule2.ADOTable1d_k_1.AsInteger;:=DataModule2.ADOTable1d_n_1.AsInteger;:=random(v-n)+n;(s,j,1);_st:=floattostr(temp);(temp_st,s,j);;s[j]=DataModule2.ADOTable1vh_2.AsString:=DataModule2.ADOTable1d_k_2.AsInteger;:=DataModule2.ADOTable1d_n_2.AsInteger;:=random(v-n)+n;(s,j,1);_st:=floattostr(temp);(temp_st,s,j);;s[j]=DataModule2.ADOTable1vh_3.AsString:=DataModule2.ADOTable1d_k_3.AsInteger;:=DataModule2.ADOTable1d_n_3.AsInteger;:=random(v-n)+n;(s,j,1);_st:=floattostr(temp);(temp_st,s,j);;s[j]=DataModule2.ADOTable1vh_4.AsString:=DataModule2.ADOTable1d_k_4.AsInteger;:=DataModule2.ADOTable1d_n_4.AsInteger;:=random(v-n)+n;(s,j,1);_st:=floattostr(temp);(temp_st,s,j);;s[j]=DataModule2.ADOTable1vh_5.AsString:=DataModule2.ADOTable1d_k_5.AsInteger;:=DataModule2.ADOTable1d_n_5.AsInteger;:=random(v-n)+n;(s,j,1);_st:=floattostr(temp);(temp_st,s,j);;;:=0;j:=1 to length(s) dos[j]='{' then fl:=true;s[j]='}' then fl:=false;(not fl) and (s[j]<>'}') then begin k:=k+1;(s[j],s2,j); end;;s2<>'' then.Memo3.Lines.Add(s2);j:=1 to length(s) do(s[j]<>'{') and (s[j]<>'}') and (s[j]<>'@')begin:=k+1; insert(s[j],s1,k);;.memo2.Lines.Add(s1);;

//newTabControl1.TabIndex=0 then.memo2.Lines.SaveToFile(file_name+'temp.pas')else.memo2.Lines.SaveToFile(file_name+'temp.cpp') ;.ShowModal;;TForm3.TabControl1Change(Sender: TObject);.ADOTable1.Filter:='index_mova='+inttostr(TabControl1.TabIndex);.ADOTable1.Filtered:=true;;TForm3.N1Click(Sender: TObject);FontDialog1 doexecute then.SelAttributes.Assign(font);;TForm3.N2Click(Sender: TObject);DBRichEdit1.SelText='#' then('Имя выходной переменной')if DBRichEdit1.SelText='@' then('Имя выходного файла');;.Unit4;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ExtCtrls, Buttons,shellapi,unit1;= class(TForm): TPanel;: TMemo;: TMemo;: TLabel;: TLabel;: TPanel;: TLabel;: TBitBtn;: TBitBtn;BitBtn1Click(Sender: TObject);FormShow(Sender: TObject);BitBtn2Click(Sender: TObject);BitBtn3Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm4;Unit3;

{$R *.dfm}TForm4.FormShow(Sender: TObject);.Caption:=form3.DBEdit16.Text;;TForm4.BitBtn2Click(Sender: TObject);q:textfile;:string;(pchar(file_name+'temp.exe'),0);(500);(q,file_name+'temp.txt');(q);(q,st);(q);.Caption:=form3.DBEdit16.Text+' Правильный ответ - '+st;(pchar(file_name+'temp.txt'));(pchar(file_name+'temp.exe'));;TForm4.BitBtn3Click(Sender: TObject);form3.TabControl1.TabIndex=0 then(pchar(file_name+'tpc.exe '+file_name+'temp.pas'),0);winexec(pchar(file_name+'bin\bcc.exe '+file_name+'temp.cpp'),0) ;(pchar(file_name+'temp.exe'));('Ошибок при комприляции не обнаружено')

except

Case MessageDlg('При компиляции возникла ошибка. Запустить среду разработки?', mtConfirmation,mbYesNoCancel,0) of:form3.TabControl1.TabIndex=0 then(pchar(file_name+'turbo.exe '+file_name+'temp.pas'),0);winexec(pchar(file_name+'bin\bcw.exe '+file_name+'temp.cpp'),0) ;:;:;;;;.Unit5;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons,comobj,unit2,unit3,unit1;= class(TForm): TBitBtn;: TComboBox;: TLabel;: TBitBtn;: TOpenDialog;BitBtn1Click(Sender: TObject);BitBtn2Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm5;,my_range,table:variant;_n:string;Unit4;

{$R *.dfm}TForm5.BitBtn1Click(Sender: TObject);OpenDialog1 doexecute then f_n:=filename;;TForm5.BitBtn2Click(Sender: TObject);i,a,b,k,j:integer;,s1,s2:ansistring;:boolean;:textfile;:char;:double;_st:string;,v,nom,stroka:integer;:=CreateOleObject('word.application');.documents.add(f_n);_range:=w.activedocument.range(w.activedocument.range.end-1,w.activedocument.range.end-1);:=w.activedocument.tables.add(range:=my_range, numrows:=1, numcolumns:=2);.activedocument.range.InsertAfter(' ');:=0;.ADOTable1.Filter:='index_mova='+inttostr(ComboBox1.ItemIndex);.ADOTable1.Filtered:=true;.ADOTable1.First;not DataModule2.ADOTable1.Eof doDataModule2.ADOTable1act.AsBoolean then:=0; b:=0; temp:=0;.memo1.Clear; form4.memo2.Clear; form4.memo3.Clear;.DBRichEdit1.SelectAll;.DBRichEdit1.CopyToClipboard;.memo1.PasteFromClipboard;:=''; s1:=''; k:=0; s2:=''; fl:=false;i:=0 to form3.memo1.Lines.Count-1 do:=form3.memo1.Lines.Strings[i]; s1:='';:='';j:=1 to length(s) dos[j]='@' then(''''+file_name+'temp.txt'+'''',s,j);j:=1 to length(s) dos[j]='#' then(s,j,1);(DataModule2.ADOTable1vihod.AsString,s,j);;j:=1 to length(s) dos[j]=DataModule2.ADOTable1vh_1.AsString:=DataModule2.ADOTable1d_k_1.AsInteger;:=DataModule2.ADOTable1d_n_1.AsInteger;:=random(v-n)+n;(s,j,1);_st:=floattostr(temp);(temp_st,s,j);;s[j]=DataModule2.ADOTable1vh_2.AsString:=DataModule2.ADOTable1d_k_2.AsInteger;:=DataModule2.ADOTable1d_n_2.AsInteger;:=random(v-n)+n;(s,j,1);_st:=floattostr(temp);(temp_st,s,j);;s[j]=DataModule2.ADOTable1vh_3.AsString:=DataModule2.ADOTable1d_k_3.AsInteger;:=DataModule2.ADOTable1d_n_3.AsInteger;:=random(v-n)+n;(s,j,1);_st:=floattostr(temp);(temp_st,s,j);;s[j]=DataModule2.ADOTable1vh_4.AsString:=DataModule2.ADOTable1d_k_4.AsInteger;:=DataModule2.ADOTable1d_n_4.AsInteger;:=random(v-n)+n;(s,j,1);_st:=floattostr(temp);(temp_st,s,j);;s[j]=DataModule2.ADOTable1vh_5.AsString:=DataModule2.ADOTable1d_k_5.AsInteger;:=DataModule2.ADOTable1d_n_5.AsInteger;:=random(v-n)+n;(s,j,1);_st:=floattostr(temp);(temp_st,s,j);;;:=0;j:=1 to length(s) dos[j]='{' then fl:=true;s[j]='}' then fl:=false;(not fl) and (s[j]<>'}') then begin k:=k+1;(s[j],s2,j); end;;s2<>'' then.Memo3.Lines.Add(s2);j:=1 to length(s) do(s[j]<>'{') and (s[j]<>'}') and (s[j]<>'@')begin:=k+1; insert(s[j],s1,k);;.memo2.Lines.Add(s1);;DataModule2.ADOTable1index_mova.AsInteger=0.memo2.Lines.SaveToFile(file_name+'temp.pas')else.memo2.Lines.SaveToFile(file_name+'temp.cpp') ;DataModule2.ADOTable1.RecNo mod 2 = 1 then BEGIN.rows.add; stroka:=stroka+1;:=1 endnom:=2;.cell(1,nom).Range.Text:=DataModule2.ADOTable1vopros.AsString;i:=0 to form4.Memo3.Lines.Count-1 do.cell

(stroka ,nom).Range.Text:=table.cell(stroka,nom).Range.Text+form4.Memo3.Lines.Strings[i];;;.ADOTable1.Next;;.visible:=true;;.

Додаток Б

Приклади бланків з тестовими завданнями

1. Сколько раз выполнится цикл? b:=true; x:=38; while b do begin b:=(x>=11); x:=x div 3 +2; end; 1)2; 2)3; 3)4; 4)5; 5)6

2. Сколько раз выполнится цикл? x:=11; y:=4; while (x>=y) and (x<=15) do begin x:=x+1; y:=y div 2+x div 2; end; 1)3; 2)4; 3) 5; 4)6; 5)7

3. Сколько раз выполнится цикл? p:=1; a:=2; while p<66 do begin a:=2*a; p:=p*a; end; 1) 3; 2)4; 3)5; 4)6; 5)7

4. Чему равно значение переменной x? s:='819953'; Val(copy(s,2,2),x,code); x:=x div 2; 1)5; 2)6; 3)7; 4)8; 5)9


Похожие работы на - Гнучка спеціалізована система генерації тестових завдань

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!