Інформація про новину
  • Переглядів: 19
  • Дата: 19-10-2021, 19:52
19-10-2021, 19:52

6.6. Налагодження проекту в Lazarus

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





Попередня сторінка:  6.5. Поле в Lazarus. Проекти з вхідними дани...
Наступна сторінка:   6.7. Логічні вирази в Lazarus. Змінні логічн...

1. Що таке компіляція інтерпретація проекту?

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

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

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

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

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

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

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

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

Тестування лінійних фрагментів проекту

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

при різних значеннях

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

Часто учні, записуючи команду присвоювання для обчислення значення від

повідного виразу у := (2*х-5)/(х*х+1), забувають узяти знаменник (а то й чисель

ник) у дужки, тобто вводять, наприклад, команду

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

Аля тих, хто вивчає Pascal

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

Мал. 6.53. Текст проекту із зафарбованим рядком, що містить помилку

У такому разі, щоб повернутися до режиму редагування проекту, потрібно натиснути сполучення клавіш Ctrl+F2 або вибрати кнопку

Завершити.

Далі потрібно зрозуміти, у чому полягає помилка, виправити її і знову запустити проект на виконання.

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

Коментарі

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

Аля тих, хто вивчає Pascal

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

Якщо текст коментаря короткий і не займає більше одного рядка, то можна замість дужок поставити перед ним дві похилі риски, наприклад //Команда введення значення х (мап. 6.54).

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

Під час тестування проекту іноді можна тимчасово не виконувати певні команди. У такому разі їх потрібно перетворити на коментар.

Так, наприклад, можна закоментувати рядок з командою

А замість неї до тексту проекту включити команди виведення, наприклад у вікно повідомлень значень чисельника і знаменника дробу.

Після виправлення логічної помилки потрібно проект повернути до початкового вигляду.

Аля тих, хто вивчає Python

Коментарем у проекті мовою Python є частина рядка від символа # до кінця рядка. Він може розміщуватися після команди, а може міститися в окремому рядку (мап. 6.55). Коментар не може знаходитися всередині команди.

У мові Python не передбачено коментарі, що займають кілька рядків. Але якщо потрібно додати до проекту опис, що займає кілька рядків, то його можна подати як текст, розмістивши на початку проекту. Перед текстом і після нього потрібно поставити по три символи лапок (мап. 6.55).

Під час тестування проекту іноді можна тимчасово не виконувати певні команди.

У такому разі їх потрібно перетворити на коментар. Для цього слід виділити рядки з такими командами та натиснути Alt+З. На початку виділених рядків з’являться символи ## і рядки вважатимуться коментарями. Коли потрібно буде знов виконувати ці команди, їх слід виділити та натиснути Alt+4. Символи ## у виділених рядках зникнуть.

Працюємо з комп'ютером

Виконайте тренувальні завдання за посиланням

https://cutt.ly/Ehdrd8p

або QR-кодом.

Найважливіше в цьому пункті

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

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

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

Налагодження проекту - це процес виправлення помилок у проекті.

Коментар - це текст, який ігнорується компілятором

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

Аля тих, хто вивчає Pascal

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

Виконання проекту можна перервати, натиснувши сполучення клавіш Ctrl+F2 або вибравши кнопку

Завершити.

Аля тих, хто вивчає Python

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

Щоб перетворити рядки з командами на коментар, потрібно виділити рядки з такими командами та натиснути Alt+З. Щоб видалити коментарі з деяких рядків, потрібно ці рядки виділити та натиснути Alt+4.

Аайте вілповілі на запитання

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

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

З*. Для чого потрібно тестувати проект?

4*. Що таке налагодження проекту?

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

6*. Для чого до тексту проекту включають коментарі?

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

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

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

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

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

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

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

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

4*. Відкрийте проект, наприклад з папки Розділ 6\Пункт 6.6\Проєкт 6.6.4. Перегляньте текст проекту і визначте, яку задачу розв’язує цей проект. Складіть три тестових набори вхідних даних для тестування проекту. Обчисліть очікувані результати. Протестуйте проектна ваших тестових даних. Зробіть висновок, чи містить проект логічні помилки. Якщо так, виправте їх. Збережіть виправлений проект у папці з іменем Завдання 6.6.4, створеній у вашій папці.

 

 

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

 



Попередня сторінка:  6.5. Поле в Lazarus. Проекти з вхідними дани...
Наступна сторінка:   6.7. Логічні вирази в Lazarus. Змінні логічн...



^