Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_1_средаVB+VBA_2011.doc
Скачиваний:
2
Добавлен:
15.08.2019
Размер:
427.01 Кб
Скачать

Лабораторная работа 1.

Знакомство со средой VB.

Объекты управления TextBox, Label, CommandButton.

Свойства объектов, события.

Знакомство со средой VBA.

ПРОГРАММИРОВАНИЕ VBA

  1. Загрузить VB. (Ярлык на рабочем столе компьютера)

  2. Ознакомиться с окнами:

  • Окно объектов управления (Меню-View-ToolBox)

  • Окно проекта (Меню-View-Project Exporer)

  • Окно свойств (Меню –View-Properties Window)

  1. Разместить на форме объекты и изменить их свойства согласно таблице:

    • выделяем объект (щелчок мышью на объекте)

    • выделяем нужное свойство

    • изменяем значение свойства

Задание №1. Знакомство с интерфейсом. Разработка простейшей формы по прилагаемому образцу.

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

Порядок работы:

  1. Уточните состав задач программы.

Программа должна обеспечивать ввод данных с клавиатуры в текстовые поля и вывод данных в текстовое поле. Кроме того, на форму надо поместить элементы управления для управления процессом вычисления и выхода из программы.

  1. Разработайте математическую модель для вычисления среднего балла за сессию: средний балл равен сумме оценок по предметам обучения, деленной на число этих оценок:

СрБалл=(Физика+Математика+Информатика+Физкультура)/4

Опишите переменные (табл.1).

  1. Р азработайте интерфейс программы. Изобразите форму и определите состав элементов управления и их размещение на форме (Рис.1).

Здесь “Успеваемость” - название формы. “Введите оценки по предметам обучения”, “Физика”, “Математика”, “Информатика”, ”Физкультура”, “Средний балл” – надписи. Белые прямоугольники - поля ввода. Ввод и Выход - кнопки. Кнопка Ввод служит для выполнения расчетов, а кнопка Выход – для очистки полей ввода и завершения работы.

4. Выполним описание элементов интерфейса.

Описание свойств элементов управления выполним в соответствии с табл. 2

Таблица 1.

Описание переменных

Наименование

программы

______________

Тема проекта: Успеваемость

Лист ________

Листов _______

Обозначение

переменной

Имя переменной

Тип

Примечание

Физика

F

Целая

Оценка по физике

Математика

M

Целая

Оценка по математике

Информатика

INF

Целая

Оценка по информатике

Физкультура

FIZ

Целая

Оценка по физкультуре

SB

SB

Вещественная

Средний балл

Таблица 2

Описание свойств элементов управления формы “Успеваемость”

Тип элемента

Элемент

Свойство

Значение

Форма

Forma1

Name

Caption

frmForm1

Успеваемость

Надпись

(метка)

Label 1

Name

Caption

Alignment

lblText

Введите оценки по предметам обучения

2

Label 2

Name

Caption

Alignment

lblFizika

Физика

2

Label 3

и т. д.

Name

Caption

Alignment

lblMatematika

Математика

2

Поле ввода

Text 1

Name

Caption

Alignment

txtFiz

Пусто

1

Text 2

и т. д.

Name

Caption

Alignment

txtMat

пусто

1

Командная кнопка

Command1

Name

Caption

Alignment

cmdOK

OK

2

Command2

Name

Caption

Alignment

cmdEnd

Выход

2

  1. Запишите в обработчики событий Click кнопок Ввод и Выход тексты программ для этих кнопок:

Private Sub CmdOK_Click ()

F = Val (txtFiz.Text)

М = Val(txtMat.Text)

INF = Val(txtInf.Text)

FIZ = Val(txtFizkult.Text)

SB = (F + М + INF + FIZ)/4

txtSredBall = Str(SB)

End Sub

-----------------------------------------------------------------------------

Private Sub сmdEnd_Click()

End

End Sub

Примечание: для переноса длинной строки на другую строку необходимо вставить пробел и символ подчеркивания.

6. Порядок разработки формы.

  • Загрузите программу VB.

  • Введите имя формы Name – “Успеваемость” и надпись для формы Caption – “Успеваемость”.

  • Создайте 6 надписей, разместите их в форме в соответствии с рис. 1 и установите свойства согласно таблице 2

  • Создайте пять текстовых полей. Присвоить им имена (Name), похожие на соответствующие надписи. Например: txtF – физика, txtM – математика, txtInf – информатика, txtFiz – физкультура, txtSB – средний балл.

  • Создайте две кнопки и присвойте им имена и надписи в соответствии с табл. 2

  • Перейдите в окно Code. Для чего щелкните дважды мышью по полю формы или щелкните мышью по кнопке Code в окне Project.

  • Выбрите в левом списке объект сmdOK, а в правом списке его свойство Click. Запишите в теле этой процедуры текст программы.

  • Выбрите в левом списке объект сmdEnd , а в правом списке его свойство Click и запишите текст программы.

6. Сохраните программу на диске.

7. Запустите программу.

8. Проведите отладку программы:

  • введите в поля текста контрольные данные: 5, 4, 5,4

  • щелкните по кнопке ОК для получения результата;

сравните полученный результат с контрольной цифрой - 4,5.

Задание №2. Разработка простейшей формы по индивидуальному варианту, согласно прилагаемому примеру.

Объект

Свойство

Значение

Форма

(Form)

Name

Back Color

Caption

frmLab1

Голубой (или по выбору)

Лабораторная 1. Вычисление ...

Командная кнопка

(Command Button)

Name

Caption

cmdStart

Вычислить

Командная кнопка

(Command Button)

Name

Caption

cmdEnd

Выход из программы

