Народна Освіта » Інформатика » Налагодження проекту

НАРОДНА ОСВІТА

Налагодження проекту

1.    Яке призначення компілятора? Які особливості його роботи?

2.    Які помилки називають синтаксичними? Як вони виявляються на етапі компіляції проекту?

3.    Як відкрити раніше створений проект?

ТЕСТУВАННЯ ПРОЕКТУ

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

Якщо виконання проекту неочікувано переривається або результат його виконання неправильний, то говорять, що проект містить логічні помилки.

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

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

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

х2 +1

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

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

У цьому в ікні, крім повідомлення про помилку, вказується номер і вміст рядка з помилкою. Після вибору кнопки ОК це вікно закривається, а рядок з помилкою в тексті процедури стає зафарбованим (мал. 6.9).

Щоб перервати виконання проекту в такому випадку, потрібно натиснути сполучення клавіш СТіГ + ¥2 або вибрати кнопку д Завершити. Далі потрібно зрозуміти, у чому полягає помилка, виправити її і знову запустити проект на виконання. У розглянутому випадку це відбувається тому, що в ході виконання проекту із цим значенням х має виконатися операція ділення на 0, яку виконати неможливо.

Якщо як тестовий приклад буде взято інше значення х, наприклад —1, то виконання проекту не переривається, вікно з повідомленням про помилку не відкривається, але як результат буде виведено число —6, хоча очікуваним правильним результатом є число —3,5. У такому випадку також потрібно уважно переглянути текст процедури, виявити помилку і виправити її.

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

Щоб компілятор відрізнив команди від коментарів, коментарі потрібно брати у фігурні дужки, наприклад {Команда обчислення значення у} (мал. 6.10). Інколи коментарі замість фігурних дужок беруть у круглі дужки із зірочками, наприклад (*Команда виведення значення у*).

Якщо текст коментаря короткий і не займає більше ніж один рядок, то можна

 

замість дужок поставити перед ним дві похилі риски, наприклад //Команда введення значення х.

Якщо коментар займає не більше ніж один рядок, то він може знаходитися після команди, а може розпочинатися з початку рядка. Будь-який коментар не може знаходитися всередині команди.

ПОКРОКОВЕ ВИКОНАННЯ ПРОЕКТУ

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

— у2

Розглянемо проект для обчислення значення дробу    . Відпо-

х22

відну процедуру для обчислення значення цього дробу і форму подано на малюнку 6.11. Для кращого розуміння процесу покрокового виконання проекту в процедурі значення чисельника і знаменника дробу обчислено окремими командами.

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

 

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

Для встановлення точки зупинки в потрібному рядку слід вибрати номер цього рядка в тексті проекту. Після цього фон вибраного рядка буде зафарбовано червоним кольором.

 

 

Після запуску проекту на виконання потрібно у вікні, що відкрилося, ввести у відповідні поля значення змінних х і у та вибрати кнопку Обчислити. Після цього розпочинається виконання наведеної процедури. Але оскільки в першій команді цієї процедури встановлено точку зупинки, то виконання процедури призупиниться і можна розпочинати її покрокове виконання. Для виконання одного кроку проекту потрібно виконати Виконати ^ Переступити або натиснути клавішу Г8. Під час покрокового виконання фон рядка проекту, команди якого будуть виконані під час наступного кроку виконання, фарбується в сірий колір (мал. 6.13).

У будь-який момент покрокове виконання проекту можна перервати, натиснувши сполучення клавіш Сігі + ¥2, або вибравши кнопку и Завершити, або вибравши кнопку Виконати.

У перших двох випадках виконання проекту переривається, а у третьому виконання проекту    продовжується

в автоматичному режимі.

ПЕРЕГЛЯД ЗНАЧЕНЬ ЗМІННИХ ПІД ЧАС ТРАСУВАННЯ

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

Щоб під час покрокового виконання проекту спостерігати за зміненням значень змінних, потрібно імена цих змінних помістити до вікна Список Спостережень. Це можна зробити, використавши вікно Властивості Спостерігання.

Щоб помістити ім’я змінної до вікна Властивості Спостерігання, потрібно натиснути сполучення клавіш Сіті + Г5 або виконати Виконати ^ Додати спостереження (мал. 6.14). Ім’я змінної потрібно ввести в поле Вираз цього вікна і вибрати кнопку Гаразд.

 

Після цього відкривається вікно Список Спостережень (мал. 6.15) із внесеним до нього іменем змінної. Таким чином можна до цього вікна внести імена всіх тих змінних, за значеннями яких доцільно спостерігати під час покрокового виконання програми. Вибір кнопки Ф Додати цього вікна також відкриває вікно Властивості Спостерігання, вибір кнопки = Вилучити вилучає із цього вікна виділений рядок з іменем змінної та її значенням, а вибір кнопки '■? Видалити все повністю видаляє список змінних, за якими ведеться спостереження.

 

До початку виконання проекту значення змінних, які використовуються у проекті, не визначені. Тому у вікні Список Спостережень ми бачимо значення цих змінних invalid (англ. invalid -недійсний, неіснуючий).

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

Логічна помилка - це помилка у проекті, що призводить до неочікува-ного переривання його виконання або до неправильного результату його виконання.

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

Тестування проекту - це процес пошуку логічних помилок у проекті з використанням тестових наборів вхідних даних.

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

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

Крок виконання проекту - це виконання команд, записаних в одному рядку проекту. У рядку може бути записано одну команду або кілька.

Для виконання одного кроку проекту потрібно виконати Виконати ^ Переступити або натиснути клавішу Г8.

