Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lista de exercícios Programação Avançada Com Respostas - Recursividade 1 Lista de exercícios Programação Avançada Com Respostas - Recursividade Created by PALOMA TAINARA LIMA SILVA Exercício 01 Crie duas funções(uma iterativa e outra recursiva) para multiplicar dois números(através da soma sucessiva) // FORMA ITERATIVA #include <stdio.h> #include<stdlib.h> #include <locale.h> int mult(int num1, int num2){ int i, resultado=0; for(i=0; i < num2; i++) { resultado = resultado + num1; } return resultado; } int main(){ setlocale(LC_ALL,"Portuguese"); int num1, num2; printf("Informe os valores para realizar a multiplicao entre eles: "); scanf("%d %d", &num1, &num2); printf("%d * %d = %d ",num1, num2, mult(num1,num2)); system("pause"); return 0; } Lista de exercícios Programação Avançada Com Respostas - Recursividade 2 // FORMA RECURSIVA #include <stdio.h> #include <stdlib.h> #include <locale.h> int mult(int num1, int num2){ int resultado=0; if(num2 > 1){ return num1 + mult(num1, num2-1); } else { return num1; } } int main(){ setlocale(LC_ALL, "Portuguese"); int num1, num2; printf("Informe os valores para realizar a multiplicao entre eles: "); scanf("%d %d", &num1, &num2); printf("%d * %d = %d ",num1, num2, mult(num1,num2)); system("pause"); return 0; } Exercício 02 Faça um algoritmo recursivo para elevar um número a uma potência inteira não negativa. #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <math.h> potencia(int base, int expoente){ if(expoente > 1 ){ return printf("%d",base * potencia(base, expoente -1)) }else{ return } int cal = pow(base, expoente); return printf(" %d^%d = %d", base, expoente, cal); } Lista de exercícios Programação Avançada Com Respostas - Recursividade 3 chamar(){ int n, x; printf("Informe a base e o expoente: \n"); scanf("%d %d",&x, &n); if( n < 0){ printf("Não é possível elevar a uma potência negativa \n\n"); return chamar(); }else{ return potencia(x,n); } } int main(){ setlocale(LC_ALL, "Portuguese"); chamar(); return 0; } Exercício 03 Receba um número positivo e mostre como o exemplo: → Digitado: 10 Saída: 10,9,8,7,6,5,4,3,2,1 #include <stdio.h> int exibir(int n){ if(n>0){ printf("%d ", n); exibir(n-1); } } int main() { int n; printf("Digite um numero "); scanf("%d", &n); exibir(n); return 0; } Lista de exercícios Programação Avançada Com Respostas - Recursividade 4 Exercício 04 Receba um número positivo e mostre como o exemplo: → Digitado: 10 Saída: 1,2,3,4,5,6,7,8,9,10. #include <stdio.h> sequencia(int n){ if(n == 0){ return 1; }else{ return printf("%d", (n+1) - sequencia(n-1)); } } int main(){ int n; printf("Digite um número:\n"); scanf("%d", &n); sequencia(n); return 0; }
Compartilhar