1. Изучите функциюInputBox.
2. Вставьте в модуль Module1 процедуру ФункцияInputBox.
3. Выполните процедуру ФункцияInputBox.
4. Вставьте в модуль Module1 процедуру Пример.
5. Выполните процедуру Пример.
6. Изучите метод InputBox.
7. Вставьте в модуль Module1 процедуру ФункцияInputBox2.
8. Выполнить процедуру ФункцияInputBox2.
9. Вставьте в модуль Module1 процедуру Пример2.
10. Выполните процедуру Пример2.
11. Проанализируйте результаты выполнения процедур.
Контрольное упражнение к лабораторной работе №2
Подсчитать площадь S треугольника со сторонами a, b, c по формуле Герона:
S=
где p = (a + b + c) / 2, a = 3, b = 4, c = 5.
Ввод/вывод данных осуществлять двумя способами:
1) На экран должны выводиться запросы вида «Введите значение a», «Введите значение b», «Введите значение c». Вывод результата представить в виде «Площадь треугольника равна» <значение S>.
Для вычисления корня квадратного использовать функцию VBA sqr:
S = sqr(p * (p - a) * (p - b) * (p - c))
2) Вводить данные в таблицу Excel, выводить результат тоже в таблицу Excel.
В этом способе данные вводятся в ячейки таблицы Excel непосредственно, без использования VBA. Для использования этих данных в качестве исходных в процедуре VBA можно ссылаться на ячейки с введёнными данными. Например, для присвоения значения переменной R значения ячейки A5 на текущем рабочем листе можно использовать инструкцию R=Cells (5,1) или инструкцию R=Range (“A5”) (смотри п.4 – Адресация ячеек).
|
|
Задания для самостоятельного решения
Решение линейных задач
Напишите программу для расчёта двух формул. Предварительно подготовьте тестовый пример с помощью калькулятора (результат вычисления по первой формуле должен совпадать со второй). Значение параметров тригонометрических функций должны задаваться пользователем в градусах.
Отчет оформить на бумаге формата А4 в формате Ms Word, руководствуясь в оформлении работы правилами и придерживаясь следующей последовательности:
1). Условие задачи;
2). Формализация задачи (если требуется);
3). Таблица имен;
4). Блок-схема программы;
5). Текст программы;
6). Таблица трассировки;
7). Результаты и выводы.
Список стандартных математических функций приведён в «Приложение 1. Стандартные функции VBA». Для вычисления функций, отсутствующих в библиотеке, требуется их выразить через существующие. Пример решения и оформления линейной задачи приведен в приложении 2.
Варианты заданий
Вариант 1
Вариант 2
Вариант 3
Вариант 4
Вариант 5
Вариант 6
Вариант 7
Вариант 8
Вариант 9
Вариант 10
Вариант 11
Вариант 12
Вариант 13
Вариант 14
|
|
Вариант 15
Вариант 16
Вариант 17
Вариант 18
Вариант 19
Вариант 20
Приложение 1
Стандартные математические функции
функция | Значение |
Abs (число) | Возвращает абсолютное значение (модуль) аргумента |
Atn (число) | Возвращает арктангенс аргумента (в радианах) |
Cos (число) | Возвращает косинус аргумента. Число задается в радианах |
Ехр (число) | Возвращает результат возведения экспоненты в степень аргумента |
Fix (число) | Возвращает целую часть аргумента |
Int (число) | Возвращает целую часть аргумента |
Log (число) | Возвращает результат натуральный логарифм аргумента |
Rnd (число) | Возвращает случайное число |
Round (число, число) | Округляет дробное значение первого аргумента до указанного во втором аргументе количества цифр после запятой |
Sgn (число) | Возвращает -1, если число меньше 0; 0, если равно 0; и 1, если больше 0 |
Sin (число) | Возвращает синус аргумента |
Sqr (число) | Возвращает квадратный корень аргумента (аргумент должен быть больше 0) |
Tan (число) | Возвращает тангенс аргумента (в радианах) |
Приложение 2
Примеры решения и оформления задач
Выполнить свой вариант задания и оформить работу письменно, руководствуясь в оформлении работы правилами и придерживаясь следующей последовательности:
1). Условие задачи;
2). Формализация задачи (если требуется);
3). Таблица имен;
4). Блок-схема программы;
5). Текст программы;
6). Таблица трассировки;
7). Результаты и выводы.
Отчет оформлять на бумаге формата А4.
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ МОРСКОГО И РЕЧНОГО ФЛОТА ИМ. АДМИРАЛА С.О.МАКАРОВА
КАФЕДРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ И ИНФОРМАТИКИ
Лабораторная работа № 1
Линейный вычислительный процесс.
Вычисление математических выражений
Вариант № 100
Работу выполнила
студентка гр. СП-11
Примерная Елена
Работу принял
доцент кафедры ВСиИ
Неклюдова С.А.
Санкт-Петербург
2015
1. Условие задачи
Напишите программу для расчёта двух формул. Предварительно подготовьте тестовые примеры по второй формуле с помощью калькулятора (результат вычисления по первой формуле должен совпадать со второй). Значение параметров тригонометрических функций должны задаваться пользователем в градусах.
2. Таблица имен
Имя объекта в задаче | Имя объекта в программе | Тип объекта | Содержательный смысл |
m | m | вещественное число | исходное данное |
n | n | вещественное число | исходное данное |
x | x | вещественное число | исходное данное |
z1 | вещественное число | расчетная переменная | |
z2 | вещественное число | расчетная переменная |
3. Блок-схема алгоритма
4. Трассировочная таблица
№ шага | № блока на блок-схеме | Результаты вычислений |
1 | 1 | Ввод m=-1.5, n=-2.2, x=-3.5 |
2 | 2 | |
1 | 1 | |
2 | 2 | |
3 | 3 | |
4 | 4 | Вывод z1=0155, z2=0155 |
5 | 5 | Конец |
5. Код программы
' LAB1_v100 Линейный вычислительный процесс
' Расчёт по формулам
'
Option Explicit
Sub LAB1_v100()
Dim m As Double, n As Double, x As Double, z1 As Double, z2 As Double
m = InputBox("Введите m")
n = InputBox("Введите n")
x = InputBox("Введите x")
z1 = ((m - 1) * Abs(m / n) ^ (1 / 2) - n + 1) / Abs(4 - x) / _
(Abs(m ^ 3 * n) ^ (1 / 2) + m * n + m ^ 2 - m)
z2 = (Abs(m / n) ^ (1 / 2) - 1) / Abs(4 - x) / m
MsgBox ("z1=" & z1 & vbNewLine & "z2=" & z2)
End Sub
6. Результаты и выводы
Поскольку результаты трассировки совпали с результатами выполнения программы на компьютере, алгоритм разработан верно.
https://youtu.be/QbQ0afHzi0k