Складання та виконання алгоритмів опрацювання текстових величин
Як функції застосовують для опрацювання текстових величин?
У програмах мовою програмування Object Pascal використовують й інші функції для опрацювання текстових величин
Якими бувають помилки при створенні та виконанні програм?
Створений у середовищі програмування проект може не виконуватися взагалі, або результат його виконання не відповідатиме очікуваному результату. Це відбувається тоді, коли при складанні алгоритму розв’язування завдання чи написанні коду програми були допущені помилки. Розрізняють такі групи помилок:
- синтаксичні
- помилки під час виконання;
- логічні.
Синтаксичні помилки можна виявити як у процесі написання коду, так і після запуску проекту на виконання.
Якщо деяка команда у програмному коді написана програмістом не за правилами, прийнятими в мові програмування, то вона може набувати іншого кольору, відмінного від кольору правильно написаних команд.
Після запуску проекту на виконання, якщо у програмному коді така помилка не була виправлена, у середовищі Lazarus у вікні повідомлення про хід компіляції проекту отримуємо номер рядка програмного коду та позиції об’єкта в рядку, де допущена помилка, й опис помилки.
У вікні редактора коду рядок, на якому «зупинився» процес компіляції, буде позначено.
Рядок, у якому допущена помилка, може бути вказаний не точно. Наприклад, повідомлення про пропущений символ «;» у рядку під номером 43 у вікні повідомлення буде позначено рядком із номером 44.
Таким чином є помилки, що позначають невідповідність типів описаних величин і значень, які їм присвоюються у процесі виконання програми. Наприклад, коли текстовій величині Edit.Text присвоюється числове значення.
До помилок під час виконання належать помилки, пов’язані з неправильними числовими обчисленнями, помилки при знаходженні значень величин за формулами. Їх розпізнають тільки під час виконання програми.
У середовищі Lazarus такі помилки називають винятками, вони супроводжуються виведенням на екран повідомлення про помилку.
Як налагоджувати програми в середовищі програмування?
Процес пошуку логічних помилок у тексті програми з використанням текстових наборів вхідних даних називають тестуванням програми.
Допомагають у пошуку логічних помилок коментарі, які можна включати до тексту програми. Коментарі– це текст, який виконується після запуску програми, а розміщується для пояснення структури програмного коду.
Мовою програмування FreeРascal- символам // - якщо коментар не займає більше ніж рядок, {} або (* *) – коментар, який може займати декілька рядків.
Ще одним способом виявлення у програмі логічних помилок є її покро-кове виконання, або трасування. Крок виконання програми – це рядок програми. Для виконання одного кроку програми в середовищі Lazarus натискують клавішу F7 або в меню Виконати обирають вказівку Вступити. Після першого натиснення клавіші F7 відбувається компіляція проекту, і якщо проект не містить синтаксичних помилок, то починається його виконання, при цьому з'являється вікно програми в машинних кодах. З кожним наступним натисненням клавіші F7 виконуватимуться команди наступного рядка: буде відкрито вікно програми, у яке можна ввести дані, змінним величинам буде присвоєно введені значення, виконані обчислення і т.д., насамкінець — виведений результат. Щоб під час виконання програми слідкувати за зміною значень змінних, налаштовують параметри вікна Властивості Спостерігання, виклик якого здійснюється вказівкою Додати спостереження меню Виконати або натискуванням клавіш Ctrl+F5.
У полі Вираз записують ідентифікатори змінних, за якими будуть спостерігати в ході покрокового виконання програми. Значення введених змінних буде відображатися у вікні Список спостережень, яке з’являється після натиснення кнопки Гаразд.
Слідкуючи за значеннями змінної, за якою спостерігають, і порівнюючи їх з очікуваними, можна помітити, у який момент виконання програми це значення не відповідає очікуванням. Саме воно може бути причиною логічної помилки. |
Завдання. Проект Калькулятор.
Варіант інтерфейсу проекту
Програмний код procedure TForm1.Button1Click(Sender: TObject); var a, b, z : real;
|
procedure TForm1.Button2Click(Sender: TObject); procedure TForm1.Button3Click(Sender: TObject); procedure TForm1.Button4Click(Sender: TObject); procedure TForm1.FormCreate(Sender: TObject); |