Функции VBA Excel для решения ряда задач механики жидкостей

Разработаны пользовательские функции VBA Excel, которыми на компьютере в режиме онлайн находятся плотности жидкостей и решаются задачи на гидростатическое давление, а также закон Архимеда. Применение разработанных функций показано на конкретных задачах. Некоторые функции позволяют находить значения нескольких параметров, нужный параметр указывается в диалоговом окне функции.

Аннотация статьи
модуль
плотность
давление
выталкивающая сила
код
Ключевые слова

1. ТАБЛИЦА ПЛОТНОСТЕЙ ЖИДКОСТЕЙ

Прежде всего, имеет смысл по таблице плотностей жидкостей [1] создать средствами VBA [2] пользовательскую функцию, назовем ее ПЛОТНОСТИ, которая будет возвращать величину плотности указанной жидкости.

Пользовательские функции Excel создаются в редакторе VB (Visual Basic), обозначаемом VBE. Командами РАЗРАБОТЧИК → VB → Insert → Module открывается модуль редактора, в который вводится (набирается с клавиатуры или копируется и вставляется) программный код пользовательской функции. Ограничиваясь небольшим числом жидкостей, код будет иметь вид:

Function ПЛОТНОСТИ(Жидкость As String)

Select Case Жидкость

Case "Вода морская"

ПЛОТНОСТИ = 1030

Case "Вода чистая"

ПЛОТНОСТИ = 1000

Case "Машинное масло"

ПЛОТНОСТИ = 900

Case "Керосин", "Спирт", "Нефть"

ПЛОТНОСТИ = 800

Case "Бензин"

ПЛОТНОСТИ = 710

End Select

End Function

Sub InstallFunc()

Application.MacroOptions Macro:= "ПЛОТНОСТИ", _ Description:="Возвращает " & _

"величину плотности жидкости (кг/м3)"

End Sub

Заключительная часть кода, начинающаяся Sub InstallFunc(), – код описания функции, то, что в двойных кавычках после Description, будет появляться в диалоговом окне функции, только надо в эту часть кода установить курсор ввода и щелкнуть по кнопке  редактора VB. Пробел и нижнее подчеркивание – оператор переноса строки кода. После этого редактор VB закрывается.

Задача 1.1. Применяя функцию ПЛОТНОСТИ, определите плотность бензина.

Технология решения. 1. Командами Вставка функции (кнопка fx) → Определенные пользователем → ПЛОТНОСТИ открывается диалоговое окно и вводится наименование жидкости, что ниже возвращает ее плотность (рис. 1).

Рис. 1. Применение функции ПЛОТНОСТИ

2. ГИДРОСТАТИЧЕСКОЕ ДАВЛЕНИЕ

Давление в жидкости плотности ρ, когда высота столба жидкости h, находится [1] по формуле:

.       (1)

Создается функция пользователя ФДЖ (аббревиатура от ФОРМУЛА ДАВЛЕНИЯ ЖИДКОСТИ), возвращающая значение указанной переменной, входящей в формулу (1), когда заданы значения двух других переменных. Код функции ФДЖ и ее описания:

Function ФДЖ(Давлен_Па, Плот_кг_м3, Высота_м, _

P_Ro_H As String)

Select Case P_Ro_H

Case “P”

ФДЖ = 9.8 * Плот_кг_м3 * Высота_м

Case “Ro”

ФДЖ = Давлен_Па/ Высота_м /9.8

Case “H”

ФДЖ = Давлен_Па/ Плот_кг_м3/ 9.8

End Select

End Function

Sub InstallFunc1()

Application.MacroOptions Macro:="ФДЖ", Description:= _ "Возвращает при P величину давления, " & _

"при Ro – плотности, при H - высоты"

End Sub

Задача 2.1. Определите давление бензина на дно цистерны, если высота столба бензина 5 м.

Технология решения. Вызывается функция ФДЖ, вводятся значения плотности, высоты и “P”, тогда ниже появляется результат (рис. 2).

Рис. 2. Применение функции ФДЖ в задаче 2.1

Задача 2.2. Определите плотность жидкости, если на глубине 3 м ее давление составляет 30282 Па.

Технология решения. Вызывается функция ФДЖ, вводятся данные задачи и “Ro” (рис. 3).

Рис. 3. Применение функции ФДЖ в задаче 2.2

Задача 2.3. Поршневой насос может произвести давление 4,9·105 Па. Определите на какую высоту можно поднять воду этим насосом.

Технология решения. Вызывается функция ФДЖ, вводятся данные задачи и “H” (рис. 4).

Рис. 4. Применение функции ФДЖ в задаче 2.3

3. ВЫТАЛКИВАЮЩАЯ СИЛА

Выталкивающая (Архимедова) сила, действующая на тело погруженное в жидкость, находится [1] по формуле:

.  (2)

Создается функция пользователя ФВС (аббревиатура от ФОРМУЛА ВЫТАЛКИВАЮЩЕЙ СИЛЫ), возвращающая значение указанной переменной, входящей в формулу (2), когда заданы значения других переменных. Код функции ФВС и ее описания:

Function ФВС(Сила_Н, Плот_кг_м3, Объем_м3, _

F_Ro_V As String)

Select Case F_Ro_V

Case “F”

ФВС = 9.8 * Плот_кг_м3 * Объем_м3

Case “Ro”

ФВС = Сила_Н /9.8 / Объем_м3

Case “V”

ФВС = Сила_Н /9.8 / Плот_кг_м3

End Select

End Function

Sub InstallFunc2()

Application.MacroOptions Macro:="ФВС", Description:= _

"Находит при F величину выталкивающей силы, " & _

"при Ro – плотности, при V - объема"

End Sub

Задача 3.1. Найдите выталкивающую силу, действующую в морской воде на тело, объем которого 0,25 м3.

Технология решения. Вызывается функция ФВС, вводятся данные задачи и “F”, что ниже возвращает результат (рис. 5).

Рис. 5. Применение функции ФВС в задаче 3.1

Задача 3.2. Определите объем тела, погруженного в морскую воду, если величина выталкивающей силы 100 Н.

Технология решения. Вызывается функция ФВС, вводятся данные задачи и “V” (рис. 6).

Рис. 6. Применение функции ФВС в задаче 3.2

Задача 3.3. Определите плотность жидкости, если на погруженное в нее тело объемом 0,75 м3 действует выталкивающая сила 5880 Н.

Технология решения. Вызывается функция ФВС, вводятся данные задачи и “Ro” (рис. 7).

Рис. 7. Применение функции ФВС в задаче 3.3

Текст статьи
  1. Гофман Ю. В. Законы, формулы, задачи физики. Справочник. Киев: «Наук. думка», 1977. 576 с.
  2. Сдвижков О.А. Excel-VBA. Словарь-справочник пользователя. М.: Эксмо, 2008. 224 с.
Список литературы
Ведется прием статей
Прием материалов
c 18 сентября по 24 сентября
Осталось 3 дня до окончания
Публикация электронной версии статьи происходит сразу после оплаты
Справка о публикации
сразу после оплаты
Размещение электронной версии журнала
28 сентября
Загрузка в eLibrary
28 сентября
Рассылка печатных экземпляров
06 октября