Існує безліч помилок, які транслятор виявити не в змозі, якщо використовувані в програмі оператори сформовані правильно. Наведемо приклади таких помилок.
- неправильне зазначення гілки алгоритму після перевірки деякої умови;
- неповний облік можливих умов;
- пропуск в програмі одного або більше блоків алгоритму.
Помилки в циклах:
- неправильне зазначення початку циклу;
- неправильне зазначення умов закінчення циклу;
- неправильне зазначення числа повторень циклу;
- безкінечний цикл.
Помилки введення-виведення; помилки при роботі з даними:
- неправильне завдання тип даних;
- організація зчитування меншого або більшого обсягу даних, ніж потрібно;
- неправильне редагування даних.
Помилки у використанні змінних:
- використання змінних без вказівки їх початкових значень;
- помилкове зазначення однієї змінної замість іншого.
Помилки при роботі з масивами:
- масиви попередньо НЕ обнулені;
- масиви неправильно описані;
- індекси слідують в неправильному порядку.
Помилки в арифметичних операціях:
- неправильне зазначення типу змінної (наприклад, целочисленного замість речового);
- невірне визначення порядку дій;
- поділ на нуль;
- витяг квадратного кореня з негативного числа;
- втрата значущих розрядів числа.
Всі ці помилки виявляються за допомогою тестування.
У чому полягає супровід програми?
Супровід програм - це роботи, пов'язані з обслуговуванням програм в процесі їх експлуатації.
Багаторазове використання розробленої програми для вирішення різних завдань заданого класу вимагає проведення наступних додаткових робіт:
- виправлення виявлених помилок;
- модифікація програми для задоволення мінливих експлуатаційних вимог;
- доробка програми для вирішення конкретних завдань;
- проведеніe додаткових тестових прорахунків;
- внесення виправлень в робочу документацію;
- удосконалення програми і т.д.
Стосовно до багатьох програм роботи із супроводу поглинають більше половини витрат, що припадають на весь період часу існування програми (починаючи від вироблення початкової концепції і закінчуючи моральним її старінням) в вартісному вираженні.
Програма, призначена для тривалої експлуатації, повинна мати відповідну документацію та інструкцію щодо її використання.
Питання для самоконтролю
8.1. Які основні етапи включає в себе вирішення завдань на комп'ютері?
8.2. Які етапи комп'ютерного вирішення завдань здійснюються без участі комп'ютера?
8.3. Що називають математичною моделлю об'єкта чи явища?
8.4. Чому неможливо точне дослідження поведінки об'єктів або явищ?
8.5. Які способи моделювання здійснюються за допомогою комп'ютера?
8.6. З яких послідовних дій складається процес розробки програми?
8.7. Доводить чи отримання правдоподібного результату правильність програми?
8.9. Чим тестування програми відрізняється від її налагодження?
8.10. Яким чином програма-відладчик допомагає дослідити поведінку програми в процесі її виконання?
8.11. Як слід планувати процес налагодження програми?
8.12. Чи можна за допомогою тестування довести правильність програми?
8.13. На якій стадії роботи над програмою обчислюються еталонні результати тестів?
8.14. Назвіть основні етапи процесу тестування.
8.15. У чому полягає відмінність синтаксичних помилок від семантичних?
8.16. Про що свідчить відсутність повідомлень машини про синтаксичних помилках?
8.17. Які різновиди помилок транслятор не в змозі виявити?
8.18. Для чого програмами потрібно супровід?
Складіть системи тестів для вирішення наступних завдань:
8.1. Знайдіть найбільший спільний дільник двох заданих цілих чисел.
8.2. Знайдіть найменше спільне кратне двох заданих цілих чисел.
8.3. Визначте, чи є задане число непарних двозначним числом.
8.4. Задані площі квадрата і кола. Визначте, чи поміститься квадрат в колі.
8.5. Вирішіть біквадратне рівняння.
8.6. Знайдіть середнє арифметичне позитивних елементів заданого одновимірного масиву.
8.7. Елементи заданого одновимірного масиву розділіть на його перший елемент.
8.8. Визначте, чи лежить задана точка на одній зі сторін трикутника, заданого координатами своїх вершин.
8.9. Визначте, чи мають спільні точки дві плоскі фігури - трикутник із заданими координатами його вершин і коло заданого радіуса c центром на початку координат.
8.10. Задано ціле А> 1. Знайдіть найменше ціле невід'ємне k, при якому 2 k> А.
8.11. Дана послідовність цілих чисел. Визначте, з скількох парних чисел вона починається.
8.12. У заданому двовимірному масиві знайдіть кількість рядків, які містять нулі.
8.13. Визначте, скільки рядків заданого двовимірного масиву містять елементи з заданого діапазону.
8.14. Перетворіть число, задане в римській системі числення, в число десятковоїсистеми.