Implemente uma função que calcule a área da superfície e o volume de uma esfera de raio R. Essa função deve obedecer ao protótipo:
A área da superfície e o volume são dados, respectivamente, por:
Passo 1
Fala aí galerinha, let’s go resolver esse exercício
A questão pede pra gente desenvolver a função , essa função deve receber três parâmetros: o valor do raio passado por valor, e os ponteiros e .
Mas antes, vamos desenvolver nosso cabeçalho. Como usaremos bastante matemática vamos incluir o cabeçalho também.
Vai ser útil ter uma constante que guarde o valor de . Então vamos criar uma constante de alta precisão chamada de escopo global.
Passo 2
Agora vamos criar a nossa função .
Essa parte é fácil pois a questão já nos dá o formato da função:
Isso quer dizer que a função vai receber um valor para o raio, e depois recebe dois endereços de memória, um para área e outro para o volume.
A chave da questão é entender que e são dois ponteiros que apontam para os endereços de memória das variáveis que colocarmos na função.
Agora vamos calcular a área de superfície da esfera, utilizando a fórmula . Lembre-se, é um ponteiro, então vamos utilizar o operador antes do nome área para poder guardar um valor no endereço de memória.
Fazemos o mesmo para a fórmula do volume: . Da mesma forma, também é um ponteiro e necessita do operador para podermos guardar um valor no endereço de memória.
Passo 3
Agora vamos nos concentrar na . Primeiro de tudo, vamos declarar as variáveis que vamos precisar: o raio , a área e o volume . Todas variáveis do tipo
O valor do raio será recebido do usuário, então vamos utilizar os comandos e para receber este valor:
Passo 4
Ainda dentro da vamos executar a função . Na passagem dos parâmetros passamos a variável , e os endereços de memória e
Após a execução os valores das variáveis e são atualizados, e contém os resultados dos cálculos.
Vamos visualizar estes resultados utilizando o comando
E é isso! Questão finalizada.