Informática, perguntado por juniorcosta36, 11 meses atrás

Mariazinha quer resolver um problema interessante. Dadas as informações de população
e a taxa de crescimento de duas cidades quaisquer (A e B), ela gostaria de saber quantos
anos levará para que a cidade menor (sempre é a cidade A) ultrapasse a cidade B em
população. Claro que ela quer saber apenas para as cidades cuja taxa de crescimento da
cidade A é maior do que a taxa de crescimento da cidade B. Sua tarefa é construir um
programa que apresente o tempo em anos para cada caso de teste. Porém, em alguns casos
o tempo pode ser muito grande, e Mariazinha não se interessa em saber exatamente o
tempo para estes casos. Basta que você informe, nesta situação, a mensagem "Mais de 1
século.". Atenção: A população é sempre um valor inteiro, portanto, um crescimento de
2.5 % sobre uma população de 100 pessoas resultará em 102 pessoas, e não 102.5 pessoas,
enquanto um crescimento de 2.5% sobre uma população de 1000 pessoas resultará em
1025 pessoas.

Soluções para a tarefa

Respondido por LarissaMoura3
3

O programa construído ficará assim:

#include <stdio.h>

int main()

{

   int n, c, m;

   int a, b;

   double ac, bc;

   scanf("%d", &n);

   for(m=1; m<=n; m++)

   {

       c = 0;

       scanf("%d %d %lf %lf", &a, &b, &ac, &bc);

       while(a <= b)

       {

           a *= (ac / 100.0) + 1.0;

           b *= (bc / 100.0) + 1.0;

           c++;

           if (c > 100)

           {

               printf("Mais de 1 seculo.\n");

               break;

           }

       }

       if (c <= 100)

           printf("%d anos.\n", c);

   }

   return 0;

}

Algoritmo consiste em uma sequência finita de instruções definidas e sem ambiguidade, onde cada uma deve ser executada mecanicamente ou eletronicamente considerando um intervalo finito de tempo. São muito utilizados na programação.

Bons estudos!

Perguntas interessantes