Отлично, давайте разберем эту лабораторную работу по макросам и функциям в Basic.
Лабораторная работа № 16.
Макросы и функции в Basic.
Для выполнения этой работы вам потребуется электронная таблица Libre Office Calc.
Чтобы начать, запустите Libre Office Calc. Затем откройте редактор макросов. Это можно сделать, нажав комбинацию клавиш ALT + F11, или через меню: Сервис -> Макросы -> Редактировать Макросы.
1. Создание функции для вычисления выражения
Нам нужно создать функцию, которая будет вычислять следующее выражение:
\[ y = \frac{x^2 - 5\sqrt{2}}{2x^3 + 1} \]
Для этого в редакторе макросов введите следующий код:
Function funl(x)
funl=(x*x-5*2^0.5)/(2*x^3+1)
End Function
После того как вы ввели код, сохраните его.
Чтобы использовать эту функцию в таблице:
В ячейке, где вы хотите получить ответ, например, в ячейке B3, введите формулу:
=funl(A3)
В ячейку A3 введите значение для X, например, 6.
В результате в ячейке B3 вы должны получить значение, близкое к 0,06681.
2. Построение функции вычисления полупериметра треугольника
Теперь создадим функцию для вычисления полупериметра треугольника по трем сторонам a, b, c.
В редакторе макросов добавьте следующий код:
Function POL(a, b, c)
POL= ((a+b+c)/2)
End Function
После ввода кода сохраните его.
Чтобы использовать эту функцию в таблице:
В ячейке, где вы хотите получить ответ, например, в ячейке D1, введите формулу:
=POL(A1;B1;C1)
В ячейки A1, B1, C1 введите значения сторон треугольника соответственно.
3. Построение функции вычисления длины окружности и площади круга
Создадим функцию, которая будет вычислять длину окружности и площадь круга для заданного радиуса R.
В редакторе макросов добавьте следующий код:
Public Function OCR(R)
P=3.14
a=2*P*R
b=P*R^2
OCR="C="+str(a)+" S="+str(b)
End Function
После ввода кода сохраните его.
Чтобы использовать эту функцию в таблице:
В ячейке, где вы хотите получить ответ, например, в ячейке E1, введите формулу:
=OCR(A1)
В ячейку A1 введите значение радиуса. Функция вернет строку, содержащую длину окружности (C) и площадь круга (S).
4. Построение функции нахождения максимального элемента из трех чисел
Теперь создадим функцию, которая будет находить максимальный элемент из трех чисел a, b, c.
В редакторе макросов добавьте следующий код:
Function Max(a, b, c)
If a > b Then
m = a
Else
m = b
End If
If c > m Then
Max = c
Else
Max = m
End If
End Function
После ввода кода сохраните его.
Чтобы использовать эту функцию в таблице:
В ячейке, где вы хотите получить ответ, например, в ячейке F1, введите формулу:
=Max(A5;B5;C5)
В ячейки A5, B5, C5 введите числа, например, 10, 15, 35. Функция вернет максимальное из этих чисел.
5. Построение функции нахождения корней квадратного уравнения
Создадим функцию для нахождения корней квадратного уравнения вида \(ax^2 + bx + c = 0\).
В редакторе макросов добавьте следующий код:
Public Function CRN(a, b, c)
d = b^2 - 4 * a * c
If d >= 0 Then
x1 = (-b + d^(1/2)) / (2 * a)
x2 = (-b - d^(1/2)) / (2 * a)
CRN = "x1=" + Str(x1) + "; x2=" + Str(x2)
Else
CRN = "корней нет"
End If
End Function
После ввода кода сохраните его.
Чтобы использовать эту функцию в таблице:
В ячейке, где вы хотите получить ответ, например, в ячейке G1, введите формулу:
=CRN(A1;B1;C1)
В ячейки A1, B1, C1 введите коэффициенты a, b, c квадратного уравнения. Функция вернет корни уравнения или сообщение "корней нет", если дискриминант отрицательный.
6. Построение функции, которая возвращает стоимость товара по его стоимости без НДС и значению ставки НДС
Создадим функцию, которая будет вычислять полную стоимость товара, включая НДС.
В редакторе макросов добавьте следующий код:
Function STOIMOST (STNDS, NDS)
STOIMOST = STNDS * (1 + NDS / 100)
End Function
После ввода кода сохраните его.
Теперь переключитесь на Microsoft Excel (или Libre Office Calc, если вы работаете в нем). Создайте следующую таблицу:
| Стоимость без НДС |
НДС |
Стоимость |
| 1000 |
25 |
|
В ячейке, где вы хотите получить итоговую стоимость (например, C2), введите формулу:
=STOIMOST(A2;B2)
В ячейку A2 введите стоимость без НДС (например, 1000).
В ячейку B2 введите ставку НДС (например, 25).
В результате в ячейке C2 должно появиться значение 1250.
Надеюсь, это подробное объяснение поможет вам выполнить лабораторную работу!