Федеральное агентство по образованию

федеральное государственное образовательное учреждение

Тольяттинский политехнический колледж

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ

К практической работе №12

по дисциплине «Пакеты прикладных программ»













2008

“Утверждаю”

Заместитель директора по

учебной работе ТПК _________________

“__”_______________ 200__ г.

Одобрено ПЦК по

специальности «Информатика и ВТ»

Зав. ПЦК_________

Методические указания составлены в соответствии с рабочей программой по дисциплине «Пакеты прикладных программ» Специальности 230105 «Программное обеспечение вычислительной техники и АС», утвержденной зам. Директора по учебной работе

Составитель: .
Преподаватель специальных и общеобразовательных дисциплин Тольяттинского политехнического колледжа.

Рецензент:

Методические указания к выполнению работы

Разработка процедур, предотвращающих появление ошибок

Краткие теоретические сведения

При составлении приложений важно предусмотреть, чтобы программа анализировала возможные ошибки, возникающие при ее выполнении по вине пользователя, и информировала его об этом, подсказывая пользователю, что конкретно он сделал неправильно. При этом возможно два подхода:

Предотвращение ошибки.

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

Обработка ошибки

В случае появления ошибки, она перехватывается, обрабатывается и создается программный отклик на возникшую ошибку

НЕ нашли? Не то? Что вы ищете?

Рассмотрим процесс создания приложения, в котором предотвращается появление ошибок, на простейшем примере (листинг 1). Эта программа находит обратное значение без контроля над появлением возможных ошибок.

Листинг 1 Деление двух чисел без предупреждения о возможных ошибках

Private Sub cmdOk_Click()

Dim a As Double, b As Double, C As Double

a = CDbl(TextBox1.Text)*

b = CDbl(TextBox2.Text)*

C = a / b

TextBox3.Text = CStr(C)

End Sub

_____________________________

Подпись: Рис 1 Диалоговое окно Деление двух чисел*Функция CDbl(E) – возвращает значение типа Double; E – любое допустимое численное или строковое выражение, которое может быть преобразовано в число

Несмотря на то, что рассматриваемая ситуация очень простая, уже она таит в себе множество подводных камней. Например, если пользователь по невнимательности забудет ввести в поле А число, при нажатии кнопки Ок произойдет аварийное прерывание выполнения программы с мал понятным сообщением о несоответствии типов (Рис 2). Данное сообщение об ошибке связано с инструкцией:

a = CDbl(TextBox1.Text),

Подпись: Рис 2 Окно <a title=Microsoft Visual Basic" align="left" width="280" height="40"/>где параметром функции CDbl должна быть строка, преобразуемая в число. Если в поле А не введено ничего, по умолчанию из этого поля будет считываться пустая строка. Но пустая строка не может быть преобразована в число, и поэтому из-за функции CDbl происходит ошибка. Ошибка несоответствия типов возникнет также, если в одно из полей пользователь по неосторожности введет число с десятичной запятой, а установками системы предусматривается десятичная точка и наоборот.

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

Листинг 2 Деление двух чисел с проверкой корректности вводимых данных

Private Sub cmdOk_Click()

Dim a As Double, b As Double, C As Double

If Not IsNumeric(TextBox1.Text) Then*

MsgBox "Неверный формат числа À"

TextBox1.SetFocus

Exit Sub

End If

If Not IsNumeric(TextBox2.Text) Then*

MsgBox “Неверный формат числа B”

TextBox2.SetFocus

Exit Sub

End If

a = CDbl(TextBox1.Text)

b = CDbl(TextBox2.Text)

If b=0 Then

MsgBox “На ноль делить нельзя”

TextBox2.SetFocus

End If

Подпись:C = a / b

TextBox3.Text = CStr(С)

End Sub

________________________________________

*Функция IsNumeric возвращает значение (тип Boolean), указывающее, является ли результатом вычисления выражения численное значение

Практическое задание

1.  Самостоятельно создать форму «Вычисление полных лет» с вводом даты рождения

2.  В программе учесть проверки: правильности введенной даты и даты больше текущей даты с выдачей сообщений.

3.  Применить проверку ошибок в задании «Калькулятор».