Introdução
Neste laboratório, aprenderá a calcular potências e expoentes em programação C. O laboratório cobre dois passos principais: ler os valores da base e do expoente do utilizador e, em seguida, calcular a potência usando um loop manual ou a função incorporada pow(). No final deste laboratório, terá uma compreensão sólida de como realizar cálculos de potência em C, uma operação fundamental em muitas aplicações matemáticas e científicas.
Ler Base e Expoente
Neste passo, aprenderá a ler os valores da base e do expoente para calcular potências num programa C. Criaremos um programa simples que solicita ao utilizador que introduza estes valores.
Primeiro, crie um novo ficheiro C no diretório ~/project:
cd ~/project
nano power_calculation.c
Agora, introduza o seguinte código para ler a base e o expoente:
#include <stdio.h>
int main() {
int base, exponent;
// Solicitar ao utilizador que introduza a base
printf("Introduza o número base: ");
scanf("%d", &base);
// Solicitar ao utilizador que introduza o expoente
printf("Introduza o expoente: ");
scanf("%d", &exponent);
// Imprimir os valores introduzidos
printf("Base: %d\n", base);
printf("Expoente: %d\n", exponent);
return 0;
}
Vamos compilar e executar o programa:
gcc power_calculation.c -o power_calculation
./power_calculation
Exemplo de saída:
Introduza o número base: 5
Introduza o expoente: 3
Base: 5
Expoente: 3
Explicação do código:
- A função
scanf()é usada para ler a entrada inteira do utilizador %dé o especificador de formato para inteiros&basee&exponentpassam os endereços de memória onde os valores de entrada serão armazenados- O programa simplesmente lê e apresenta os valores da base e do expoente.
Este passo estabelece as bases para o cálculo de potências, obtendo primeiro a entrada necessária do utilizador.
Utilizar um Loop ou a Função pow()
Neste passo, aprenderá dois métodos para calcular potências em C: utilizando um loop manual e utilizando a função incorporada pow() da biblioteca matemática.
Primeiro, vamos modificar o ficheiro anterior power_calculation.c para implementar o cálculo de potências:
cd ~/project
nano power_calculation.c
Método 1: Utilizando um Loop
#include <stdio.h>
int calculate_power_loop(int base, int exponent) {
int result = 1;
for (int i = 0; i < exponent; i++) {
result *= base;
}
return result;
}
int main() {
int base, exponent;
printf("Introduza o número base: ");
scanf("%d", &base);
printf("Introduza o expoente: ");
scanf("%d", &exponent);
int power_result = calculate_power_loop(base, exponent);
printf("%d elevado à potência de %d é: %d\n", base, exponent, power_result);
return 0;
}
Método 2: Utilizando a Função pow()
#include <stdio.h>
#include <math.h>
int main() {
int base, exponent;
printf("Introduza o número base: ");
scanf("%d", &base);
printf("Introduza o expoente: ");
scanf("%d", &exponent);
// Nota: pow() retorna um double, por isso fazemos a conversão para int
int power_result = (int)pow(base, exponent);
printf("%d elevado à potência de %d é: %d\n", base, exponent, power_result);
return 0;
}
Compile o programa com a biblioteca matemática:
gcc power_calculation.c -o power_calculation -lm
Exemplo de saída:
Introduza o número base: 2
Introduza o expoente: 3
2 elevado à potência de 3 é: 8
Explicação do código:
- O método de loop multiplica manualmente a base por si mesma
exponentvezes. - A função
pow()da bibliotecamath.hfornece um cálculo de potência incorporado. - O sinal
-lmé necessário para ligar a biblioteca matemática durante a compilação. - Convertemos o resultado de
pow()paraintpara corresponder ao nosso cálculo inteiro.
Imprimir o Resultado
Neste passo, irá melhorar o programa de cálculo de potências para fornecer uma saída mais detalhada e formatada, demonstrando diferentes formas de apresentar resultados em C.
Vamos modificar o ficheiro power_calculation.c:
cd ~/project
nano power_calculation.c
Adicione o seguinte código abrangente:
#include <stdio.h>
#include <math.h>
void print_power_result(int base, int exponent, int result) {
// Formato de impressão básico
printf("Resultado Básico: %d^%d = %d\n", base, exponent, result);
// Impressão formatada com alinhamento
printf("Resultado Formatado: %2d elevado à potência de %2d igual a %5d\n",
base, exponent, result);
// Notação científica para números maiores
printf("Notação Científica: %d^%d = %.2e\n", base, exponent, pow(base, exponent));
}
int calculate_power_loop(int base, int exponent) {
int result = 1;
for (int i = 0; i < exponent; i++) {
result *= base;
}
return result;
}
int main() {
int base, exponent;
printf("Introduza o número base: ");
scanf("%d", &base);
printf("Introduza o expoente: ");
scanf("%d", &exponent);
int power_result = calculate_power_loop(base, exponent);
// Chamar a função para imprimir os resultados
print_power_result(base, exponent, power_result);
return 0;
}
Compile o programa:
gcc power_calculation.c -o power_calculation -lm
Execute o programa:
./power_calculation
Exemplo de saída:
Introduza o número base: 5
Introduza o expoente: 3
Resultado Básico: 5^3 = 125
Resultado Formatado: 5 elevado à potência de 3 igual a 125
Notação Científica: 5^3 = 1.25e+02
Explicação do código:
print_power_result()demonstra múltiplos formatos de impressão- A impressão básica mostra o cálculo simples
- A impressão formatada utiliza especificadores de largura para alinhamento
- A notação científica é útil para números grandes
%.2eapresenta o número em notação científica com 2 casas decimais.
Resumo
Neste laboratório, aprendeu a ler os valores da base e do expoente do utilizador e, em seguida, calcular a potência utilizando dois métodos diferentes: um loop manual e a função incorporada pow(). Implementou a função de cálculo de potência baseada em loop e a chamada da função pow(), e, em seguida, comparou os resultados. Isto permitiu-lhe compreender as diferentes abordagens para calcular potências e expoentes na programação C.



