Não sei se pode ajudar a entender o meu problema, no Deitel 6 ed, na página 133, tem um exemplo com a mesma idéia, mas ele não muda o valor inicial, neste exemplo seria como se eu quisesse mexer no deposito. Alguma idéia por ai??
É um controle de população, eurasia, estasia e oceania são continentes, e a cada 100 anos, ocorre um desastre que diminui pela metade a população, e a partir disto deve-se analisar o processo, vou testar seu código p ver como fica! Vlw pela ajuda!!!
ele progride certo até o ano 100, no ano 100 a população diminui pela metade, e no ano 110, ela está normal, como se não fizesse diferença a queda pela metade!! o código ficou assim:
isso acontece pq vc nao usa as variaveis anteriores para calcular o proximo incremento do for… a população é calculada sem levar em consideração a população anterior, apenas as constantes e o valor de I na interação.
Então, vi isso tb, só não estou conseguindo fazer o programa empregar as variáveis anteriores, alguém tem algum exemplo simples de como posso fazer isso?
cara, ai vc terá que recorrer à sua lógica… como é calculado o crescimento da população nesses países? Se não for considerando a população anterior não faz muito sentido, concorda?
Só precisas de três variáveis de população, uma para cada continente. Para que ter populacaoEurasia e totalEurasia (tal como para os outros continentes)?
Isto está bem: populacaoEurasia = populacaoEurasia/2;
Isto não está, já que não estás a actualizar a população mas sim a guardar um valor numa variável e que nunca vai ser usadodouble totalEurasia = populacaoEurasia * Math.pow(1 + 0.02, i);
O correcto seria:populacaoEurasia = populacaoEurasia * Math.pow(1 + 0.02, i);
[quote]cara, ai vc terá que recorrer à sua lógica… como é calculado o crescimento da população nesses países? Se não for considerando a população anterior não faz muito sentido, concorda?
Como está o texto do enunciado?[/quote]
vc tem razão, a lógica da coisa estava errada, o enunciado é assim: tenho 3 continentes com populaões iniciais de 1000, 5000 e 10000, o crescimento é de 2%, 1% e 0.5% anual, calcular e imprimir em intervalos de 10 anos a evolução da população até o ano 1000.
b. a cada 100 anos há um desastre que diminui a população pela metade, qual a nova evolução?
[quote=pmlm]Só precisas de três variáveis de população, uma para cada continente. Para que ter populacaoEurasia e totalEurasia (tal como para os outros continentes)?
Isto está bem: populacaoEurasia = populacaoEurasia/2;
Isto não está, já que não estás a actualizar a população mas sim a guardar um valor numa variável e que nunca vai ser usadodouble totalEurasia = populacaoEurasia * Math.pow(1 + 0.02, i);
O correcto seria:populacaoEurasia = populacaoEurasia * Math.pow(1 + 0.02, i); [/quote]
Pelo que eu entendi ai, se eu fizer assim, quando executar o loop, os valores iniciais da população já estarão divididos por 2, sendo que eles só devem ser divididos a cada 100 anos, é isso mesmo?
[quote=pmlm]Só precisas de três variáveis de população, uma para cada continente. Para que ter populacaoEurasia e totalEurasia (tal como para os outros continentes)?
Isto está bem: populacaoEurasia = populacaoEurasia/2;
Isto não está, já que não estás a actualizar a população mas sim a guardar um valor numa variável e que nunca vai ser usadodouble totalEurasia = populacaoEurasia * Math.pow(1 + 0.02, i);
O correcto seria:populacaoEurasia = populacaoEurasia * Math.pow(1 + 0.02, i); [/quote]
Bem pessoal, tenho que ir para a aula, agradeço todas as dicas e espero dentro em breve poder contribuir com outras pessoas também! Mais tarde eu posto outra dúvida sobre loops de outro exercício! abs!
vou deixar aqui o codigo fonte que acredito estar certo: