Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Топ:
Оснащения врачебно-сестринской бригады.
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2023-02-03 | 26 |
5.00
из
|
Заказать работу |
|
|
Цель работы:изучить работу с окнами Immediateи Localsпри отладке программ в редакторе VBA.
Задание 1Работа с окном Immediate
1. Создайте в Excelновую рабочую книгу и сохраните ее с именемDebug1. xlsm.
2. Войдите в редактор VBA, вставьте в окно редактора новую форму (команда Insert>UserForm), разместите на форме элементы управления Label, TextBox и CommandButton. Оформите внешний вид формы, как показано на рис. 4.1.
Рис. 4.1 Внешний вид формы Системы счисления
3. В окне Propertiesвполе Nameдля элементовTextBoxи CommandButtonвведите имяв соответствии с таблицей 4.1.
4. Двойным щелчком по кнопке ОК откройте окно кода и введите между строчками Private Sub cmd_Ok_Click()иEnd Subследующий код:
Dim num_P, num_Q, num_10,num_S
num_P = Val(txt_P)
num_Q = Val(txt_Q)
For i = 1 To Len(txt_A)
num_10 = num_10 + Val(Mid(txt_A, i, 1)) * num_P ^ (Len(txt_A) - i)
‘Debug.Print ("num_10=" & num_10)
Next i
txt_B = ""
While num_10 <> 0
num_S = num_10 Mod num_Q
‘ Debug.Print ("num_S" & num_S)
txt_B = Mid(Str(num_S), 2, 1) + txt_B
‘ Debug.Print ("txt_B=" & txt_B)
num_10 = num_10 \ num_Q
Wend
Таблица 4.1 Имена элементов на форме Системы счисления
Элемент | Наименование | Имя |
Форма | Системы счисления | UserForm1 |
Текстовое поле | Из системы P | txt_P |
Текстовое поле | Число для перевода | txt_A |
Текстовое поле | В систему Q | txt _Q |
Текстовое поле | Результат | txt_B |
Кнопка | OK | cmd_OK |
Кнопка | Очистка | cmd_Clear |
Кнопка | Exit | cmd_Exitr |
5. Двойным щелчком по кнопке Exit откройте окно кода и введите между строчками Private Sub cmd_Exit_Click() и End Sub следующий код:
UserForm1.Hide
6. Двойным щелчком по кнопке Очистка откройте окно кода и введите между строчками Private Sub cmd_Clear_Click() и End Sub следующий код:
txt_A = ""
txt_B = ""
txt_P = ""
txt_Q = ""
7. Запустите программу на выполнение, введите исходные данные в первые три текстовых поля и нажмите ОК. При отсутствии ошибок в программе в текстовом поле Результатбудет выведен результат перевода введенного числа в системе с основанием P в систему с основаниемQ.
|
8. Удалите символ комментария в строках процедуры cmd_Ok_Click, содержащих оператор Debug. Printдля его исполнения в ходе выполнения программы. Этот оператор будет выводить текущие значения переменных num_10, num_S и текстового поля txt_Bв окно Immediate.
9. Откройте окно Immediate(<Ctrl+G>) ипроанализируйте значения, которые контролируемые величины принимали в ходе выполнения программы.
10. Оставьте окно Immediateвидимым на экране и запустите программу командойStepIntoв меню Debbug.
11. Введите исходные данные в текстовые поля формы и последовательным нажатием клавиши <F8> выполните программу в пошаговом режиме, наблюдая в окне Immediate за изменением значений выводимых оператором Debug. Printвеличин.
Задание 2 Работа с окном Locals
1. Откройте окно Localsкомандой LocalsWindow в меню Viev.
2. Запустите программу в пошаговом режиме и проследите значения переменных num_P, num_Q, num_10, num_S на каждом шаге выполнения программы в окне Locals.Вид окна Localsна первом шаге выполнения цикла Fori = 1 …NextI показан рис. 4.2.
3. Просмотрите и попробуйте изменить в окне Locals свойства кнопок и текстовых полей,открыв контейнер специального объекта MEи контейнер соответствующего элемента управления. Вид окна Localsпри открытых свойствах формы и кнопки cmd_Clearпоказан на рис. 4.3.
4. Сохраните книгу Debug1. xlsm и подготовьте отчет по лабораторной работе.
Задание для самостоятельной работы
Изучить приемы использования окна контролируемых выражений Watches при отладке программ в окне редактора VBA.
Рис. 4.2 Вид окна Localsна одном из шагов отладки программы
Рис. 4.3 Вид окна Localsприоткрытых свойствах формы и кнопки cmd _ Clear
Методические материалы
Опыт показывает, что при написании программного кода могут быть допущены ошибки.Задача программиста - найти эти ошибки и устранить их до передачи программы конечному пользователю.
|
Все ошибки можно разделить на три большие группы - синтаксические,логическиеиошибки времени выполнения.
Один из самых важных приемов в ходе отладки программы -переход в режим остановкивыполнения программы, чтобы просмотреть значения переменных и вмешаться в ход выполнения программы вручную.
В режим паузы программу можно перевести:
· сразу запустить программу в режиме пошагового выполнения (меню Debug>StepIntoиликлавиша<F8>). В этом случае программа будет переходить в режим паузы после выполнения каждого оператора;
· установить в программе точку останова (breakpoint). Это можно сделать установкой указателя в нужной строке кода и выбором в меню Debugкоманды Toggle Breakpoint (<F9>). Второй вариант - просто щелкнуть мышкой по рамке слева от строки. Снятие точки останова - сделать все то же самое еще раз;
· еще одна возможность приостановить выполнение программы - воспользоваться контролируемым выражением в окне Watch es.
В любом случае выполнение будет приостановлено в выбранном месте программы и следующий оператор, который должен быть выполнен, будет выделен желтым цветом.
В режим паузы можно:
· продолжить выполнение программы в пошаговом режиме - команда Debug->Step Into(<F8>);
· если в строке программы происходит вызов какой-то процедуры, которая уже отлажена, можно без остановок перейти к следующему оператору - Debug>Step Over(<Shift>+<F8>);
· довести выполнение начатой процедуры до конца - команда Debug>Step Out(Ctrl>+<Shift>+<F8>);
· исполнить код не пошагово, а участками.Для этого надо щелкнуть правой кнопкой мыши по нужному участку кода и в контекстном меню выбрать Run to Cursorили воспользоваться той же командой в меню Debug(<Ctrl>+<F8>);
· "перепрыгнуть" через какой-то участок кода, вызывающий ошибку - командаDebug>Set NextStatement(<Ctrl>+<F9>), а затем перетащить желтую отметку по левой границе вниз или вверх;
· вернуться к месту остановки без долгих розысков -Show Next Statement;
· продолжить выполнение после остановки - <F5> или воспользоваться командой Continue (она появится вместо команды Run) в меню Run;
· прекратить выполнение программы командойReset(<Alt>+<F4>).
В окне Immediate (вызовиз меню View или <Ctrl>+<G>) можно просматривать или изменять значения переменных и свойств объектов.
Вывод в окно Immediateзначений переменной aможно произвести, вписав в код программы строкуDebug.Print a.
|
Изменение значений перемененных и свойств в окне Immediateпроизводится точно так же, как в коде программы.В окне Immediate можно также вызывать процедуры и функции программы или методы объектов - точно так же, как в коде программы.
Чтобы не печатать в окне Immediate выражения и имена переменных, которые уже есть в коде, можно воспользоваться перетаскиванием участков кода в окно Immediate из окна редактора кода с нажатой клавишей <Ctrl>для копирования.
Окно Watch es(Контролируемые выражения) предназначено для контроля за отдельными выражениями и значениями переменных.
Чтобы добавить контролируемое выражение в окно Watch es, нужно щелкнуть по нему правой кнопкой мыши и выбрать из контекстного меню командуAdd Watch.
Для редактирования контролируемоговыраженияв окнеWatchesиспользуется команда Edit Watch, для удаления - Delete Watch, для добавления нового -Add Watch.
Вид окна Watches с введенными двумя контролируемыми выражениями приведен на рис. 4.4.
Ртс. 4.4 Вид окна Watch esс добавленными контролируемыми выражениями
Лабораторная работа № 5
|
|
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!