Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет полный.docx
Скачиваний:
0
Добавлен:
31.01.2020
Размер:
1.14 Mб
Скачать

Х арківський патентно – комп’ютерний коледж

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

ДО ДИПЛОМНОГО ПРОЕКТУ

на тему: «розробка програми “ДержТест” для проведення державного екзамену зі спеціальності бухгалтерський облік»

Розробив: Острась М.В.

Перевірив: Макарова І.В.

2013

Вступ

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

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

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

Озираючись назад, в епоху становлення засобів обчислювальної техніки, можна умовно виділити ступені розвитку автоматизованих навчальних систем [1].

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

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

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

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

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

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

Реальний тест, що складається з 5 питань з 10 варіантами кожного питання, буде здатний випадковим чином формувати 10^5 = 100 000 варіантів. Це дає можливість з мінімальними витратами створити ілюзію ніколи не повторюваного завдання тесту.

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

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

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

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

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

Однак є й недоліки.

Основним недоліком є лімітність баз даних. Для того, щоб забезпечити успішне функціонування тестуючої програми протягом тривалого часу, необхідно постійно додавати і розширювати бази даних. Інакше, поступово програма перестане виконувати свої функції. Адже для того, щоб знати відповіді на будь-яке питання програми, в розглянутому вище прикладі, не треба вирішувати 10^5 = 100 000 варіантів, а досить вирішити всього 5 * 10 = 50 завдань.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Всі існуючі в даний час тестуючі системи можуть бути класифіковані наступним чином:

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

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

3) Мережева система. Тут існують два варіанти:

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

б) веб-додаток, що використовує для обміну даними протокол HTTP і мову розмітки гіпертексту HTML.

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

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

1 Постановка задачі

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

Програма повинна забезпечити виконання таких функцій:

  • створювати xml файл,який містить дані по тесту;

  • додавати дані до існуючого xml файлу;

  • зчитувати дані тесту з xml файлу;

  • зашифровувати дані в xml файлі;

  • зчитувати дані з rtf файлу в xml;

  • зберігати в xml файл результати проходження тесту;

  • виводити результати проходження тесту;

  • підтримувати вибір режиму роботи (режим тестування та розширений режим);

  • захист доступу до розширеного режиму режиму за допомогою логіну та паролю;

  • підтримувати вибір файлу тестування;

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

  • обмежувати час на проходження тесту.

В якості вхідної інформації має бути:

  • список питань та відповідей на них з поміткою правильної відповіді;

  • прізвище та група студента;

  • ім’я файлу тесту;

  • логін та пароль для входу в розширений режим;

  • ім’я створюваного файлу;

  • шлях до оброблюваних rtf файлів;

  • кількість хвилин на проходження тесту;

  • шлях до папки для збереження файлів тесту та інших файлів.

В якості вихідної інформації є:

  • xml файл з даними теста;

  • xml файл з результатами тестування;

  • xml файл з даними налаштування програми;

  • прізвище, група, оцінка студента, пройшовшого тестування.

Форма вхідних документів представлена у додатку Б, а вихідних – у додатку В.

Програма повинна коректно виконувати функції на IBM PC AT сумісному персональному комп’ютері під керівництвом операційної системи Windows 7.

Програма повинна бути розроблена на об’єктно – орієнтованій мові програмування С#.

Користувальницький інтерфейс має бути ергономічним та інтуїтивним.

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

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

  • Вступ.

  • Постановка задачі.

  • Текстуальний опис алгоритму.

  • UML-діаграма алгоритму.

  • Стислий опис ЄОМ.

  • Стислий опис ОС.

  • Опис мови програмування.

  • Налагодження та тестування.

  • Інструкція до програми.

  • Охорона праці.

  • Бізнес план.

  • Висновки.

  • Перелік посилань.

  • Додатки.

2 Алгоритм розв’язання задачі

2.1 Текстуальний опис алгоритму

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

Форма Form1 призначена для реалізації входу в розширений режим або в режим тестування.

У Form1 будуть реалізовані наступні функції:

  • InitializeComponent() – ініціалізація форми;

  • Exit_Click – призначено для виходу із програми;

  • log_Click – призначено для входу в розширений режим;

  • button1_Click – призначено для входу в режим тестування.

В Form1 присутні такі елементи графічного інтерфейсу:

  1. menuStrip1 – елемент меню для переходу в різні режими роботи програми або виходу із програми. Включає в себе такі елементи меню як:

  • toolStripMenu1 – вихід із програми;

  • EXT_MENU – перехід в розширений режим роботи;

  • SIMP_MENU – перехід в режим тестування.

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

  • label1, label2 - елементи користувальницького інтерфейсу;

  • textBox login, textBox pass – компоненти ,призначені для вводу логіну та паролю;

  • button log – кнопка, обробник якої здійснює перехід в розширений режим.

  1. groupBox2 – контейнер, який містить label3, в якій міститься інформація об помилці. Виводиться тільки у випадку помилки с конфігурацією програми.

  2. button1 – кнопка для переходу в режим тестування.

