Research Center Logo
"Borderland Society: Past and Present"
MAIN CONTENT NEWS & EVENTS

Урок 34. Практична робота 11. Налагодження готової програми

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

Поняття помилок у проектах

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

Тестування проекту

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

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

procedure TForm1.Button1Click(Sender: TObject);
var x, у: real;
begin
x := StrToFloat(Edit1.Text);
у := (2*x-5)/(x*x+1);
Label1.Caption :=FloatToStr(y);
end;

Часто учні, записуючи команду присвоювання для обчислення значення відповідного виразу у := (2*x-5)/(x*x+1), забувають узяти знаменник (а то й чисельник) у дужки. Таку логічну помилку нескладно помітити, застосувавши вдалу добірку тестів. Під час тестування для х = 0 стане очевидним, що проект не видає очікуваного правильного результату -5, а неочікувано перериває своє виконання, відкриваючи вікно з повідомленням про помилку. У цьому вікні, крім повідомлення про помилку, вказується номер і вміст рядка з помилкою. Після вибору кнопки ОК це вікно закривається, а рядок з помилкою в тексті процедури стає зафарбованим.

Методи та інструменти налагодження

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

Для ефективного налагодження використовують такі інструменти:

  • Точка зупинки: Якщо в деякому рядку проекту встановлено точку зупинки, то після запуску проекту на виконання в автоматичному режимі виконається частина проекту від самого початку і до цього рядка. Для встановлення точки зупинки в потрібному рядку слід вибрати номер цього рядка в тексті проекту.
  • Покрокове виконання: Для виконання одного кроку проекту потрібно виконати Виконати — Переступити або натиснути клавішу F8. Під час покрокового виконання фон рядка проекту, команди якого будуть виконані під час наступного кроку виконання, фарбується в сірий колір.
  • Вікно спостереження: Щоб помістити ім'я змінної до вікна Властивості Спостерігання, потрібно натиснути сполучення клавіш Ctrl + F5 або виконати Виконати — Додати спостереження.
  • Коментарі: Коментар — це текст, який ігнорується компілятором і включається до тексту проекту з метою полегшити його розуміння та пошук логічних помилок.
Дія Інструмент / Клавіші
Виконати один крок F8 або Виконати -> Переступити
Додати спостереження за змінною Ctrl + F5 або Виконати -> Додати спостереження
Перервати виконання Сполучення клавіш або кнопка "Завершити"

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