Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа.Часть 4

.doc
Скачиваний:
2
Добавлен:
27.12.2020
Размер:
513.54 Кб
Скачать

Лабораторная работа. Часть 3

Работа с графическим интерфейсом VBA

Создание программы на Visual Basic состоит из двух взаимосвязанных процессов:

а) конструирования формы, с которой пользователь будет вести диалог (Для конструирования интерфейса пользователя используются элементы управления и диалоговые окна)

б) кодирования, определяющего характер работы программы.

Для начала работы необходимо создать форму интерфейса, которой будут располагаться объекты интерфейса: Insert UserForm.

Форма – это окно будущего приложения. Когда начинаем создавать новый проект, Visual Basic создаёт пустую форму и присваивает ей заголовок UserForml. На форме изображаются различные части программы – объекты или элементы управления: окна, списки, кнопки, переключатели, линейки прокрутки и т. д. Сама форма рассматривается Visual Basic как объект.

Рисунок 1 Создание формы в редакторе VBA

Также при создании формы открывается панель инструментов (toolBox, View Toolbox), на которой можно выбрать необходимые объекты для формы (Label – метка, TextBox –поле, ComandButton – кнопка и другие). Для добавления объекта, его необходимо перетащить на рабочую область формы. Ниже на форму были добавлены следующие элементы управления: метка, кнопка, поле

Рисунок 2. Добавление элементов управления на форму

Ниже в таблице приведены основные элементы управления.

Таблица 1. Элементы управления.

Элементы

управления

Использование / описание

Свойства

Name (имя)

Caption

(заголовок)

Font

(шрифт)

1

2

3

4

5

Поле

(TextBox)

Ввод, редактирование данных или вывод результатов программы

TextBox1 или

другое

+

Надпись (Label)

Отображает неизменяемый текст, например заголовки для других элементов управления

Label1

или

другое

+

+

Флажок

(CheckBox)

Позволяет задать значение «Истина» или «Ложь»

CheckBox1

или другое

+

+

Поле

со списком (ComboBox)

Позволяет выбрать элемент из списка или ввести данные вручную

ComboBox1

или

другое

+

Список

(ListBox)

Применяется для хранения текстовых строк – элементов списка

ListBox1

или

другое

+

Рамка (Frame)

Визуально и логически объединяет некоторые элементы управления (особенно флажки, переключатели и выключатели)

Frame1

или

другое

+

+

Кнопка

(CommandButton)

Используется для инициирования выполнения некоторых действий, вызываемых нажатием кнопки

Command Button1

или другое

+

+

У каждого объекта есть ряд свойтсв (Вкладка – properties):

Name – имя объекта, которые будет использовать в теле программы для обращения в требуемому объекту.

Caption – заголовок объекта на форме.

Width – ширина объекта

Height – высота объекта

Font – шрифт

И другие

У объекта может не быть некоторых свойств (например, у textBox нет свойства Caption, но есть свойство Text, которое содержит текст, который будет отображен внутри textbox).

Объект ComandButton служит для выполнения команд при нажатии кнопки. Для этого внутри события (Click) прописать необходимые команды. Для создания функции, которая будет обрабатывать это событие, необходимо два кликнуть по необходимой кнопке. При этом в области кода формы, которая содержит кнопку, создается пустая функция, которая будет вызываться всякий раз, как пользователь нажимает кнопку.

Пример. Для формы (Рисунок 2). При нажатии кнопки свойству Caption метки Label1 присваивается текст из элемента textbox.

Private Sub CommandButton1_Click()

Label1.Caption = TextBox1.Text

End Sub

Рисунок 3. Интерфейс программы

Задание 1.

Создайте форму и добавьте необходимые элементы управления для того, чтобы можно было ввести два числа через textbox и проверить возможно ли между этими числами целочисленное деление (деление без остатка). Ответ вывести в виде заголовка метки

Операция деления с остатком: 5 mod 2 = 1

Пример реализации задания:

Private Sub CommandButton1_Click()

a = Int(TextBox1.Text)

b = Int(TextBox2.Text)

If (a Mod b = 0) Then Label1.Caption = "Целочисленное деление возможно" Else Label1.Caption = "Целочисленное деление невозможно. Остаток = " + Str(a Mod b)

End Sub

Задания для самостоятельной работы

Задание 1

Написать программу в VBA и разработать интерфейс для вычисления значений переменных у и z для заданных значений переменной х в соответствии с предлагаемым вариантом (вариант задания студент выбирает по номеру в журнале).

