Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_к_ЛР (VBA).doc
Скачиваний:
117
Добавлен:
09.02.2016
Размер:
3.1 Mб
Скачать

Разработка проектов в vba по разветвляющимся программам

Цель работы: освоение операторов безусловной и условной передачи управления, а также оператора выбора. Разработка проектов для решения задач по разветвляющимся программам с применением операторов if и case. При подготовке к работе изучить теоретический материал (с.22 – 26).

Задание № 1. Разработать проект для решения задачи по разветвляющейся программе. Функции для вычисления приведены в табл. Л5.1(вар. 16-30 см. лаб. 1). Порядок выполнения задания 1 приведен ниже. Результатом работы проекта по заданию 1 являются значения У при введенных значениях Х.

Таблица Л5.1 — Варианты к заданию № 1

Функ-

ция

Усло-

вие

sin(x)

cos(x)

tg(x)

eX

ln(x)

X2.5

В оста-льных

слу-

чаях

№вар.

0

+

+

+

+

0

1

+

+

+

+

1

2

+

+

+

+

2

3

+

+

+

3

4

+

+

+

4

5

+

+

+

5

6

+

+

+

+

6

7

+

+

+

+

7

8

+

+

+

+

8

9

+

+

+

9

10

+

+

+

10

11

+

+

+

+

11

12

+

+

+

12

13

+

+

+

13

14

+

+

+

14

15

+

+

+

+

15

16

+

+

+

16

Задание № 2. Условия 2-го задания при использовании оператора CASE, выбираются из табл. Л5.2. При запуске проекта последовательно вводятся входные данные, а в текстовом окне получаем результаты решения. Например, для нулевого варианта последовательно вводятся числа 1, 2, 3, 4, результатом являются слова один, два, три , четыре.

Таблица Л5.2 — Варианты к заданию № 2

№ вар.

Вводимые символы

Выводимая информация

0

1, 2, 3, 4

один, два, три , четыре

1

О, Д, Т, Ч

1, 2, 3, 4

2

1,2,5,6, 8

Январь, Февраль, Май, Июнь, Август

3

Я, Ф, М, И, А

1месяц, 2месяц, 5месяц, 6месяц, 8месяц

4

1, 2, 3, 4, 5, 6

Понед., Втор., Среда,Четверг,Пятница, Суббот.

5

П, В, С, Ч, П, С

1 день, 2 день, 3 день, 4 день,5 день, 6 день

6

7, 8, 9, 10,11

Июль, Август, Сентябрь, Октябрь, Ноябрь

7

И, А, С, О, Н

7месяц, 8месяц, 9месяц, 10месяц, 11месяц

8

0, 1, 2, 3, 4

Черный, Синий, Зеленый, Голубой, Красный

9

Ч, С, З, Г, К

0 , 1, 2, 3, 4

10

О, Х, Н, К, Р, Л

Одесса, Херсон, Николаев, Киев, Ровно, Луцк

11

У, З, М, Б, П

Украина, Россия, Молдавия, Болгария, Польша

12

S, C, L, E, A

sin(x), cos(x), ln(x), exp(x), abs(x)

13

Д, В, П, Л, Е

Днепр, Волга, Прут, Лена , Енисей

14

А, Б, В. Г, Д

128, 129, 130, 131, 132

15

1, 2, 3, 4, 5

Иванов, Петров, Сидоров, Якушев, Романов

16

И, П, С, Я, Р

Иванов, Петров, Сидоров, Якушев, Романов

Порядок выполнения лабораторной работы для задания № 1.

1. Выписать условия индивидуального задания из таблицы Л5.1. Знаком + указаны вычисляемые функции и диапазон изменения Х. Математическая формулировка задачи и данные для ввода х для нулевого варианта записаны ниже.

Х= -2для первого условия

Х= 2.5для второго условия

Х= 10для третьего условия

Х=35для четвертого условия

Х=25в остальных случаях

Алгоритм решения данной задачи см. глава 5, пример 5.2.

2. Интерфейс пользователя для обоих заданий представлен на рис. Л5.1. Ввод данных выполняется с помощью функции InputBox. Вывод выполняется в окно элемента управления TextBox1 для 1-го задания и TextBox для 2-го задания. Свойства элементов представлены в табл. Л5.3.

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

Элемент (Объект )

Свойство

Значение свойства

Форма 1

Caption

Разветвляющаяся программа

Надпись (Label1)

Caption

Группа и фамилия студента № вар.

TextBox1

Text

TextBox2

Text

Кнопка 1

Caption

Запуск 1 программы

Кнопка 2

Caption

Запуск 2 программы

Кнопка 3

Caption

Закрыть проект

Рис. Л5.2. Работа проекта

Рис. Л5.1. Интерфейс

3. Составить разветвляющуюся программу решения задачи с использованием оператора if.

Процедура отклика на кнопку CommanButton1

Private Sub CommandButton1_Click() ' Начало процедуры

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

x = Val(InputBox("Введите х")) ' Ввод значения Х

If x < -1 Then ' Начало оператора if ( вычисления у )

y = Sin(x)

ElseIf (2 < x) And (x <= 3) Then

y = Tan(x)

ElseIf (5 < x) And (x <= 20) Then

y = Log(x)

ElseIf x > 30 Then

y = x ^ 2.5

Else

y = 0

End If ' Конец оператора вычисления у

TextBox1.Text = Format(y, "#0.####") 'Вывод с 4-мя знаками после запятой

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

End Sub ' Конец процедуры

Private Sub CommandButton3_Click() ‘ Процедура закрытия проекта

End

End Sub

4. Активизировать форму и запустить проект командой Run (рис. Л5.2). Щелкая по кнопке запуск 1-й программы, ввести значение х равное –2. Щелкнуть ОК и записать результат. Аналогично выполнить для х=2.5; х=10; х=35 и х=25. Закрыть проект и вывести окно Immediate Window ( команды View, Immediate Window). Выписать и сравнить полученные результаты.

Выполнение задания 2

Интерфейс прежний. Ввод данных выполняется с помощью функции InputBox. Вывод выполняется в окно элемента управления TextBox2. Свойства элементов представлены в табл. Л5.3.

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

Private Sub CommandButton2_Click()

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]