sexta-feira, 17 de maio de 2019

Supondo que a população de um país A seja da ordem de 90.000.000 habitantes com uma taxaanual de crescimento de 3% e que a população de um país B seja aproximadamente de 200.000.000habitantes com uma taxa anual de cresciemento de 1,5%. Fazer um algoritmo que calcule e escrevao número de anos necessários para que a população do país A ultrapasse ou iguale a população dopaís B, mantidas essas taxas de crescimento.

77) Supondo que a população de um país A seja da ordem de 90.000.000 habitantes com uma taxaanual de crescimento de 3% e que a população de um país B seja aproximadamente de 200.000.000habitantes com uma taxa anual de cresciemento de 1,5%. Fazer um algoritmo que calcule e escrevao número de anos necessários para que a população do país A ultrapasse ou iguale a população dopaís B, mantidas essas taxas de crescimento.
algoritmo "Crescimento anual"
var
a, b: real
ano: inteiro
inicio
a<- 90000000
b <- 200000000
ano<- 0
enquanto a <= b faca
a<- a * 0.03
b <- b * 0.015
ano<- ano + 1
fimenquanto
escreval("A quantida de anos para A chegar até B é: ",ano)
fimalgoritmo

2 comentários:

  1. este calculo está errado, pois se eu multiplicar na calculadora 90.000.000 por 0,03% o resultado é 2.700.000. Você não está considerando que cada ano a população vai aumentar este valor. O tempo em anos seria em torno de 54 anos. E dessa forma que você fez vai levar muito mais tempo pois ele não está somando essa diferença.

    ResponderExcluir
  2. Caso alguém entre nesta página procurando a solução, precisa modificar esta parte do código:
    a<- a + (0.03*a)
    b <- b + (0.015*b)
    O resultado exato deve ser 55 anos
    Pois precisa somar o valor existente com a porcentagem extraída da multiplicação. Se fizer 90.000.000 x 0,03 na calculadora você verá o erro, pois a calculadora vai retornar 2.700.000, ou seja a população vai estar diminuindo, é este o erro no seu cálculo, o programa entra em loop infinito.
    Se for testar no visualg precisa colocar os números 0,03 e 0,015 com vírgula pois não usamos ponto em português.

    ResponderExcluir