Рисунок 4. Разработанный интерфейс в Excel.

Рисунок 5. Пример интерфейса для выполнения задания

Листинг событийной процедуры «Вычислить»:

Private Sub CommandButton1_Click()

Dim x As Single, y As Single, z As Single

Const a = -0.0387: b = -2.28

x = Val(TextBox3.Text)

y = Atn(Abs(b ^ 2 - a ^ 2)) ^ 2 + Abs(x - 3 * b) ^ (1 / 3) / Cos(x) ^ 3

z = (Log(Abs(b - a)) + 2 * a) / (x + 2.5 * a)

TextBox1.Text = Format(y, "0.0000")

TextBox2.Text = Format(z, "0.0000")

End Sub

Таблица 2 Варианты заданий:

X

а

b

с

y

z

1

1.44-10 –2

-0.24

-7.38-10 –3

-3.25∙103

1.21∙10–2

6

2

3.28-10-3

-0.21

-2.22∙10-3

3.12

-8.11∙105

6

3

1.44∙10-2

-0.24

2.14∙102

-3.72∙104

2.14∙104

3.36

4

-1.26∙10-4

0.13

-0.18∙102

4

-0.18∙10–3

6.34

5

2.11∙104

-0.12

-1.18∙10–3

-1.19∙10–3

3

2.14

6

0.54∙104

4.11

-3.12∙ 10-3

3.8

1.3∙10-2

7

7

2.33∙10–4

0.213

-7.11-10–3

2.55∙104

1.68∙10–2

3

8

2.16∙10-3

-3.63

-7.11∙104

-0.9∙10–2

4

2.34

9

1.12∙10-4

-0.18

2.14∙103

-3.41∙103

3.24∙10-2

5

10

8.38∙10–5

-0.11

-1.01∙102

3.82∙103

4.41∙10-2

5

11

-3.4∙10-3

-0.12

1.2∙102

5

2.13∙10-3

4.6∙10–3

12

1.01∙10–4

-3.1

2.43∙105

3

-2.33∙103

2.4∙105

113

-7.93∙10-3

0.471

-2.72∙104

9

-1.39∙104

3.4

114

3.04∙10–4

-0.18

-1.15∙105

3

-2.1∙103

4.38

115

1.17∙10–3

-0.18

-1.15∙105

2.4∙103

-3.13∙10–2

7

Задание 2. Программирование разветвляющихся вычислительных процессов.

Реализовать программу программу в VBA и разработать интерфейс для вычисления значений функций при заданном значении переменной x. Вывести получаемые значения y, z, p.

Оператор IF (ЕСЛИ) используется в двух нотациях: в виде простой и блочной структур. Инструкция простой структуры имеет следующую форму записи:

If <Выражение> Then <Инструкция, исполняемая, если выражение – условие истинно> Конструкция блочной структуры может включать один блок инструкций (<Блок 1>), исполняемых, если выражение 1 истинно, или же еще дополнительные условия, сопровождаемые блоками инструкций:

If <Выражение1> Then

<Блок 1 – исполняется, если выражение 1 истинно>

ElseIf <Выражение2> Then

<Блок 2 – исполняется, если выражение 2 истинно >

ElseIf <Выражение3> Then

<Блок 3 – исполняется, если выражение 3 истинно >

…………………..

Else

<Блок инструкций, исполняемых, если ложны выражения в инструкциях If и ElseIf>

End If

Блоки ElseIf и (или) Else могут отсутствовать. В любом случае блочная конструкция оканчивается инструкцией End If.

Таблица 3. Варианты заданий:

X

У(х)

z(x,y) и условия

p(x,y,z)

1

-1,18

0,72

0,11

arctg (x∙ π)

2

-3,1

0

3,2

3

0,31

-1,5

5,1

4

2.15

-3,3

0,15

5

-1,8

1

2,1

х2 -3х + 1

6

3,15

0,12

-0,25

7

-2,1

3,6

-4,7

arctg(2sinх)

8

3,15

15,2

-1,5

19

-4,1

0,5

-0,1

10

0,92

11,9

-4,1

ln|x2-1|

11

π

3

-8

Tag(x2)

12

4,3

1,5

0,5

– ln|x|

13

-12,1

2,19

4,73

x2 - 3x – 1

14

44,3

15

10

ln|x|

15

0,73

1,68

-0,12

exsin x