Implementación de Algoritmos Fundamentales: Potencia, Ecuaciones y Bucle Centinela
Enviado por Programa Chuletas y clasificado en Matemáticas
Escrito el en
español con un tamaño de 5,07 KB
Algoritmos Fundamentales en Pseudocódigo
5. Cálculo de Potencia (a^b)
Dados dos números naturales a y b, halle la potencia de a elevado a b.
Pseudocódigo para Potencia
INICIO
Leer a
Leer b
Hacer potencia = 1
Mientras b > 0:
Hacer potencia = potencia * a
Hacer b = b - 1
Fin Mientras
Escribir potencia
FIN
6. Solución de Ecuaciones de Segundo Grado
Dados tres valores (a, b, c) correspondientes a los coeficientes de una ecuación de segundo grado ($ax^2 + bx + c = 0$), obtenga, según el caso, sus dos soluciones o raíces, una sola raíz, o indique que no hay solución real.
Pseudocódigo para Ecuación Cuadrática
INICIO
Leer a, b, c
// Cálculo del discriminante (r)
Hacer r = (b * b) - (4 * a * c)
Si r > 0:
// Dos soluciones reales distintas
Hacer x1 = (-b + RAIZ(r)) / (2 * a)
Hacer x2 = (-b - RAIZ(r)) / (2 * a)
Escribir x1
Escribir x2
Fin Si
Si r = 0:
// Una única solución real
Hacer x = -b / (2 * a)
Escribir x
Fin Si
Si r < 0:
// No hay solución real
Escribir "No hay solución real"
Fin Si
FIN
7. Cálculo de la Media Aritmética (Bucle Centinela)
Leer una serie indeterminada de números hasta que se introduzca uno negativo (centinela) y calcule la media de los valores no negativos leídos.
Pseudocódigo para Calcular la Media
INICIO
Hacer suma = 0
Hacer contador = 0
// Lectura de cebado (priming read)
Leer x
Mientras x >= 0:
Hacer contador = contador + 1
Hacer suma = suma + x
Leer x // Siguiente lectura
Fin Mientras
Si contador > 0:
Hacer media = suma / contador
Escribir media
Sino:
Escribir "No se introdujeron números válidos para calcular la media."
Fin Si
FIN
8. Encontrar el Valor Máximo (Bucle Centinela)
Leer una serie indeterminada de números hasta que se introduzca uno negativo (centinela) y encuentre el valor máximo entre los números no negativos leídos.
Pseudocódigo para Encontrar el Máximo
INICIO
Leer x
// Inicialización del máximo con el primer valor
Hacer maximo = x
Leer x // Siguiente lectura
Mientras x >= 0:
Si maximo < x Entonces:
Hacer maximo = x
Fin Si
Leer x // Siguiente lectura
Fin Mientras
Escribir maximo
FIN
9. Encontrar el Valor Mínimo (Bucle Centinela)
Leer una serie indeterminada de números hasta que se introduzca uno negativo (centinela) y encuentre el valor mínimo entre los números no negativos leídos.
Pseudocódigo para Encontrar el Mínimo
INICIO
Leer x
// Inicialización del mínimo con el primer valor
Hacer minimo = x
Leer x // Siguiente lectura
Mientras x >= 0:
Si minimo > x Entonces:
Hacer minimo = x
Fin Si
Leer x // Siguiente lectura
Fin Mientras
Escribir minimo
FIN
Problemas de Programación en C/C++
8. Conversión de Temperatura: Fahrenheit a Celsius
Escriba un programa para convertir grados Fahrenheit (ºF) a Celsius (ºC). La fórmula de conversión es: ºC = (5/9) * (ºF - 32).
Implementación en C
#include <stdio.h>
// Declaración de la función de conversión
double convierteFC(double f);
int main(void) {
double gradosF, gradosC;
printf("Por favor, introduzca un número de grados Fahrenheit: ");
scanf("%lf", &gradosF);
gradosC = convierteFC(gradosF);
printf("\nLa conversión es: %lf ºC\n", gradosC);
return 0;
}
// Definición de la función
double convierteFC(double f) {
double c;
// Aseguramos la división flotante (5.0/9.0)
c = (f - 32.0) * (5.0 / 9.0);
return c;
}
9. Cálculo de Segundos Transcurridos desde Medianoche
Escriba un programa que lea un instante de tiempo expresado en horas, minutos y segundos, y calcule el número de segundos transcurridos desde las cero horas hasta dicho instante de tiempo. Utilice la fórmula: segundos_transcurridos = horas * 3600 + minutos * 60 + segundos.
Implementación en C
// Función para calcular los segundos
int cuentaSegundosDesdeHoraCero(int h, int m, int s) {
int res;
res = h * 3600 + m * 60 + s;
return res;
}
int main(void) {
int hora, min, seg, res;
printf("\nIntroduzca 3 números (hora, minuto, segundo): ");
scanf("%d%d%d", &hora, &min, &seg);
res = cuentaSegundosDesdeHoraCero(hora, min, seg);
printf("\nEl resultado (segundos transcurridos) es: %d\n", res);
return 0;
}