Форма Form2 призначена для реалізації розширеного режиму роботи програми.

В Form2 реалізовані такі методи:

  • InitializeComponent() – ініціалізація форми;

  • Add_Click – обробка кнопки створення xml файлу;

  • addBtn_Click_1 – обробка кнопки додання інформації в файл тесту;

  • Create3DES() – створення ключа шифрування;

  • EncrypTo3DES – функція кодування текстової стороки;

  • DecryptFrom3Des – функція розшифрування текстової строки;

  • button1_Click – обробка кнопки вибору файлу;

  • button2_Click – обробка кнопки вибору папки для збереження файлів;

  • button3_Click – обробка кнопки збереження налаштувань програми;

  • button4_Click–обробка кнопки відображення результатів тестування;

  • button5_Click– обробка кнопки видалення файлу результатів;

  • InputClear() – очищення полів вводу;

  • toolStripMenuItem1-3_Click – вибір необхідних режимів роботи програми;

  • ShowResults – відображення результатів тестування;

  • InitControl() – ініціалізація елементів управління;

  • ReadTxt() – зчитування даних з rtf файлів.

В Form2 присутні такі елементи графічного інтерфейсу:

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

  • label5 – label10 – елементи інтерфейсу;

  • TextBox logCnf – поле вводу логіну;

  • TextBox passCnf – поле вводу пароля;

  • Button2 – кнопка вибору папки для зберігання xml файлів;

  • Button3 – кнопка для внесення налаштувань програми.

  1. groupBox2 – контейнер елементів виводу результатів тестування, включає в себе такі елементи:

  • label11 – відображає дані тестування;

  • button4 – зчитує наступний результат;

  • button5 – кнопка, яка видаляє файл з результатами.

  1. groupBox3 – контейнер елементів, які відповідають за ввід даних по створюваному тесту, включає в себе такі елементи:

  • label3-label4 – елементи інтерфейсу;

  • TextBox fileNM – поле вводу імені файлу тесту;

  • Button Add – кнопка, яка зберігає ім’я файлу та визиває groupBox4.

  1. groupBox4 – контейнер елементів створення тесту. Містить такі елементи графічного інтерфейсу:

  • label1-label2 – елементи інтерфейсу;

  • TextBox textbox – поле вводу питання;

  • textBox1-textBox10 – поля вводу відповідей на питання;

  • radioButton1-radioButton10 – радіо кнопки вибору правильної відповіді;

  • addBtn – кнопка додавання нинішнього питання в файл тесту;

  • menuStrip1 – меню для вибору режиму роботи.

  1. groupBox5 – контейнер елементів, призначених для обробки rtf файлів. Містить такі елементи графічного інтерфейсу:

  • hScrollBar1 – вибір кількості відповідей на питання тесту

  • label13 – label18 – елементи інтерфейсу;

  • button 6-7 – кнопки вибору файлів

  • textBox1 – полк вводу імені файлу;

  • button8 – кнопка обробки.

Форма Form3 призначена для реалізації режиму тестування. В Form3 реалізовано такі методи:

  • InitializeComponent() – ініціалізація форми;

  • qw – зчитує з файлу одне питання та виводить його через елементи інтерфейсу;

  • ShowResult() – виводить результат тестування;

  • ReadFolder() – функція виводить всі папки з директорії,указаній в конфігурації, в treeView1;

  • ShowAllFiles() – виводить всі xml файли з обраної в treeView1 папки;

  • SaveResult() – зберігає результати тестування в xml файл;

  • goTest_Click – обробка кнопки, що визиває функцію тестування;

  • AnswBut_Click – зчитує відповідь та визиває наступне питання;

  • Timer1_Tick – визов таймеру;

  • Timer2_Tick – таймер, який зменшує залишившийся час кожну хвилину;

  • treeView1_AfterSelect – навігація по елементам treeView1.

Також Form3 містить такі елементи графічного інтерфейсу:

  1. GroupBox1 Input–контейнер для елементів вводу даних, необхідних для початку тестування;

  • label2, label3, label5 – елементи інтерфейсу;

  • treeView1 – елемент для відображення файлів та папок в директорії,вказаній при конфігурації;

  • goTest – кнопка яка визиває GroupBox Testing та починає тестування.

  1. GroupBoxTesting – контейнер, який містить елементи тестування. Такими елементами являються:

  • label title – відображає питання;

  • radioButton1-10 – дозволяють обрати варіант відповіді;

  • AnswBut – кнопка відповіді.

  • label1, label3, lineShape1 – графічні елементи інтерфейсу.

2.2 UML діаграми

Рисунок 2.1 – Діаграма прецедентів моделювання вимог до системи в режимі тестування

