Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, углубленный уровень)



Урок 40
§23. Как разрабатываются программы?




Содержание урока

Этапы разработки программ

Методы проектирования программ

Отладка программы

Документирование программы

Выводы

Вопросы и задания

Практическая работа № 19 «Отладка программы»


Отладка программы


Простейший метод отладки программы — это вывод отладочной информации. Рассмотрим этот способ на примере.

Программисту нужно было написать программу, которая вычисляет корни квадратного уравнения ах2 + bх + с = 0. Он поспешил и написал программу так:

Для вычисления квадратного корня здесь используется стандартная функция sqrt. Оказалось, что программа в некоторых случаях работает верно (например, при а = 1, b = 2 и с = 1), а в других случаях — неверно (например, при а = 1, b = -5 и с = 6).

Для того чтобы найти ошибку, нужно определить её возможные причины. В нашем случае есть три варианта:

1) неверно вводятся данные;

2) неверно вычисляется дискриминант D = b2 -4ас;

3) неверно вычисляются корни

Добавим в программу две дополнительные команды для вывода отладочной информации:

1) выведем значения коэффициентов а, Ъ и с сразу после ввода;

2) выведем вычисленное значение дискриминанта.

Значения корней уравнения уже и так выводятся в конце работы программы.

При вводе коэффициентов 1, -5 и 6 программа (на алгоритмическом языке) выводит:

1.0 -5.0 6.0

D=21.0

х1=4.791288 х2=0.208712

По первой строке видим, что ввод выполнен правильно — именно такие числа мы вводили. А вот значение дискриминанта, вычисленного программой, отличается от того, что мы ожидаем получить: D = (-5)2 - 4 • 1 • 6 = 1. Поэтому нужно искать ошибку в выражении для вычисления D.

Если исправить эту ошибку (сделайте это самостоятельно), мы увидим, что дискриминант считается правильно, а корни уравнения — нет (при а = 1, 5 = -5 и с = 6 мы должны получить х1 = 3 и х2 = 2). Поэтому останется исправить ошибки в строках, где вычисляются корни.

Современные среды программирования, в том числе КуМир, АЛГО и PascalABC.NET, содержат встроенный отладчик, который позволяет:

• выполнять программу в пошаговом режиме;
• после выполнения очередной команды просматривать значения переменных в памяти;
• устанавливать точки останова, где программа должна остановиться и перейти в пошаговый режим.

Доработайте программу так, чтобы учесть случай, когда уравнение не имеет вещественных корней.

Следующая страница Документирование программы



Cкачать материалы урока








Наверх