АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Порядок выполнения работы. 3. Ознакомиться с программной реализацией решения задачи поэлементного ввода 5-ти элементов числового массива и вычисления их суммы

Читайте также:
  1. I. КУРСОВЫЕ РАБОТЫ
  2. I. ОБЩИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ
  3. I. Порядок медицинского отбора и направления на санаторно-курортное лечение взрослых больных (кроме больных туберкулезом)
  4. II. ДИПЛОМНЫЕ РАБОТЫ
  5. II. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ ВЫПОЛНЕНИЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
  6. II. ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ КУРСОВОЙ РАБОТЫ
  7. III Общий порядок перемещения товаров через таможенную границу Таможенного союза
  8. III. Задания для самостоятельной работы по изучаемой теме.
  9. III. Задания для самостоятельной работы по изучаемой теме.
  10. III. Задания для самостоятельной работы по изучаемой теме.
  11. III. Задания для самостоятельной работы по изучаемой теме.
  12. III. Задания для самостоятельной работы по изучаемой теме.

3. Ознакомиться с программной реализацией решения задачи поэлементного ввода 5-ти элементов числового массива и вычисления их суммы.

Dim a(1 To 5) As Integer, k As Integer

Private Sub CommandButton1_Click()

If k <= 5 Then

a(k) = CInt(TextBox2.Text)

k = k + 1

TextBox1.Text = k

TextBox2.Text = ""

End If

If k > 5 Then

TextBox1.Text = ""

CommandButton1.Enabled = False

CommandButton2.Enabled = True

End If

End Sub

Private Sub CommandButton2_Click()

Dim i As Integer, s As Integer

s = 0

For i = 1 To 5

s = s + a(i)

Next

TextBox3.Text = s

End Sub

Private Sub UserForm_Initialize()

k = 1

TextBox1.Text = k

End Sub

Пояснения.

В данной программе реализовано решение задачи поэлементного ввода (заполнения) 5-ти элементов числового массива и далее вычисление их суммы. При необходимой корректировке программы суммирование выполняется пошагово.

На форму помещены три текстовых поля и две командные кнопки.

В поле TextBox1 автоматически выводится номер заполняемого элемента массива. В поле TextBox2 необходимо набирать числовое значение для очередного элемента массива. Ввод набранного числа выполняется щелчком ЛКМ на активной командной кнопке с именем CommandButton1 и надписью «Заполнение очередного элемента массива».

В подпрограмме, связанной с первой командной кнопкой, имеется счетчик заполненных элементов массива. Очередной номер элемента массива выводится в поле TextBox1, а поле TextBox2 после ввода значения предыдущего элемента массива очищается выводом в это поле пустой символьной строки.

После ввода последнего пятого элемента массива оба первые текстовые поля очищаются, а первая командная кнопка перестает быть активной. Программно ее свойству Enabled (возможность использования) вместо первоначального значения True (истина) задается значение False (ложь). На форме первая командная кнопка становится бледной. В противоположность ей вторая командная кнопка с именем CommandButton2 и надписью «Вычисление суммы» становится яркой (активной), так как программно ее свойству Enabled вместо первоначального значения False задается на этом этапе выполнения программы значение True.

После щелчка ЛКМ на второй командной кнопке выполняется связанная с ней подпрограмма. В этой подпрограмме в цикле For…Next накапливается сумма значений элементов массива. В конце эта сумма выводится в третье текстовое поле.

Массив элементов и счетчик их количества объявлены в начале программного модуля. Этим они получили статус глобальных объектов программы, сохраняют свои значения после завершения выполнения подпрограммы, связанной с первой командной кнопкой, и могут быть использованы по ходу выполнения программы. Значение счетчика сохраняется при очередном выполнении подпрограммы заполнения массива, а заполненный массив сохраняется для использования в подпрограмме суммирования значений.

Начальное значение счетчика элементов массива задается и выводится в первое текстовое поле в подпрограмме, описание которой помещено в конец программного модуля. Имя этой подпрограммы отражает событие, при наступлении которого она выполняется. Это происходит сразу при запуске программы на выполнение, когда пользовательская форма (UserForm) инициализируется (наступает событие Initialize), т.е. становится активной.

 

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

- двойной щелчок ЛКМ на кнопке с надписью «Вычисление суммы». Результат: открытие соответствующей подпрограммы.

- щелчок ЛКМ на вертикальной полосе слева от строки s=0. Результат: установка точки останова.

- запуск программы на выполнение и заполнение элементов массива.

- щелчок ЛКМ на кнопке «Вычисление суммы». Результат: переход в режим прерывания на точке останова, возникновение на ней стрелки и подсветка строки s=0.

- выполнение команды Вид/Окно локальных переменных (View/Locals Window). В появившееся окно автоматически помещаются переменные i и s. Окно локальных переменных можно переместить вправо и вверх.

- в окне «Локальные переменные» можно открыть, щелкнув ЛКМ на «+» в строке «Ме», структуру данных, в которой имеется ответвление на глобальный массив чисел «а». После щелчка ЛКМ на «+» перед «а» открываются ветви со значениями элементов этого массива. Закрытие структуры – щелчок ЛКМ на “-“ перед «Ме».

- текущие значения элементов массива можно отображать на каждом шаге. Для этого надо выполнить еще команду Вид/Окно контрольного значения (View/Watch Window – окно слежения). После открытия этого дополнительного окна нужно щелкнуть в его поле ПКМ и выбрать щелчком ЛКМ пункт «Добавить контрольное значение» (Add Watch – дополнение к слежению). Далее в появившемся окне в поле ввода «Выражение» (“Expression”) нужно набрать a (i) и нажать кнопку «ОК».

- далее путем нажатия клавиши F8 осуществлять выполнение очередного шага. Результат: выполняемая строка текста подпрограммы подсвечивается, в окне «Локальные переменные» отображаются текущие значения переменных i и s, а в окне «Контрольные значения» отображаются очередные значения a(i). После выхода на конец подпрограммы окно локальных переменных очищается.

3. Окончание:

- щелчок ЛКМ на окне «Локальные переменные», обратное перемещение его влево и закрытие щелчком ЛКМ на кнопке «Закрыть»;

- аналогичное закрытие окна «Контрольные значения»;

- щелчок ЛКМ на кнопке «Сброс» («Reset», см. квадратик – 3-я кнопка после кнопки запуска программы на выполнение); результат: на заднем плане возникает окно формы;

- закрытие окна с кодом программы (на переднем плане остается исходное окно формы), можно снова запустить программу на выполнение с пункта 3 или завершить работу, закрыв все окна.

 

3. Завершить работу щелчком ЛКМ на пункте «Завершение сеанса <имя группы>».

Содержание отчета

Отчет должен содержать:

· номер, название и цель работы;

· краткую теоретическую часть, включающую описание трех групп ошибок, ситуаций перехода программы в режим прерывания, использования точек останова программы и действий для организации и пошагового выполнения программы;

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

· заключение по работе.

Контрольные вопросы

 

1. Что такое отладка программы? Цель и основные этапы отладки.

2. Виды ошибок в программе?

3. Основные инструменты отладки в VBА?

 

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)