Ir ao conteúdo

Posts recomendados

Postado

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

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{

  int populacaoA, populacaoB;
  populacaoA = 90000.000;
  populacaoB = 200000.000;
  



  printf("Favor inserir um numero: ");
  scanf("%d", &numero);
  

    return 0;

}

 

  • Curtir 1
Postado

Só uma dica, quando for postar exercício, tente postar também a sua dúvida, o exercício não é dúvida. Por exemplo, "...estou com dificuldade de fazer a soma da taxa da população, como proceder?" Isso daria um norte até mesmo pra quem vai lhe ajudar e creio que assim você receba uma resposta bem mais rápida e certeira, mais do que expor o exercício.

Postado

Responder.. desculpe.. Eu não faço computação, e foi tentando aprender isso..  coloquei exercício por causa do contexto.. E a dúvida está no decorrer de onde parei.. Mas..  agradeço a ajuda.. vou fazer isso.. obrigado 

Postado

certo, nçao sendo exercício vou te dar um crédito.

Nessa questão tem algo bem interessante nela que envolve simulação de sistemas dinâmicos, to falando apenas pra você se inteirar sobre esse assunto, mas não é necessário pra responder a pergunta.

Na dinâmica de sistemas perguntas como essa são respondidas por meio de simulação de sistemas complexos, como a dinâmica populacional, stock and flow é apenas uma das bases que demorei pegar porque não achei exemplos suficientes que não fossem usando programas pagos e que não rodam no meu pc, pra azar meu (sorte no meu ponto de vista).

 

Enfim, nessa questão você tem de achar exatamente onde a população de A passa a de B ou cruza com ela num ponto de interseção. Nesse caso é preciso simular a passagem do tempo, em anos, digo, usar um for ou while (porque não um if e goto?) pra iterar aumentando a taxa relativa a cada crescimento.

 

Por exemplo, vamos supor que comece agora, nesse ano, então estamos no ano 0, loop 1, ano que vem será o ano 1, loop 2, depois ano 2, loop 3, ect até que a população de A seja maior ou igual a de B.

 

Só que o seguinte, ninguém vive pra sempre nesse pequeno asteróide chamado terra, sendo assim, essa questão não simula uma real dinânmica de sistemas, ou melhor, não existe uma taxa de mortes por ano em cada país, mas apenas crescimento. Por exemplo, fazer um programa desse pra ser usado pelo IBGE do mesmo modo que foi descrito acima, ia dar uma baita irrealidade, digo, os dados ia sair fora do previsto e não ia nem chegar perto da possível realidade dos BR, que gostam de fazer filhos feito coelhos.

 

vamos a um exemplo mais claro:

loop 1, ano 0:

populacaoA = 90M

populacaoB = 200M

 

loop 2, ano 1

populacaoA = 90M + 90M * 3%

populacaoB = 200M + 200M * 1.5%

 

E pra ser genérico, num único loop, for ou while infinito:

loop N, ano N - 1

populacaoA = populacaoA + populacaoA * 3%

populacaoB = populacaoB + populacaoB * 1.5%

 

Só transformar isso em código e a cada final de loop verificar se a populacaoA >= populacaiB, se for então quebre o loop infinito com um break e fora dele, imprima o valor de populacaoA e populacaoB

 

NOTA: não estou usando código propriamente dito pra que você possa estudar sozinho. Não é que eu seja ruim, acredite, isso é com a melhor das intenções, e lhe fará um bem danado. Agora é só fazer o código, já tem um meio de como ele será. Só pôr a mão na massa.

 

 

adicionado 5 minutos depois

NOTA 2: como na questão pede pra só contar os anos que levam pra ser amior ou igual, coloque também um contador do tipo int pra contar quantos anos passam até que a populacaoA >= populacaoB

Postado

Este "loop" é em portugol  ou em C ?  Eu uso um compilador online no Trabalho ou code block en casa.. mas em ambos.. uso o C.. nao lembro deste "loop" em c.. ele substitui o que?

adicionado 5 minutos depois

Obrigado.. E aproveitando.. estou tentando resolver algo no trabalho.  Em uma plan no Excel, consigo fazer uma operação matemática, soma por exemplo, de 2 ou mais valores, na mesma célula .. tipo na célula A1, insiro: 2, teclo Alt + entre, é inspiro 3 .. E em outra célula,  inspiro uma fórmula, e o cálculo é feito. = 5, nas quando exportou pra plano fica do Google drive, (e geralmente as fórmulas são alteradas automaticamente), especificamente, cálculo usando está situação lá eu não consigo.. NADA.. pode me ajudar?

adicionado 8 minutos depois

E sim.. acho que entendi a sua lógica.. novamente, este " loop" que não.. ele existe mesmo, ou só colocou como forma de "ocultar" o código em si?

Postado

Tudo que eu falei não tem quase nenhum comando, mas são coisas bem genéricas, loip era pra informar que estamos no loop 1 do for ou while que são comandos da linguagem. Eu vou dormir agora por isso não vou voltar aqui. De qualquer forma, até mais. 

Postado

Acha que tá certo?

#include <stdio.h>
#include <stdlib.h>
#include <math.h>



int main()
{
   int paisA, paisB, contadorAnos;

   contadorAnos = 0;

    paisA = 90000.000;        // 90   milhões

    paisB = 200000.000;       // 200  milhões


        while(paisA < paisB)
            {

            paisA += ((paisA * 3.0) / 100.0);

            paisB += ((paisB * 1.5) / 100.0);

            contadorAnos++;

        }

        //Resultado do programa:


        printf("Total de Anos eh %d: ", +contadorAnos);


return 0;
}

 

Postado

Sim, agora está perfeito. Como eu disse, não há uma taxa de mortes, daí é esperado que o incremento da taxa de nascimentos sirva pra a população de A passar a de B.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...