
- •1.Поняття "база даних". Системи управління базами даних. Реляційні бази даних.
- •2.Проектування та розробка баз даних. Реалізація проекту за допомогою ms Access.
- •3. Етапи розв'язування задач за допомогою комп'ютера.
- •4.Комп'ютерні програми, їх місце в процесі обробки інформації за допомогою комп'ютера.
- •5. Методи розробки програм.
- •6. Написання програм алгоритмічними мовами високого рівня
- •7.Тестування програм. Основні етапи тестування.
- •8. Робота з пеом в діалоговому режимі.
- •9. Особливості виконання обчислень на евм.(Особливості виконання основних арифметичних операцій в еом)
- •10. Машинний нуль. Похибка округлення.
- •11.Абсолютна і відносна похибка результатів основних арифметичних операцій.
- •13.)Методи пошуку ефективних алгоритмів.
- •14. Загальна характеристика алгоритмічної мови q-Basic
- •15 Загальна характеристика алгоритмічної мовиBorland-Pascal.
- •17. Пролог являє собою спільну мету логічного програмування мову, пов'язаний з штучним інтелектом і комп'ютерної лінгвістики .
- •18.)Основні елементи мов програмування:
- •19.Арифметичні та логічні вирази. Алгоритмічні вирази.
- •20. Структура програми: опис міток, опис констант, опис типу даних та змінних
- •22. Розділ операторів головної програми
- •23. Методи конструювання програм.
- •24. Застосування модулів.
- •25. Складання програм з розгалуженою структурою.
- •26.Використання пакетів програм для написання хімічних формул органічних та неорганічних речовин, а також зображення хімічного посуду ChemWindow.
- •27. Побудова графіків за допомогою Microcal Origin 7.0.
- •28. Графічні редактори Paint та CorelDraw.
- •29.Міжкомп’ютерний зв’язок
- •30. Локальна мережа
- •31.Принцип роботи Internet
- •32.Електронна пошта
- •34.Інформаційні мережі в інтернет.
- •35.Спілкування в Internet
- •36.Призначення та структура експертних систем.Життєвий цикл експертних систем.
- •37.Автоматизовані інформаційні системи.
- •38.Автоматизоване робоче місце.
- •39 .Системи автоматизованого проектування (сапр).
- •41.Взаємозв`язок між сапр і аснд.
- •42.Технологія вирішення задач за допомогою комп'ютера.
- •43.Поняття про математичну хімію, хемометрію і хімічну інформатику.
- •44Основні поняття MathCad-14 та maple 13. Створення та редагування документів.
- •45Побудова виразів. Текстові вставки.
- •46.)Розв’язання лінійних і нелінійних рівнянь
- •47)Методи розв'язання рівнянь за допомогою математичного пакету MathCad-14 та maple 13.
- •48.)Відображення функції однієї змінної у вигляді діаграм і графіків різного типу
- •49Способи відображення декількох функцій на одному графіку.
- •50 Відображення функцій двох змінних у вигляді проекцій тривимірних поверхонь та ліній рівня.
- •52.Вирішення системи лінійних алгебраїчних рівнянь за допомогою математичного пакету MathCad-14 та maple 13.
- •54Диференціювання за допомогою математичного пакету MathCad-14 та maple 13.
- •55Інтегрування за допомогою математичного пакету MathCad-14 та maple 13.
6. Написання програм алгоритмічними мовами високого рівня
Мови високого рівня, можна сказати, є більш зрозумілими людині, ніж комп'ютеру. Особливості конкретних комп'ютерних архітектур в них не враховуються, тому створені програми легко переносяться з комп'ютера на комп'ютер. Здебільшого достатньо просто перекомпілювати програму під певну комп'ютерну архітектурну та операційну систему. Розробляти програми на таких мовах значно простіше і помилок допускається менше. Значно скорочується час розробки програми, що особливо важливо при роботі над великими програмними проектами.
Наразі у середовищі розробників вважається, що мови програмування, які мають прямий доступ до пам’яті та регістрів або мають асемблерні вставки, потрібно вважати мовами програмування з низким рівнем абстракції. Тому більшість мов, які вважалися мовами високого рівня до 2000-го року зараз вже такими не вважаються.
Недоліком мов високого рівня є більший розмір програм порівняно з програмами на мові низького рівня. Тому в основному мови високого рівня використовуються для розробок програмного забезпечення комп'ютерів, і пристроїв, які мають великий обсяг пам'яті. А різні підвиди асемблеру застосовуються для програмування інших пристроїв, де критичним є розмір програми.
Мови програмування високого рівня дозволяють писати програми в формі, більш наближеній до звичайної мови. Програму, написаною мовою високого рівня, можна більш легко читати і модифікувати, і вони значно полегшують роботу програміста порівняно з написанням машинного коду.Для перекладу програм, написаних мовою високого рівня, в машинні коди, повинні існувати спеціальні програми. Такі програми називаються трансляторами.
Кожна мова високого рівня повинна мати формальний опис. У цьому описі повинні бути визначені правила запису програмних конструкцій (синтаксис) і те, яким чином ці конструкції виконуються (семантика). Транслятори пишуться у відповідності до цього формального опису. Формальний опис надає розробникам трансляторів певну свободу, і транслятори можуть бути реалізовані по-різному. Кажуть про те, що мова високого рівня може мати різні реалізації. Різні реалізації мови можуть мати відмінності в синтаксисі. Тоді може виникати ситуація, коли один транслятор сприймає програму нормально, а інший видає повідомлення про помилку.
Виділяють два типи трансляторів – компілятори та інтерпретатори.
Компілятором називається програма, яка сприймає програму, написану мовою високого рівня, і генерує відповідний машинний код. Цей машинний код надалі може виконуватися незалежно від компілятора.
Інтерпретатор сприймає кожну інструкцію програми окремо, перетворює її на деякий проміжний код, і негайно виконує цей код. Незалежний машинний код при цьому не створюється.
7.Тестування програм. Основні етапи тестування.
Тестування програмного забезпечення – техніка контролю якості, що перевіряє відповідність між реальною та очікуваною поведінкою програми завдяки кінцевому набору тестів, що обираються певним чином.
Тестування - це одна з технік контролю якості, що включає в себе
• Планування робіт (Test Management)
• Проектування тестів (Test Design)
• Виконання тестування (Test Execution)
• Аналіз отриманих результатів (Test Analysis).
Верифікація (Verification) - це процес оцінки системи або її компонентів з метою визначити чи задовольняють результати поточного етапу розробки умовам, сформованим на початку цього етапу. Тобто чи виконуються цілі, терміни, завдання з розробки проекту, визначені на початку поточної фази.
Валідація (Validation) - це визначення відповідності розроблюваного програмного забезпечення між очікуваннями і потребами користувача, вимогам до системи.
План Тестування (Test Plan) - це документ, що описує весь обсяг робіт з тестування, починаючи з опису об'єкта, стратегії, розкладу, критеріїв початку і закінчення тестування, до необхідного в процесі роботи обладнання, спеціальних знань, а також оцінки ризиків з варіантами їх вирішення.
Тест дизайн (Test Design) - це етап процесу тестування програмного забезпечення, на якому проектуються і створюються тестові випадки (тест кейси), відповідно до визначених раніше критеріями якості та цілями тестування.
Тестовий випадок (Test Case) - це документ, що описує сукупність кроків, конкретних умов і параметрів, необхідних для перевірки реалізації тестованої функції або її частини.
Баг/Дефект Репорт (Bug Report) - це документ, що описує ситуацію або послідовність дій (Steps), що призвела до некоректної роботи об'єкта тестування (Misbehavior), із зазначенням причин та очікуваного результату (Expected Result).
Тестове Покриття (Test Coverage) - це одна з метрик оцінки якості тестування, що представляє із себе щільність покриття тестами вимог або коду, що виконується.
Деталізація Тест Кейсів (Test Case Specification) - це рівень деталізації опису тестових кроків і необхідного результату, при якому забезпечується розумне співвідношення часу проходження до тестового покриття.
Час Проходження Тест Кейса (Test Case Pass Time) - це час від початку проходження кроків тест кейса до отримання результату тесту.
Види тестування програмного забезпечення
За ступенем автоматизації:
• Ручне тестування (manual testing)
• Автоматизоване тестування (automated testing)
• Напівавтоматизованих тестування (semiautomated testing)
За ступенем підготовленості до тестування:
• Тестування по документації (formal testing)
• Тестування ad hoc або інтуїтивне тестування (ad hoc testing) - тестування без тест плану та документації, що базується на методиці передбачення помилки та власному досвіді тестера.
За ступенем ізольованості компонентів:
• Компонентне (модульне) тестування (component/unit testing)
• Інтеграційне тестування (integration testing)
• Системне тестування (system/end-to-end testing)
За часом проведення тестування:
Альфа-тестування (alpha testing)
• Тестування при прийманні або Димове тестування(smoke testing)
• Тестування нової функціональності (new feature testing)
• Регресивне тестування (regression testing)
• Тестування при здачі (acceptance testing)
Бета-тестування(beta testing)
За об'єктом тестування:
Функціональне тестування (functional testing)
Тестування продуктивності (performance testing)
• Навантажувальне тестування (load testing)
• Стрес-тестування (stress testing)
• Тестування стабільності (stability/endurance/soak testing)
Тестування зручності використання або Юзабіліті-тестування (usability testing)
Тестування інтерфейсу користувача (UI testing)
Тестування безпеки (security testing)
Тестування локалізації (localization testing)
Тестування сумісності (compatibility testing)
За ознакою позитивності сценаріїв:
• Позитивне тестування (positive testing)
• Негативне тестування (negative testing)
Рівні тестування
Модульне тестування тестує мінімальний компонент програми, або модуля. Кожний модуль тестується для перевірки правильності його реалізації.
Інтеграційне тестування виявляє дефекти в інтерфейсах та у взаємодії між компонентами (модулями).
Системне тестування тестує інтегровану систему для перевірки відповідності всім вимогам.
Системне інтеграційне тестування перевіряє, чи система інтегрується в будь-яку зовнішню систему (або системи) відповідно до системних вимог.
Приймальне тестування може проводитись кінцевим користувачем, замовником, або клієнтом для перевірки, чи може продукт бути прийнятий до використання.
• альфа-тестування — це симульоване або реальне операційне тестування потенційними користувачами/замовником або командою тестувальників на боці розробника.
• бета-тестування йде після альфа-тестування. Версії програмного забезпечення, відомі як бета-версії, надаються у користування обмеженій кількості людей поза компанією для того, щоб упевнитись, що програма не містить великої кількості помилок.