Page 227 - 4505
P. 227
Приклад. Система тестів для завдання знаходження коріння квадратного рівняння
ax2 + bx + з = 0 :
Коефіцієнти
Випадок, що перевіряється Результати
a b c
d >0 1 1 -2 x1 = 1, x2 = - 2
d=0 1 2 1 Коренірівні: x1 = - 1, x2 = - 1
d <0 2 1 2 Дійснихкоренівнема
a=0, b=0, c=0 0 0 0 Всікоефіцієнтирівнінулю. х — будь-яке
число.
a=0, b=0, c<>0 0 0 2 Невірне рівняння
a=0, b<>0 0 2 1 Лінійне рівняння. Один корінь: x = - 0,5
a <>0, b <>0, с = 0 2 1 0 x1 = 0, x2 = - 0,5
Відладка і тестування — це два різних і несхожих один на одного етапи:
при відладці відбувається локалізація і усунення синтаксичних помилок і явних помилок
кодування;
у процесі ж тестування перевіряється працездатність програми, що не містить явних
помилок.
Тестування встановлює факт наявності помилок, а відладка з'ясовує її причину.
7.2. Алгоритми.
Поняття алгоритму.
Поняття алгоритму таке ж основоположне для інформатики, як і поняття інформації. Саме
тому важливо в нім розібратися.
Назва "алгоритм" відбулася від латинської форми імені найбільшого середньоазіатського
математика Мухаммеда ібн Муса ал-Хорезмі (Alhorithmi), що жив в 783-850 рр. У своїй книзі
"Про індійській рахунок" він виклав правила запису натуральних чисел за допомогою
арабських цифр і правила дій над ними "стовпчиком", знайомі тепер кожному школяру. У XII
столітті ця книга була перекладена на латинь і набула широкого поширення в Европе.
Людина щодня зустрічається з необхідністю слідувати тим або іншим правилам,
виконувати різні інструкції і вказівки. Наприклад, переходячи через дорогу на перехресті без
світлофора треба спочатку подивитися направо. Якщо машин немає, то перейти півдороги, а
якщо машини є, чекати, поки вони пройдуть, потім перейти півдороги. Після цього подивитися
наліво і, якщо машин немає, то перейти дорогу до кінця, а якщо машини є, чекати, поки вони
пройдуть, а потім перейти дорогу до кінця.
У математиці для вирішення типових завдань ми використовуємо певні правила, що
описують послідовності дій. Наприклад, правила складання дробових чисел, вирішення
квадратних рівнянь і так далі Зазвичай будь-які інструкції і правила є послідовністю дій, які
необхідно виконати в певному порядку. Для вирішення завдання треба знати, що дане, що слід
отримати і які дії і в якому порядку слід для цього виконати. Розпорядження, що визначає
порядок виконання дій над даними з метою отримання шуканих результатів, і є алгоритм.
Алгоритм — заздалегідь задане зрозуміле і точне розпорядження можливому виконавцеві
зробити певну послідовність дій для отримання рішення задачі за кінцеве число кроків.
Це — не визначення в математичному сенсі слова, а, швидше, опис інтуїтивного поняття
алгоритму, що розкриває його суть.
Порядок виконання алгоритму:
Дії в алгоритмі виконуються в порядку їх запису
Не можна міняти місцями ніякі дві дії алгоритму
Не можна не закінчивши однієї дії переходити до наступної
У міру розвитку паралельності в роботі комп'ютерів слово «послідовність» почали
замінювати більш загальним словом «порядок». Це пов'язано з тим, що якісь дії алгоритму
мають бути виконані тільки один за одним, але якісь можуть бути і незалежними. Поняття
алгоритму необов'язково відноситься до комп'ютерних програм, так, наприклад, чітко описаний
223