Informática, perguntado por Usuário anônimo, 1 ano atrás

Faça um algoritmo em linguagem C que contenha dois números inteiros digitados na tela pelo usuário:
a. O primeiro número marca um início (número 15);
b. O segundo número marca um fim (número 99);
O algoritmo vai contar quantos números existem entre o início (primeira entrada) e o fim (segunda entrada). A impressão na tela do usuário deve ser realizada de duas formas:
a. Iterativa;
b. Recursiva;

Soluções para a tarefa

Respondido por academicoiffdavi
25

Olá!

Um algoritmo iterativo, é aquele que possui uma estrutura de repetição comum, como for, while etc...

Um algoritmo recursivo, é quando temos uma função e dentro dessa função ela acaba chamando a si mesma, gerando um loop. Essa propriedade é chamada de recursividade.

Segue abaixo o código representado as duas formas de acordo com o que foi pedido na questão:

#include <stdio.h>


int contar_iterativo(int inicio, int final){

   int i=0,contador=0;

   for(i=inicio;i<=final;i++){

       contador++;

   }

   return contador;

}

int contar_recursivo(int inicio, int final){

   int contador;

   if(inicio == final){

       return 1;

   }else{

       contador = 1 +  contar_recursivo(inicio+1,final);

       return contador;

   }

}

int main(void){

   

   int b = contar_iterativo(15,99);

   int a = contar_recursivo(15,99);

   printf("O resultado foi: %d", a);

   printf("\nO resultado foi: %d", b);

}

Perguntas interessantes