Лабораторная работа №1. Линейный алгоритм: вычисление арифметического выражения
Задание:
Даны
константы
A и B и
произвольное
x, вводимое
с клавиатуры. Вычислить значение выражения
и вывести значение y на экран.
Выполнение:
I способ
1 Создайте в своей папке пустой документ Microsoft Office Word.
Назовите его lab1.
2 Откройте Visual Basic for Application.
Это можно сделать двумя способами:
1) Нажатием сочетание клавиш Alt-F11 из любого приложения MS Office (MS Word, MS Excel, MS Access).
2) Меню (в любом приложении MS Office):
Сервис > Макрос > Редактор Visual Basic.
3 Выполните команду Вставка / Модуль (Insert / Module) для создания листа модуля.
4 Наберите на листе модуля процедуру:
Private Sub Лин_алг()
'описание входной переменной
Dim x As Double
'описание выходной переменной
Dim y As Double
'задание констант
Const A = 2.5
Const B = 3
x = InputBox("Введите x") 'ввод значения переменной х
y = Sin(x) + Sqr(Abs(A * B + 3 * x ^ 2)) 'вычисление значения выражения
Res = MsgBox("y= " & y) 'выдача результата в отдельное окно
End Sub
! Обратите внимание:
1) Аргументы любой функции перечисляются в скобках:
неправильно: sin x
правильно: sin(x).
2) Квадратный корень вычисляется с помощью функции sqr().
3) Модуль вычисляется с помощью функции abs().
4) Знак умножения «*» опускать нельзя.
5) Количество открывающих скобок должно соответствовать количеству закрывающих скобок.
6) Операция возведения в степень задается с помощью символа “^” (комбинация клавиш Shift+6 в английской раскладке клавиатуры).
7) Каждая команда (или блок одинаковых команд) может сопровождаться комментарием.
Это делает текст программы понятным и легко читаемым.
5 Сохраните программу.
6 Запустите программу с помощью меню Run (либо клавишей F5, либо соответствующей кнопкой на панели инструментов).
7 Если есть ошибки, исправьте в соответствии с сообщениями компилятора (т. е. отладьте программу).
8 В окне InputBox (рис. 6) введите значение x, например 2.3, и нажмите кнопку ОК.

Рис. 6. Окно InputBox
9 В окне MsgBox отображается результат вычисления y (рис. 7).

Рис. 7. Окно MsgBox
10 Завершить выполнение программы можно нажав кнопку закрытия окна или в меню Run выбрать пункт Reset.
II способ (создание форм):
1 В редакторе Visual Basic создайте форму пользователя. Для этого:
• В меню выберите пункт: Insert > UserForm.
Или
• На панели инструментов нажмите на
кнопку:
- Insert UserForm.
2 Измените заголовок формы:
Для этого в поле Caption (в окне Properties UserForm1) задайте нужное значение: №задания, Фамилия И.О. №группы, например, Задание 1. Иванов И.И. Гр. Д-1-2008.
Окно Properties появится при создании формы в левой части экрана. Его вид представлен на рис. 8.
Поле Caption выделено на рис. 8 темно-серым цветом.

Рис. 8. Окно Properties UserForm1
3 Создайте элементы управления формой:
1) При создании формы на экране автоматически появляется панель элементов Toolbox (рис. 9). Если она отсутствует, отобразите ее на экране с помощью меню View >Toolbox.

Рис. 9. Панель Toolbox
2) Поместите (с помощью мыши) на форму надпись: элемент Label с панели Toolbox (рис. 10).
![]() |
Рис. 10. Элементы панели Toolbox
3) Измените значение свойства Caption с “Label1” на название задания: Линейный алгоритм.
4) Поместите (с помощью мыши) на форму кнопку CommandButton1 с панели Toolbox (рис. 10).
5) Измените название кнопки Caption на Расчет. С помощью мыши задайте свой размер кнопки.
4 Двойным щелчком по кнопке CommandButton1 откройте окно редактирования кода программы (в данном случае – подпрограммы-обработчика события нажатия кнопки).
В появившемся окне между текстом:
Private Sub CommandButton1_Click()
End Sub
Допишите текст:
Dim y As Double
Dim x As Double
Const A = 2.5
Const B = 3
x = InputBox("Введите x", "Окно ввода данных")
y = Sin(x) + Sqr(Abs(A * B + 3 * x ^ 2))
Res = MsgBox("y= " & y, , "Результат")
! Обратите внимание:
Строка: Private Sub CommandButton1_Click() является заголовком процедуры, которая выполнится при нажатии на кнопку CommandButton1.
Строка: End Sub обозначает конец процедуры.
Наличие обеих строк обязательно.
Команды, которые должны быть исполнены в ходе программы, должны располагаться в порядке следования между этими двумя строками: в теле процедуры.
5 Сохраните программу.
6 Запустите программу с помощью меню Run (либо клавишей F5, либо соответствующей кнопкой).
7 Если есть ошибки, исправьте (т. е. отладьте программу).
8 В отобразившемся окне (рис. 11) нажмите кнопку Расчет.

9 В окне InputBox (рис. 6) введите значение x, например 2,3; и нажмите кнопку ОК.
10 В окне MsgBox (рис. 7) отобразится результат вычисления y.
11 Завершить выполнение программы можно, нажав соответствующую кнопку или в меню Run выбрать пункт Reset.
12 Выполните задание своего варианта (номер варианта совпадает с номером студента в журнале) вторым способом.
13 В окне документа Microsoft Office Word оформите лист отчета, соответствующий первому заданию («Линейный алгоритм: вычисление арифметического выражения») по образцу, приведенному в Приложении 1. Чтобы скопировать окно формы и результатов в отчет, воспользуйтесь комбинацией клавиш Alt + PrintScreen.
Математические функции VBA
|
Функция |
Возвращаемое значение |
|
Abs(число) |
Модуль (абсолютная величина) числа |
|
Atn(число) |
Арктангенс |
|
Cos(число) |
Косинус |
|
Exp(число) |
Экспонента (ех = exp(x)) |
|
Log(число) |
Натуральный логарифм |
|
Sgn(число) |
Знак числа |
|
Sin(число) |
Синус |
|
Sqr(число) |
Квадратный корень из числа |
|
Tan(число) |
Тангенс |
|
Fix(число) Int(число) |
Обе функции отбрасывают дробную часть числа и возвращают целое значение. Для положительных чисел одинаковы. Отличие в отрицательном числе: Fix – отбрасывает дробную часть, а Int – еще и округляет. |
|
Rnd(число) |
Случайное число из интервала [0,1); перед вызовом надо использовать инструкцию randomize |
Запись арифметических выражений
В программах на VBA можно использовать стандартный набор операций над данными:
|
сложение |
+ |
|
вычитание |
- |
|
умножение |
* |
|
деление |
/ |
|
Операция |
Пример |
|
Целочисленное деление \ (возвращает целую часть частного, дробная часть отбрасывается) |
17 \ 5 = 3 10 \ 3 = 3 |
|
Остаток от деления по модулю mod |
17 mod 5 = 2 11 mod 5 = 1 6 mod 2 = 0 |
|
Возведение в степень ^ |
3^2 = 9 2^3 = 8 |
Так как с клавиатуры всю информацию вводят в одну строку, то при вводе «многоэтажных» выражений ставятся скобки, например:
.
Варианты
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.
.
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.