Покрокове виконання проекту можна перервати, натиснувши сполучення клавіш Оті + ¥2, або вибравши кнопку и Завершити, або вибравши кнопку Виконати.

Щоб під час покрокового виконання проекту стежити за зміненням значень змінних, потрібно імена цих змінних помістити до вікна Список Спостережень. Це можна зробити, використавши вікно Властивості Спостерігання.

Щоб помістити ім’я змінної до вікна Властивості Спостерігання, потрібно натиснути сполучення клавіш Сіті + Г5 або виконати Виконати ^ Додати спостереження. Ім’я змінної потрібно ввести в поле Вираз цього вікна і вибрати кнопку Гаразд.

Дайте відповіді на запитання

1°. У чому полягає процес тестування проекту?

2*. Поясніть, для чого виконується тестування проекту.

3°. Що таке коментар у проекті? Як можна коментар включити до тексту проекту?

4*. Поясніть, для чого в текст проекту включають коментарі.

5°. Для чого проект виконують покроково?

6*. Поясніть, у чому полягає процес покрокового виконання проекту. 7*. Що таке крок виконання проекту? Як здійснити його виконання? 8*. Що таке точка зупинки? Для чого вона використовується?

9*. Як перервати режим покрокового виконання проекту?

10*. Як переглянути значення змінних під час покрокового виконання програми?

Виконайте завдання

1*. Відкрийте проект, наприклад з папки Тема 6\3авдання 6.2\Проект 6.2.1, призначений для розв’язування такої задачі: «Два потяги виїхали одночасно назустріч один одному. Визначити, через який час вони зустрінуться, якщо відома відстань між ними в момент початку руху та швидкість кожного потяга». Виконання обробника події Click для кнопки повинно привести до виведення шуканого часу, якщо значення відстані та швидкостей вводяться в поля. Для заданих початкових даних обчисліть результати та запишіть у зошит:

а)    відстань - 1000, швидкості - 120 та 130;

б)    відстань - 600, швидкості - 80 та 120;

в)    відстань - 1200, швидкості - 115 та 85.

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

2*. Створіть три тестових набори вхідних даних для тестування проекту, призначеного для розв’язання задачі: «Два потяги виіхали одночасно з однієї станції у протилежних напрямках. Потрібно знайти відстань, на якій вони будуть один від одного через заданий час, якщо відома швидкість кожного потяга». Обчисліть очікувані результати за складеними тестами. Відкрийте проект, наприклад з папки Тема 6\3авдання 6.2\Проект 6.2.2. Протестуйте його на ваших тестових даних. Зробіть висновок, чи містить проект логічні помилки. Якщо так, то в чому може бути помилка.

3*. Відкрийте проект, наприклад з папки Тема 6\3авдання 6.2\Проект

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

4°. Відкрийте проект, наприклад з папки Тема 6\3авдання 6.2\Проект

6.2.4.    Виконайте проект у покроковому режимі. Зверніть увагу на відображення ходу виконання проекту.

5*. Відкрийте проект, наприклад з папки Тема 6\3авдання 6.2\Проект

6.2.5.    У ході покрокового виконання проекту простежте за змінен-ням значень змінних s1 та s2.

6*. Учні на свято купили цукерки та печиво. Відомо ціни цукерок і печива та маси куплених солодощів кожного виду. Створіть проект для знаходження повної вартості покупки. Збережіть проект у папці з іменем Завдання 6.2.6, створеній у вашій папці. Виконайте проект у покроковому режимі, простежте за значеннями змінних, що містять значення вартості кожного товару.

7*. Відкрийте проект, наприклад з папки Тема 6\3авдання 6.2\Проект 6.2.7. У ході покрокового виконання проекту простежте за зміною значень змінних х, а та s. З’ясуйте, як значення, яких послідовно набуває змінна а, пов’язані зі значенням змінної х. Змініть проект так, щоб у результаті виконання змінна s містила суму х + х2 + х4 для введеного значення х. Додайте до тексту програми коментар, у якому вкажіть, які зміни було внесено у програмний код. Збережіть проект у папці з іменем 3авдання 6.2.7, створеній у вашій папці.

8*. Відкрийте проект, наприклад з папки Тема 6\3авдання 6.2\Проект 6.2.8. Цей проект призначено для знаходження, на скільки більше часу витратив один з потягів на шлях між містами, ніж другий, якщо задано відстань між містами і швидкості кожного з потягів. З’ясуйте, чи містить проект логічні помилки. Якщо так, визначте, які команди їх спричинили, і виправте їх. Запишіть тестові набори даних, на яких ви виявили логічні помилки. Збережіть виправлений проект у папці з іменем Завдання 6.2.8, створеній у вашій папці.

ПРАКТИЧНА РОБОТА № 11 «Налагодження проекту»

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

1.    Відкрийте вікно середовища Lazarus.

2.    Відкрийте проект для визначення у скільки разів добуток двох заданих дійсних чисел більший за суму цих чисел. Наприклад, проект з папки Тема 6\Практична 11.

3.    Створіть три тестових набори вхідних даних для тестування проекту. Запишіть їх у зошит. Обчисліть очікувані результати й запишіть їх. Протестуйте проект на ваших тестових даних. Порівняйте результати виконання проекту з очікуваними результатами. Запишіть висновок.

4.    Додайте коментарі для команд, у яких відбувається обчислення суми та добутку.

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

6.    Збережіть проект у папці з іменем Практична 11, створеній у вашій папці.

 

Це матеріал з підручника Інформатика 8 клас Ривкінд

 

Категорія: Інформатика

Автор: admin от 16-10-2016, 16:04, Переглядів: 4980