Этикетка

(Label)

Name

Caption

Label1 (не изменяем)

Введите длину стороны тр-ка – A

Этикетка

(Label)

Name

Caption

Label2 (не изменяем)

Введите высоту тр-ка - H

Этикетка

(Label)

Name

Caption

Label3 (не изменяем)

Результат: площадь тр-ка =

Текстовое поле

(TextBox)

Name

Text

txtСторона

(очистить)

Текстовое поле

(TextBox)

Name

Text

txtВысота

(очистить)

Текстовое поле

(TextBox)

Name

Text

txtПлощадь

(очистить)

Должна получиться примерно такая форма:

4.Открыть окно кода программы (кнопка View Code окна просмотра)

  • Открыть список объектов.

  • Выбрать объект cmdStart, щелкнуть мышью. В полученной заготовке процедуры на писать код обработки события:

Private Sub cmdStart_Click()

a = Val(txtСторона.Text) 'Считывам значение св-ва Text в переменную

h = Val(txtВысота.Text)

s = a * h / 2 'Вычисляем значение

txtПлощадь.Text = Str(s) 'Заносим результат в св-во Text

End Sub

  • Выбрать объект cmdEnd, щелкнуть мышью. В полученной заготовке процедуры на писать код обработки события:

Private Sub cmdEnd_Click()

End 'оператор окончания программы

End Sub

5. Сохранить проект:

  • Выделить форму в окне просмотра проекта

  • меню Файл-Save Project as

  • Используя открывшееся диалоговое окно, в папке R:\VB создать новую папку Lab1, открыть ее

  • дать имя форме: frmLab1 (тип файла – frm)

  • щелкнуть по кнопке Сохранить

  • дать имя проекту: project_Lab1 ( тип файла – vbp)

  • щелкнуть по кнопке Сохранить

6. Запустить проект на выполнение (Меню –Run или кнопка

  • Ввести значения в текстовые поля – сторона и высота треугольника.

  • Щелкнуть по кнопке Вычислить – получаем результат.

  • Щелкнуть по кнопке Выход из программы – проект завершается.

Вид формы с полученным результатом:

Задание №3. Программирование vba

Создание функции пользователя в VBA с последующими выполнениями расчетов в EXCEL по индивидуальному варианту согласно прилагаемому примеру.

Методические указания к реализации заданий на алгорит­мизацию и программирование.

Любая процедура в Excel может быть создана по следующей схеме:

  1. Запустить VBA. Для этого наиболее быстро и просто нажать сочетание клавиш Alt+F11 (это же сочетание клавиш переводит нас из VBA на рабочий лист).

  2. После запуска VBA появляется рабочее окно с меню, в котором нужно щелкнуть по команде Insert и выбрать пункт Module. В результате этих действий создается специальный объект VBA -модуль с именем Modulel {Module2, ModulеЗ, ...) и на экране появляется соответствующее окно, предназначенное для ввода и редактирования процедур.

  3. Далее следует снова щелкнуть пункт меню Insert и выбрать уже пункт Procedure. При этом появится окошко Add Procedure (Добавить Процедуру).

  4. В этом окне в текстовом поле Name следует ввести имя процедуры, например, m_f, а затем выбрать тип процедуры -Function или Sub и указать сферу действия - Public (Scope -сфера действия).

  5. В результате действий, указанных в п.п. 3,4, создается пустая процедура, т.е. процедура, состоящая из заголовка и окончания (без тела). Остается внести изменения в заголовок (указать параметры процедуры) и набрать текст самой процедуры (ее тело). Например: расчет площади прямоугольника

Public Function ptr(a, h)

s = a * h / 2

ptr = s

End Function

В процессе набора VBA будет контролировать правильность ввода и сообщать об ошибках, если таковые будут возникать.

  1. Для возврата на рабочий лист нажать сочетание клавиш Alt+F11.

Результат выполнения в ЕXCEL

Индивидуальные варианты заданий

Задание : 1.Составить программу для расчета величин по

нижеприведенным формулам

2. Получить результаты и дать их объяснение.

  1. Оформить пояснительную записку , которая должна включать :

  • задание;

  • блок-схему алгоритма задачи;

  • текст программы;

  • результаты.

варианта

З А Д А Н И Е

Расчетная формула

Примечание

(пример)

1

Определить сторону прямоугольника, если известны одна из его сторон и площадь

a = S / b

S = 20 ; b= 6

2

Определить радиус круга, если известна его площадь.

R = (S/)

S=34;=3.1415

3

Определить радиус окружности, если известна длина окружности.

R = L / (2)

L=80;=3.1415

4

Определить среднее геометрическое двух чисел.

C=(a b)

a=12; b=13

5

Определить сторону куба, если известен его объем.

a = V^(1/3)

V= 14

6

Определить сторону квадрата , если известна его площадь

a = S

S= 15

7

Определить значение электрического тока на участке цепи

I = U / R

U=220; R =33

8

Определить радиус шара, если известен его объем

R=( 3V/4)^(1/3)

V=10:=3.1415

9

Определить высоту пирамиды, если известны ее объем и площадь основания

H = 3V / S

V=14; S=9

10

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

R=(3V/H)

V=67;H=45;=3.1415

11

Определить сопротивление участка электрической цепи

R = U / I

U=220;I=3

12

Определить значение гипотенузы прямоугольного треугольника

C=( a^2 +b^2)

a=22; b=10

13

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

S = V / H

V=130;H=11

14

Определить значение высоты треугольника, если известны его площадь и основание

h = 2S / a

S=100;a=12

15

Определить время, если известны расстояние и скорость

t = S / v

S=3500;v=900

Справочная информация для проведения расчетов