Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Dim sum As Single, sa As Single
sum = 0 For i = 1 To 10 If b(i) Mod 2 = 0 Then sum = summ + b(i) k = k + 1 End If Next sa = sum / k MsgBox("Среднее арифметическое четных чисел" + _ End Sub
18. При попытке выполнить программу выведется сообщение об ошибке: «There were build errors. Would you like to continue and run the last successful build?». После нажатия кнопки Yes запустится старая версия программы, в которой не было добавлена возможность расчёта среднего арифметического. Чтобы понять, в чём дело необходимо посмотреть на содержимое окна Error List, в нём вы увидите следующее: поле Description будет содержать текст – «Name ‘summ’ is not declared», а поле line – номер ошибочной строки. Данное сообщение говорит о том, что переменная summ не объявлена. Действительно, если посмотреть на процедуру btnSa_Click, мы нигде не увидим объявления этой переменной. Как теперь стало понятно имя переменной задано неправильно – надо удалить лишнюю букву m, чтобы имя переменной стало – sum. 19. Ввести большие числа 11111, 22222, 33333, 44444 и т.д. При вводе числа большего 32767 программа завершается аварийно, так как возникает ошибка выполнения – An unhandled exception of type ‘OverflowException was unhandled’, т.е. ошибка переполнения. Цветом выделяется строка с оператором, выполнение которого привело к возникновению ошибки. Это строка, в которой вызывается функция InputBox для ввода значения в элемент массива b(i). Так как тип элементов массива Short, то вводимое значение не должно превышать 32767. Если требуется работать с большими по значению целыми числами, нужно выбрать тип Integer или Long. 20. Перейти из режима отладки в режим конструктора. Для этого нажать кнопку (End) и в секции FormOtl Declarations изменить тип элементов массива b(10) Short на Long. Запустить программу и повторить ввод больших чисел. Затем проверить работу процедур нахождение суммы чисел и среднего арифметического четных чисел. В случае возникновения ошибки OverflowException (переполнение), изменить тип переменной, при работе с которой произошло переполнение. 21. Ввести числа 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 (кнопка Ввод чисел). Найти среднее арифметическое (кнопка Ср.арифм. четных чисел). При попытки расчёта среднего арифметического, программа выдаст строку: «Среднее арифметическое четных чисел NaN». Чтобы определить причину возникновения ошибки следует просмотреть значения всех переменных процедуры. Для этого поставим точку останова на строке sa = sum / k. После остановки программы на этой строке посмотрим значения переменных sum и k, они оказались равными нулю. Значит, ошибка в расчёте среднего арифметического возникла из-за деления на нуль. Можно воспользоваться любым из рассмотренных выше способов просмотра значения переменной, однако мы сделает это новым способом – нажать кнопку (Locals Window). В окне Locals отображаются все локальные переменные и их текущее значение. Использовать возможности отладчика, и посмотреть, почему переменные sum и k остаются равными нулю. Для этого:
- установить точку останова на строке sum = 0; - выполнить трассировку процедуры, наблюдая за выделением в строках и значением переменных в окне Locals. При выполнении строки с оператором If строки с операторами sum = sum + b(i) и - перейти из режима отладки в режим конструктора. Для этого нажать кнопку (End). В данном случае ошибка в расчёте возникла при делении нуля на нуль, и произошло это в том случае, когда были введены одни нечётные числа. Если бы результирующая переменная sa имела бы тип не Single, а какой-нибудь целочисленный тип данных, то произошло бы переполнение. Следует предусмотреть в алгоритме процедуры обработку ошибок выполнения. Так как одни и те же ошибки выполнения могут возникать при выполнении разных процедур модуля, то следует разработать процедуру – обработчик ошибок, общую для всех процедур модуля формы. 22. Добавить процедуру Function в модуль формы. Для этого следует в конец файла с кодом программы, между строками 23. Ввести текст процедуры:
Public Function Obr_Err(ByVal Err_Num As Integer) _ Dim txt As String Select Case Err_Num
|
|||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 205; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.247.196 (0.004 с.) |