Exercícios Resolvidos de Comando while

Ver Teoria

Enunciado

Um determinado material radioativo perde metade de sua massa a cada 50 segundos. Dada a massa inicial, em gramas, fazer um programa em C que calcule o tempo necessário para que essa massa se torne menor que 0,5 grama. O programa em C deve escrever a massa inicial, a massa final e o tempo calculado em horas, minutos e segundos.

Passo 1

Não vamos esquecer de definir o escopo do nosso programa, hein!?

Passo 2

Dentro do escopo do programa, precisamos declarar as variáveis que serão essenciais para o desenvolvimento e execução do mesmo.

Informações sobre as variáveis:

  • meiaVida armazenará a quantidade de meias-vidas necessárias para que a massa do material seja menor que 0,5 gramas;
  • gramas armazenará a quantidade de gramas presente no material;
  • segundos, minutos e horas armazenarão o tempo necessário, em suas respectivas unidades, para que a massa do material seja menor que 0,5 gramas.

Passo 3

Com as variáveis devidamente declaradas e inicializadas, podemos requisitar para o usuário a quantidade de gramas inicial do material.

Passo 4

Tendo conhecimento da quantidade de gramas inicial, podemos utilizar o comando de repetição while para realizar consecutivas divisões por 2 até que o valor presente na variável gramas seja menor que 0,5 gramas.

Dessa forma, garantimos que a cada loop a variável meiaVida receberá o incremento de uma unidade, uma vez que o material receberá uma redução de metade de sua massa a cada iteração.

Passo 5

Tendo conhecimento da quantidade de meias-vidas necessárias, automaticamente sabemos o tempo em segundos, já que o enunciado nos diz que a meia-vida do material é de 50 segundos.

Com isso, conseguimos realizar a atribuição do valor em segundos para a variável segundos, e, posteriormente, calcular o valor em minutos e horas com uma simples conversão de valores (divisão por 60).

Passo 6

Por fim, basta realizarmos a impressão do tempo nas três diferentes unidades calculadas.

Vale ressaltar que essas impressões foram realizadas com duas casas decimais e com a adição de quebra de linha em cada uma delas.

Resposta

Ei, a resposta está no passo a passo :)