O tanque de uma caixa d’água possui a geometria onde a base é um cilindro de diâmetro 25 m e com uma altura de 19 metros e tem uma parte superior de geometria complexa cujo volume e seu raio é dado pelas equações abaixo.
Dentro do tanque há uma boia que indica o nível da água. Sendo assim, escreva uma rotina que determine o volume da água armazenada no tanque, na posição indicada pela boia (altura h).
A rotina deve receber a variável h e retornar o volume em água.
Dados:
Passo 1
Opa galerinha, aqui temos um problema onde temos uma função que assume valores diferentes conforme o varia.
Esse tipo de função é muito comum na modelagem de sistemas de engenharia, a ideia aqui é utilizar uma estrutura lógica como as para poder a partir de um valor qualquer imprimir o valor final da função na tela e indicar a qual intervalo esse valor pertence.
O primeiro intervalo é o cilindro e seu volume é dado por:
Quando o valor de h ultrapassa a altura do cilindro que é o valor de 19, começamos a entrar na geometria complexa então o volume total é dado por
Sendo assim o algoritmo geral desse problema se torna:
1-Entrada de dados – o valor do h
2-teste lógico para ver em qual intervalo se encaixa
2.1-Cálculo do valor da função
2.2-Impressão de tanto da função quanto do intervalo que se encaixou através de uma saída de dados.
Passo 2
Primeiramente vamos precisar implementar a entrada de dados utilizando a função input, cuja a sintaxe corresponde a:
Agora que inserimos o valor de x precisamos elaborar o código para a realização do teste lógico.
O primeiro teste lógico equivale em verificar que o valor de h está apenas na altura do cilindro ou seja se
Se caso o a altura não se encaixar nesse primeiro teste lógico só resta ela estar acima do cilindro gerando o segundo teste lógico que é apenas o
Que foi gerado através das equações disponibilizadas no problema.
Se você programou tudo certinho no Matlab, temos que seu código deve ter ficado parecido com:
Resposta
Ei, a resposta está no passo a passo :)