Тема 2. Основы алгоритмизации и программирования
Тема 2.1. Базовые понятия программирования
Приложение: project 3_calc_otladka
Занятие 15. Отладка программ. Комментарии.
В процессе разработки проекта могут возникать синтаксические и логические ошибки.
Синтаксические ошибки, которые не заметил автор проекта, находит компилятор на этапе компиляции во время запуска проекта на исполнение. Нужно исправить все эти ошибки и опять запустить на исполнение новую версию проекта.
Логические ошибки в проекте обнаружить значительно сложнее, чем синтаксические. Ведь проект исполняется, выдает результаты, но они не соответствуют условию задачи, для решения которой создавался данный проект.
1. При рассмотрении этапов решения задач с использованием компьютера уже пояснялось, что одним из способов выявления логической ошибки является создание тестовых наборов входных данных с заранее известными результатами и исполнение созданного проекта для этих наборов данных.После чего нужно сравнить полученные результаты с ожидаемыми и найти команды в программном коде, выполнение которых является причиной появления логических ошибок. Процесс поиска логических ошибок в тексте программы с использованием тестовых наборов входных данных называют тестированием программы.
2. Помогают в поиске логических ошибок комментарии, которые можно включать в текст программы.
Комментарий — это текст, который игнорируется компилятором и включается в текст программы с целью облегчения понимания структуры программного кода.
Чтобы компилятор отличил команды от комментариев, в Visual Basic 2008 перед комментарием ставится знак апострофа ( ‘ ), например:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x, y, z As Single 'объявление локальных переменных
x = Val(TextBox1.Text) ' переменной пользователя Х присваивается текущее значение переменной TextBox1.Text
y = Val(TextBox2.Text) ' функция преобразования типов
z = x + y
Label4.Text = Str(z)
End Sub
|
Пошаговое исполнение программ
Еще одним способом выявления в программе логических ошибок является ее пошаговое исполнение, или трассировка. Шаг исполнения программы — это строка программы. В строке могут быть записаны одна или несколько команд программы.
Как использовать такую трассировку?
Нужно всего-навсего в нужном месте программы поставить точку останова . Дойдя до такого места, Visual Basic приостановит выполнение программы и переведёт вас в режим Отладки, где вы сможете выполнять код покомандно. Давайте поставим точку останова в нашей программе, и проследим ход её выполнения. Чтобы поставить точку останова нужно кликнуть на вертикали слева от кода:
Замечание: такую точку нельзя ставить на строчке с объявлением переменной.
Пример. Работаем с проектом project 3_calc_otladka.
- Поставьте точку как показано на рисунке и нажмем кнопку "Начать отладку".
- Введите следующие данные в качетсве параметров, например: х = 3, y = -6.
- Щелкнте на кнопке "Сложить"
Visual Basic остановит выполнение программы точно на той строчке, на которой стоит точка останова ( брикпоинт).
Теперь VB в режиме Отладка
Вы можете просматривать значения переменных, наводя на них курсор мыши и выполнять программу по шагам. Чтобы выполнить одну команду, нужно нажать Shift+F8.
- Теперь потрассируйте программу. Проследите за тем, как изменяются значения переменных при присвоении им значения.
⇒
- Теперь откройте окно Локальные. (меню Отладка - Окна - Локальные). В этом окне отображаются значения всех локальных переменных:
Здесь изображены все наши локальные переменные. Их 6 штук.
А вот что такое Me? - "Me" - это тоже зарезервированное слово Visual Basic. Оно указывает на текущую форму. В своей программе вы можете обращаться к своей форме через Me.
Также можно заметить значок "+" слева от "Me". При нажатии на него произойдёт раскрытие списка со всеми дочерними объектами формы. Там же будут находится все элементы управления помещённые на форму, а также все глобальные переменные уровня этой формы.
Заметьте, что окно Локальные - плавающее , и при двойном щелчке по заголовку окна оно "пристыкуется" в среду VB. При очередном двойном щелчке окно "отстыкуется".
НО !!! Ясно, что рассмотренное выше пошаговое исполнение программы лишь продемонстрировало сам процесс и ничего нам не дало для выяснения того места программы, которое приводит к логической ошибке, если такая существует.
Ведь мы не видели, как изменяются значения переменных в ходе такого исполнения. А именно это может нам подсказать, какие команды являются причиной логической ошибки.
Чтобы во время пошагового исполнения программы следить за изменением значений переменных, нужно:
- поставить точку как показано на рисунке:
- нажать кнопку "Начать отладку" или
- ввести значения переменных:
- открыть окно "Локальные":
- нажимая на кнопку Шаг с обходом, просмотреть в окне "Локальные" процесс изменения значений переменных:
занятие 15.1
вверх
назад
|