Sabendo que, nesse caso, a comporta fica na iminência de ser aberta quando o reservatório atinge o nível de água máximo maximorum (NA máx. max.), pedem-se:
Escreva uma macro VBA que calcule a variação dos módulos das componentes de força horizontal e vertical em função das cotas do nível de água.

Passo 1

Beleza, vamos lá! O enunciado está pedindo para escrever uma macro em VBA que calcule como variam as forças horizontal e vertical quando o nível de água no reservatório muda, especialmente quando a comporta está quase abrindo no nível máximo de água. Para resolver isso, vamos precisar entender um pouco de hidrostática (que estuda as forças da água) e ter noção básica de programação em VBA.

Passo 2

Primeiro, vamos entender as forças envolvidas. Quando a comporta está fechada e sujeita à pressão da água, temos duas componentes principais de força: a horizontal e a vertical. A força horizontal é causada pela pressão da água agindo perpendicularmente à superfície da comporta, e a força vertical pode ser relacionada ao peso da água ou a outras forças verticais envolvidas.

Passo 3

A pressão da água em um ponto depende da profundidade desse ponto, e é calculada pela fórmula:
p = rho cdot g cdot h
Onde:
  • $ p $ é a pressão,
  • $ \rho $ é a densidade da água,
  • $ g $ é a aceleração devido à gravidade,
  • $ h $ é a profundidade da água.

Passo 4

A força horizontal total ($ F_h $) na comporta pode ser obtida integrando a pressão sobre a área da comporta. Se considerarmos a comporta como uma superfície vertical, temos:
Fh
Onde $ A $ é a área da comporta.

Passo 5

Já a força vertical ($ F_v $) pode ser calculada de maneira semelhante, mas dependendo do contexto, pode representar diferentes aspectos, como a força resultante das pressões verticais ou o peso da comporta. Para simplificar, vamos assumir que $ F_v $ também depende da profundidade e pode ser calculada através de uma integração apropriada.

Passo 6

Agora, vamos traduzir essas fórmulas para uma macro em VBA. A macro vai receber diferentes valores de $ h $ (nível de água) e calcular $ F_h $ e $ F_v $ para cada nível.

Passo 7

Vamos definir os parâmetros necessários na macro:
  • Densidade da água ($ \rho $): Cerca de 1000 kg/m³.
  • Aceleração da gravidade ($ g $): Aproximadamente 9,81 m/s².
  • Área da comporta ($ A $): Vamos precisar definir ou receber este valor.

Passo 8

A macro vai iterar sobre uma série de níveis de água ($ h $), calcular $ F_h $ e $ F_v $ usando as fórmulas que estabelecemos, e armazenar ou exibir esses valores.

Passo 9

Segue abaixo uma versão simplificada da macro em VBA que realiza esses cálculos:
Sub CalcularForcas()
    Dim rho As Double
    Dim g As Double
    Dim A As Double
    Dim h As Double
    Dim Fh As Double
    Dim Fv As Double
    Dim ws As Worksheet
    Dim i As Integer
    Dim hMax As Double
    Dim passo As Double
    
    ' Definindo os valores
    rho = 1000 ' kg/m³
    g = 9.81 ' m/s²
    A = 10 ' Área da comporta em m² (ajuste conforme necessário)
    hMax = 10 ' Nível máximo de água em metros (ajuste conforme necessário)
    passo = 0.5 ' Incremento do nível de água
    
    Set ws = ThisWorkbook.Sheets("Forcas")
    ws.Cells.Clear
    ws.Range("A1").Value = "Nível de Água (m)"
    ws.Range("B1").Value = "Força Horizontal (N)"
    ws.Range("C1").Value = "Força Vertical (N)"
    
    i = 2
    For h = 0 To hMax Step passo
        Fh = rho * g * (h ^ 2) / 2 * A
        Fv = rho * g * h * A ' Exemplo de cálculo para força vertical
        ws.Cells(i, 1).Value = h
        ws.Cells(i, 2).Value = Fh
        ws.Cells(i, 3).Value = Fv
        i = i + 1
    Next h
End Sub

Resposta

Pronto! Ao executar essa macro, você terá em uma planilha chamada “Forcas” uma tabela com diferentes níveis de água e os respectivos valores das forças horizontal e vertical calculadas conforme o aumento do nível. Lembre-se de ajustar os parâmetros como a área da comporta e o nível máximo de água de acordo com os dados específicos do seu problema.

Exercícios relacionados