Nesse portfólio contem dois programas relacionados ao tema da aula três, que foi Paradigmas Imperativos: Matemáticos. A aula abordou a diferença entre um programa escrito da forma imperativa e recursiva, visando o tempo de resposta.
Abaixo um programa que realiza um cálculo exponencial:
//expo_Iterativa
#include <stdio.h>
double test(int base, int expo) {
int result = 1;
int i;
for (i = 0; i < expo; i++) {
result *= base;
}
return result;
}
int main() {
int base;
int expo;
printf("Digite a base: ");
scanf("%d", &base);
printf("Digite o expoente: ");
scanf("%d", &expo);
int result = test(base, expo);
printf("O resultado de %d elevado a %d é: %.d", base, expo, result);
return 0;
}
Execute aqui: https://onlinegdb.com/KMbU4xUNP
A seguir a versão recursiva:
//expo_recursiva
#include <stdio.h>
double test(int base, int expo) {
if (expo == 0)
return 1;
else if (expo > 0)
return base * test(base, expo - 1);
else
return 1 / test(base, -expo);
}
int main() {
int base;
int expo;
printf("Digite a base: ");
scanf("%d", &base);
printf("Digite o expoente: ");
scanf("%d", &expo);
int r = test(base, expo);
printf("O resultado de %.d elevado a %d é: | %.d |", base, expo, r);
return 0;
}
Execute aqui: https://onlinegdb.com/G3SfdRkL2
Top comments (0)