Exercícios Resolvidos de Ponteiros e funções

Ver Teoria

Enunciado

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:

v o i d   c a l c _ e s f e r a ( f l o a t   R ,   f l o a t   * a r e a ,   f l o a t   * v o l u m e )

A área da superfície e o volume são dados, respectivamente, por:

A   = 4 ⋅ π ⋅ R 2

V   = 4 3 ⋅ π ⋅ R 3

Passo 1

Fala aí galerinha, let’s go resolver esse exercício

A questão pede pra gente desenvolver a função c a l c _ e s f e r a , essa função deve receber três parâmetros: o valor do raio R passado por valor, e os ponteiros a r e a e v o l u m e .

Mas antes, vamos desenvolver nosso cabeçalho. Como usaremos bastante matemática vamos incluir o cabeçalho < c m a t h > também.

Vai ser útil ter uma constante que guarde o valor de π . Então vamos criar uma constante de alta precisão chamada P I de escopo global.

Passo 2

Agora vamos criar a nossa função c a l c _ e s f e r a .

Essa parte é fácil pois a questão já nos dá o formato da função:

v o i d   c a l c _ e s f e r a ( f l o a t   R ,   f l o a t   * a r e a ,   f l o a t   * v o l u m e )

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 a r e a e v o l u m 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 4 π R 2 . Lembre-se, a r e a é 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: 4 3 π R 3 . Da mesma forma, v o l u m e 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 m a i n ( ) . Primeiro de tudo, vamos declarar as variáveis que vamos precisar: o raio R , a área A e o volume V . Todas variáveis do tipo f l o a t

O valor do raio será recebido do usuário, então vamos utilizar os comandos c i n e c o u t para receber este valor:

Passo 4

Ainda dentro da m a i n ( ) vamos executar a função c a l c _ e s f e r a . Na passagem dos parâmetros passamos a variável R , e os endereços de memória & A e & V

Após a execução os valores das variáveis A e V são atualizados, e contém os resultados dos cálculos.

Vamos visualizar estes resultados utilizando o comando c o u t

E é isso! Questão finalizada.

Resposta