Рисунок 2.1 – Діаграма прецедентів моделювання вимог до системи в розширеному режимі

Рисунок 2.3 – Діаграма станів програми в режимі тестування

Рисунок 2.4 – Діаграма станів програми в режимі обробки rtf файлів

Рисунок 2.5 – Діаграма станів програми в режимі створення тесту

Рисунок 2.3 – Діаграма класів програми

3 Реалізація алгоритму на ЕОМ

3.1 Стислий опис AMD Turion 64 X2

Turion 64 X2 - марка двоядерних мобільних (з низьким енергоспоживанням) 64-бітових процесорів виробництва компанії AMD. Конкурує з процесорами Intel Core і Core 2. У Turion 64 X2 використовуються більш досконалі енергозберігаючі технології, в порівнянні з попередніми процесорами компанії. Turion 64 X2 був представлений компанією AMD 17 травня 2006, після декількох затримок. Процесор встановлюється в роз'єм Socket S1 і має двоканальний контролер пам'яті DDR2 і шину HyperTransport (800 МГц, HT800). Перші моделі Turion 64 X2 (Taylor) проводилися з використанням 90 нм техпроцесу SOI компанії IBM. Наступні моделі (Tyler) випускаються по 65 нм процесу, на основі технології напруженого кремніє-германиевого процесу, який був спільно розроблений дослідниками IBM і AMD і який є більш досконалим, порівняно з іншими 65 нм техпроцесами [4].

Комп’ютер, на якому розроблявся дипломний проект має такі показники:

  • Процесор — Turion 64 X2.

  • Материнська плата — AMD M780.

  • Оперативна пам’ять — 4 GB DDR2.

  • Відеокарта — ATI Radeon 4570 (пам’ять — 512 МB DDR2, інтерфейс — PCI Express 3.0).

  • HDD – 320 GB.

  • Маніпулятор - “Mouse” Grand.

Має сенс виділити кілька ключових моментів, що відрізняють Turion X2.

Turion 64 має ту ж архітектуру, що Athlon 64. Відмінності ж між цими родинами процесорів полягають, по-перше, в енергоспоживанні, яке у випадку з Turion 64 набагато нижче: Athlon 64 Mobile розсіює 65 Вт у вигляді тепла, Turion 64 - 35 Вт (моделі з індексом ML) або 25 Вт (моделі з індексом МТ). Друга істотна відмінність полягає в обсязі кеш-пам'яті другого рівня: для Athlon 64 Mobile він складає 1 Мб, для Turion 64 Mobile - 512 Кб або 1 Мб в залежності від моделі.

Обидва процесора - Turion 64 Mobile і Athlon 64 Mobile - підтримують енергозберігаючу технологію AMD PowerNow!, суть якої полягає в динамічній зміні частоти і напруги процесора залежно від поточного навантаження. Це дозволяє більш раціонально використовувати ресурси акумулятора при роботі від батареї [5].

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

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

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

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

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

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

Матриця ноутбука являє собою повноцінний рідкокристалічний дисплей (LCD) з підсвіткою ЕЛ-лампами або ж світлодіодами (LED). У сучасних ноутбуках застосовується два типи покриття дисплея - матове і глянцеве. Зображення на екрані з глянцевим покриттям виходить більш контрастне і яскраве, проте часто виникають незручності в роботі через дзеркального ефекту: світло не розсіюється по поверхні екрану і покриття дає занадто яскраві відблиски у разі, якщо за спиною користувача розташоване яке небудь джерело світла. Матове покриття, навпаки, робить зображення менш контрастним, але не створює відблисків.

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

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

Жорсткий диск ноутбука, незважаючи на маленький розмір (завдяки використанню магнітних носіїв діаметром 2,5 дюйма), має об'єм, порівнянний з обсягом жорсткого диска для стаціонарного комп'ютера. Найбільш поширений інтерфейс підключення SATA, проте зустрічається і застарілий інтерфейс IDE, особливо в старих ноутбуках. У субноутбуках досить широко використовуються т. н. твердотільні жорсткі диски (SSD), розроблені на основі flash-пам'яті.

Оптичний привід (CD / DVD) ноутбука позбавлений механіки, що висуває лоток, тому його вдалося зробити настільки тонким при збереженні всіх функцій повноцінного приводу. Більшість сучасних приводів мають стандарт DVD-RW, проте в дорогих мультимедійних ноутбуках часто можна зустріти привід стандарту Blu-ray.

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

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

Програма, реалізована у дипломному проекті, повинна коректно працювати на ПК з такою конфігурацією:

  • ПК під керівництвом Windows 7;

  • процесор з тактовою частотою від 1 Ггц;

  • оперативна пам’ять від 1 Гб;

  • розмір дискового простору приблизно 10 - 100 Мб;

  • відеокарта з підтримкою розширення від 1024*768 пікселів.