Private Sub CommandButton2_Click(). Dim x As Single, y As String 'Объявление типов переменных Х и Y

Dim x As Single, y As String 'Объявление типов переменных Х и Y

x = Val(InputBox(" Введите заданный символ")) ' Ввод текущего символа

Select Case x ' Начало оператора Select Case

Case 1: TextBox2.Text = " один " ' Если х=1

Case 2: TextBox2.Text = " два " ' если x=2

Case 3: TextBox2.Text = " три " ' если x=3

Case 4: TextBox2.Text = " четыре " ' если x=4

Case Else: TextBox2.Text = " Ошибочный ввод" ' в остальных случаях

End Select ' Конец оператора Select

y = TextBox2.Text

Debug.Print "символ ="; x; " результат= "; y ' Вывод в окно отладки

End Sub

2. Решение задачи выполняется щелчком по кнопке Запуск 2-й программы. Как и в первом задании осуществить ввод значение 1,2,3,4 и записать результаты. Закрыть проект и открыть отладочное окно Immediate Window. Сравнить результаты.

Оформление протокола лабораторной работы

1. Отчет оформить на рабочем листе 1.

2. В заголовке лабораторной работы записать ее номер и цель проведения.

3. Записать условия индивидуальных заданий и порядок выполнения.

4. На листе 1 записать результаты решения.

5. Записать проект в личную папку под именем Лаб. 5.

6. Подготовиться для ответа на контрольные вопросы при защите лабораторной работы.

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

1. Дайте определение разветвляющегося вычислительного процесса.

2. Когда применяются операторы безусловного и условного перехода?

3. Функционирование оператора безусловного перехода GOTO.

4. Определение метки, к которой передается управление.

5. Дайте определение простого логического выражения. Приведите пример.

6. Что является результатом решения логического выражения?

7. Объясните логические операции AND, OR, NOT.

8. Дайте определение сложного логического выражения. Приведите пример.

9. Работа однострочного IF с сокращенной и полной формой представления.

10. Работа многострочного IF с сокращенной формой представления.

11. Работа многострочного IF с полной формой представления

12. Для каких целей используется оператор CASE и как он функционирует?

13. Функционирование оператора CASE без конструкции else.

14. Какие данные можно использовать в качестве селектора?

15. Что означают записи: Case 1 to 5, Case Is > 10

Л а б о р а т о р н а я р а б о т а № 6

Циклические программы в VBA

Цель работы: освоение работы операторов организации циклов. Разработка проектов для решения задач по простым циклическим программам. При подготовке к работе изучить теоретический материал (с.26 – 29).

Задание для выполнения лабораторной работы состоит из трех задач.

Задача 1. Разработать проект для решения задач по простым циклическим программам с помощью оператора IF.

Задача 2. Разработать проект для решения задач по простым циклическим программам с помощью оператора FOR.

Задача 3. Разработать проект для вычисления суммы членов ряда. Условия задач выбираются из табл. Л6.1 (алгоритмы см. глава1, Рис.1.5, а,с.).

 

Таблица Л6.1 – Варианты к заданию 1

№ вар. Вычисляемая функция Организация цикла с операторами Изменения аргумента вычисляемой функции
  из лаб. работы № IF FOR ХН ХК
    + +   2.2 0.2
    + + -1.8 0.4 0.2
    + + -1.6 0.6 0.2
    + + -1.4 0.8 0.2
    + + -1.2   0.2
    + + -1 1.2 0.2
    + + -0.8 1.4 0.2
    + + -0.6 1.6 0.2
    + + -0.4 1.8 0.2
    + + -0.2   0.2
    + + 0.2 2.4 0.2
    + + 0.4 2.6 0.2
    + + 0.6 2.8 0.2
    + + 0.8   0.2
    + +   3.2 0.2
    + + -1 0.1 0.1
    + + -0.9 0.2 0.1
    + + -0.8 0.3 0.1
    + + -0.7 0.4 0.1
    + + -0.6 0.5 0.1
    + + -0.5 0.6 0.1
    + + -0.4 0.7 0.1
    + + -0.3 0.8 0.1
    + + -0.2 0.9 0.1
    + + -0.1   0.1
    + + 0.1 1.2 0.1
    + + 0.2 1.3 0.1
    + + 0.3 1.4 0.1
    + + 0.4 1.5 0.1
    + + 0.5 1.6 0.1
    + + 0.6 1.7 0.1

Пример записи условия задачи 1 и 2 для нулевого варианта.

Составить проект для табулирования следующей функции (см. лабораторную работу №4, нулевой вариант)

Задача 1. при хн= 0; хк= 2.2; dx=0.2; t=2.65; a= 3 при использовании оператора IF для организации цикла.

Задача 2. при хн= 0; хк= 2.2; dx=0.2; t=2.65; a= 3 при использовании оператора цикла FOR.... Next.

