V. Отладка. На этом этапе проверяется правильность работы программы.
Порядок действий:
V.1. Запустите программу на выполнение и введите значение сторон, как показано на рис. 1.14. Если появятся сообщения о ошибках, попытайтесь устранить их.
V.2. Проанализируйте результаты вычислений. Очевидно, что при тех данных, которые вы ввели (египетский треугольник), периметр треугольника должен быть равен 12, площадь — 6. Почему получился иной результат?
Если система не выдала сообщений об ошибках, это совсем не значит, что программа выдала правильный результат. Отсутствие сообщений компьютера о синтаксических ошибках есть необходимое, но недостаточное условие правильности программы.
Visual Basic считает содержимое текстового поля текстом, а не числом, если даже оно состоит из цифр. Следовательно, переменные А, В и С, берущие свое значение из текстового поля, язык VВ тоже считает текстовыми, а не числовыми. При работе с текстом знак "+" приказывает не складывать значения переменных, а выстраивать их в цепочку (операция конкатенации). Отсюда результат "345" В поле, где выводится значение периметра. Так как при вычислении полупериметра и площади используются знаки деления, умножения и функция вычисления квадратного корня, Visual Basic понимает, что эти действия можно выполнять только с числами. Отсюда получено следующее значение площади:
|
|
SQR(172,5*(172,5 - 3)*(172,5 - 4)* (172,5 - 5)) = 28726,77
V.3. Измените программный код следующим образом:
Privat Sub cmdStart _ Click()
A = Val(TxtA.Text)
B = Val(TxtB.Text)
C = Val(TxtC.Text)
If A + B > C And B + C > A And C + A > B Then
P = A + B + C
Pp = P / 2
S = Sqr(Pp * ((Pp - A) * (Pp - B) * (Pp - C)))
TxtP.Text = Str(P)
TxtS.Text = Str(S)