Задача 3. Разработать проект для вычисления суммы членов ряда с заданной точностью Е= 0.001 и число его членов, если задан общий член ряда an. Для вариантов общий член ряда представлен в табл. Л6.2 (алгоритм см. глава 1, рис. 1.6, а также главу 6.3).

Таблица Л6.2 — Варианты для задания № 3

№ вар. Общий член ряда Оператор цикла № вар. Общий член ряда Оператор цикла
  Do while…   Do while…
  Do Until…   Do Until…
  Do..loop while   Do..loop while
  Do..loop Until   Do..loop Until
  Do while…   Do while…
  Do Until…   Do Until…
  Do..loop while   Do..loop while
  Do..loop Until   Do..loop Until
  Do while…   Do while…
  Do Until…   Do Until…
  Do..loop while   Do..loop while
  Do..loop Until   Do..loop Until
  Do while…   Do while…
  Do Until…   Do Until…
  Do..loop while   Do..loop while
  Do..loop Until      

Интерфейс пользователя для трех задач представлен на рис. Л6.1. Ввод данных выполняется программно, с помощью операторов присваивания. Вывод задачи 1 и 2 выполняется в окно отладки Immediate Window, а задачи 3 в текстовое окно TextBox2. Свойства элементов представлены в табл. Л6.3. Результат работы проекта на рис. Л6.2.

Таблица Л6.3 — Таблица свойств элементов

Элемент (Объект) Свойство Значение свойства
Форма1 Caption Циклическая программа
TextBox1 Text  
TextBox2 Text  
Кнопка 1 Caption Запуск 1 задачи
Кнопка 2 Caption Запуск 2 задачи
Кнопка 3 Caption Запуск 3 задачи
Кнопка 4   Закрыть проект

Окно TextBox1 используется для подсказки, где расположен результат решения (в окне отладки Immediate Window).

       
 
Рис. Л6.1. Интерфейс  
 
Рис. Л6.2. Выполнение проекта  

 


Пример процедуры отклика кнопки 1 (1-й задачи нулевого варианта).

Private Sub CommandButton1_Click() ‘ Заголовок процедуры отклика

Dim x, y, xn, xk, dx As Single ‘ Описание вещественных переменных

Dim a As Integer ‘ Описание целых переменных

Const t = 2.65 ‘ Присвоение константе t вещественного числа 2.65

xn = 0: xk= 2.2: dx= 0.2 ‘ Присвоение значения xn, xk, dx

a = 3 ‘ Присвоение значения a

x=xn

1: y = (3.5 + x) / (x + 1) – (2 ^ x + a) / Sin(x + 2) – t ‘ Вычисление У

Debug.Print "x= "; x, "y= "; y ‘ Вывод х, у в окно отладки Immediate Window

X=x+dx

If x<=xk then goto 1 ‘ Переход к метке 1 при истинности x<=xk

textBox1.text= “см. Immediate “

End Sub ‘ Конец процедуры отклика

Пример процедуры отклика кнопки 2 (2-й задачи нулевого варианта).

Private Sub CommandButton2_Click() ‘ Заголовок процедуры отклика

Dim x, y, xn, xk, dx As Single ‘ Описание вещественных переменных

Dim a As Integer ‘ Описание целых переменных

Const t = 2.65 ‘ Присвоение константе t вещественного числа 2.65

xn = 0: xk= 2.2: dx= 0.2 ‘ Присвоение значения xn, xk, dx

a = 3 ‘ Присвоение значения a

for x=xn to xk step dx ‘ Оператор цикла for

1: y = (3.5 + x) / (x + 1) – (2 ^ x + a) / Sin(x + 2) – t ‘ Вычисление У

Debug.Print "x= "; x, "y= "; y ‘ Вывод х, у в окно отладки Immediate Window

Next x ‘ Конец области действия DO

textBox1.text= “см. Immediate “

End Sub ‘ Конец процедуры отклика

Пример процедуры отклика кнопки 3 (3-й задачи нулевого варианта).

Private Sub CommandButton3_Click() ‘ Заголовок процедуры отклика

Dim an, S, e As Single ‘ Описание вещественных переменных

Dim n As Integer ‘ Описание целых переменных

e = 0.001 ‘ Присвоение значения

S = 0: n = 1 ‘ Присвоение начального значения

an = n / (n ^ 3 + n ^ 2 + 1) ‘ Вычисление начального an

Do While an >= e ’ Оператор цикла Do While ….. Loop

S = S + an ‘ Получение суммы

n = n + 1 ‘ Изменение n

an = n / (n ^ 3 + n ^ 2 + 1) ‘ Вычисление текущего an

Loop ‘ Конец области действия Do

TextBox2.Text =”S= “ & Format(S, "##0.##") & “n= “ & n ‘ Вывод в TextBox2

End Sub


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: