Taller aplicando funciones y procedimientos en la solución de algoritmos
GA3-220501093-AA2-EV03
Dianis Causil Diaz
Centro de Formación Para el Desarrollo Rural y Minero - Cedrum
Tecnología en análisis y desarrollo de software
Ingeniera: Dinora Seneth Monsalve
Sena, Colombia
02 de Mayo de 2023
En esta actividad deberá aplicar todos los conocimientos adquiridos a lo largo
del componente formativo para dar solución a problemas utilizando la notación de
pseudocódigo y diagramas de flujo, usando las herramientas establecidas por el
instructor. Tenga en cuenta los diferentes tipos de estructuras de control básicas:
secuenciales, condicionales y repetitivas.
Problemas propuestos
1. Un corredor de maratón (distancia 42,195 Km) ha recorrido la carrera en 2
horas 25 minutos. Se desea un algoritmo que calcule el tiempo medio en
minutos por kilómetro.
Algoritmo CalcularTiempoPromedioPorKilometro
// Definir las constantes
CONSTANTE DISTANCIA = 42.195
CONSTANTE TIEMPO = 2.25
// Definir las variables
VARIABLE tiempoTotalEnMinutos, tiempoPromedioPorKilometro: REAL
Inicio
// Convertir el tiempo a minutos
tiempoTotalEnMinutos <- TIEMPO * 60
// Calcular el tiempo promedio por kilómetro
tiempoPromedioPorKilometro <- tiempoTotalEnMinutos / DISTANCIA
// Imprimir el tiempo promedio por kilómetro
Escribir("El tiempo promedio por kilómetro es ", tiempoPromedioPorKilometro, "
minutos.")
FinAlgoritmo
2. Realizar la conversión de una temperatura dada en grados Centígrados a
grados Fahrenheit (Fórmula: F = (9/5) C + 32).
1. Pedir al usuario que ingrese la temperatura en grados centígrados.
2. Convertir la temperatura a grados Fahrenheit utilizando la fórmula F = (9/5) C + 32.
3. Imprimir el resultado de la conversión en grados Fahrenheit.
Inicio
// Pedir al usuario la temperatura en grados centígrados
Escribir ("Ingrese la temperatura en grados centígrados:")
Leer(temperaturaCentigrados)
// Convertir la temperatura a grados Fahrenheit
temperaturaFahrenheit <- (9 / 5) * temperaturaCentigrados + 32
// Imprimir el resultado de la conversión en grados Fahrenheit
Escribir ("La temperatura en grados Fahrenheit es: ", temperaturaFahrenheit)
Fin
3. Escribir el algoritmo que permite calcular la nota correspondiente al
primer parcial de “análisis” para un estudiante cualquiera. Se debe considerar
que hay dos talleres y un quiz, que en conjunto valen un 30% de la nota y el
resto (70%) corresponde a la nota del examen parcial.
Algoritmo CalcularNotaParcialAnalisis
// Definir las variables
VARIABLE notaExamenParcial, notaTaller1, notaTaller2, notaQuiz, notaFinal: REAL
Inicio
// Pedir al usuario las notas de los componentes
Escribir("Ingrese la nota del examen parcial:")
Leer(notaExamenParcial)
Escribir("Ingrese la nota del taller 1:")
Leer(notaTaller1)
Escribir("Ingrese la nota del taller 2:")
Leer(notaTaller2)
Escribir("Ingrese la nota del quiz:")
Leer(notaQuiz)
// Calcular la nota final
notaFinal <- 0.7 * notaExamenParcial + 0.1 * notaTaller1 + 0.1 * notaTaller2 + 0.1 *
notaQuiz
// Imprimir la nota final
Escribir("La nota final del primer parcial de análisis es: ", notaFinal)
FinAlgoritmo
4. Un capital C está situado a un tipo de interés R anual ¿al término de cuántos
años se doblará?
Algoritmo CalcularTiempoDuplicacionCapital
// Definir las variables
VARIABLE C, R, nuevoCapital: REAL
VARIABLE doblado: BOOLEAN
VARIABLE años: ENTERO
Inicio
// Pedir al usuario el capital inicial y el tipo de interés anual
Escribir("Ingrese el capital inicial:")
Leer(C)
Escribir("Ingrese el tipo de interés anual:")
Leer(R)
// Inicializar las variables
doblado <- FALSO
años <- 0
// Calcular el tiempo que tarda en duplicarse el capital
Mientras doblado = FALSO Hacer
// Incrementar el número de años
años <- años + 1
// Calcular el nuevo capital
nuevoCapital <- C * (1 + R/100)^años
// Verificar si el capital se ha duplicado
Si nuevoCapital >= 2*C Entonces
doblado <- VERDADERO
FinSi
FinMientras
// Imprimir el resultado
Escribir("El capital tardó ", años, " años en duplicarse.")
FinAlgoritmo
5. Elaborar un algoritmo que permita ingresar 20 números y muestre todos los
números menores e iguales a 25.
Algoritmo Mostrar_Num_Menores_a_25
Definir numeros[20]: entero
Definir i: entero
Para i <- 0 Hasta 19 Con Paso 1 Hacer
Escribir "Ingrese un número: "
Leer numeros[i]
Fin Para
Para i <- 0 Hasta 19 Con Paso 1 Hacer
Si numeros[i] <= 25 Entonces
Escribir numeros[i]
Fin Si
Fin Para
FinAlgoritmo
6. Hacer un programa que sume 5 precios de camisas (en dólares) y que luego
muestre el total de la venta en pesos.
Algoritmo VentaCamisas
// Definir constantes
Definir CAMISA Como Entero = 5
Definir DOLAR_A_PESO Como Real = 21.50
// Definir variables
Definir precioEnDolares Como Real
Definir totalEnDolares Como Real = 0
Definir totalEnPesos Como Real
// Pedir al usuario los precios de las 5 camisas
Para i Desde 1 Hasta CAMISA Con Paso 1 Hacer
Escribir "Ingrese el precio de la camisa ", i, " en dólares: "
Leer precioEnDolares
totalEnDolares <- totalEnDolares + precioEnDolares
FinPara
// Calcular el total de la venta en pesos
totalEnPesos <- totalEnDolares * DOLAR_A_PESO
// Mostrar el total de la venta en pesos
Escribir "El total de la venta en pesos es: ", totalEnPesos
FinAlgoritmo
7. Hacer un programa que registre el consumo realizado por los clientes de un
restaurante, si el consumo decada cliente excede 50000 se hará un descuento
del 20%. Se debe mostrar el pago de cada cliente y el totalde todos los pagos.
Algoritmo RegistroConsumoRestaurante
// Definir constantes
Definir DESCUENTO_LIMITE Como Real = 50000
Definir PORCENTAJE_DESCUENTO Como Real = 0.2
// Definir variables
Definir consumo Como Real
Definir pago Como Real
Definir totalPagos Como Real = 0
// Pedir al usuario el consumo de cada cliente
Repetir
Escribir "Ingrese el consumo del cliente (0 para salir): "
Leer consumo
Si consumo > 0 Entonces
Si consumo > DESCUENTO_LIMITE Entonces
pago <- consumo - (consumo * PORCENTAJE_DESCUENTO)
Escribir "El pago con descuento del 20% es: ", pago
SiNo
pago <- consumo
Escribir "El pago es: ", pago
FinSi
totalPagos <- totalPagos + pago
FinSi
Hasta que consumo <= 0
// Mostrar el total de todos los pagos
Escribir "El total de todos los pagos es: ", totalPagos
FinAlgoritmo
8. Diseñar un algoritmo que permita ingresar la hora, minutos y segundos, y
que calcule la hora en el siguiente segundo ("0<= H <=23", "0<= M <=59"
"0<= S<=59").
Algoritmo SiguienteSegundo
// Definir variables
Definir h Como Entero
Definir m Como Entero
Definir s Como Entero
// Pedir la hora, los minutos y los segundos al usuario
Escribir "Ingrese la hora (0 a 23): "
Leer h
Escribir "Ingrese los minutos (0 a 59): "
Leer m
Escribir "Ingrese los segundos (0 a 59): "
Leer s
// Calcular la siguiente hora en segundos
s <- s + 1
Si s > 59 Entonces
s <- 0
m <- m + 1
FinSi
Si m > 59 Entonces
m <- 0
h <- h + 1
FinSi
Si h > 23 Entonces
h <- 0
FinSi
// Mostrar la siguiente hora
Escribir "La siguiente hora es: ", h, ":", m, ":", s
FinAlgoritmo
9. Dado N, escribir el producto desde 1 hasta N.
Algoritmo ProductoN
// Definir variables
Definir n Como Entero
Definir producto Como Entero
// Pedir el valor de N al usuario
Escribir "Ingrese el valor de N: "
Leer n
// Calcular el producto desde 1 hasta N
producto <- 1
Para i <- 1 Hasta n Con Paso 1 Hacer
producto <- producto * i
FinPara
// Mostrar el resultado
Escribir "El producto desde 1 hasta ", n, " es: ", producto
FinAlgoritmo
10. Realizar un algoritmo que muestre por pantalla la tabla de multiplicar
decreciente de cualquier número, ingresado entre el 1 y el 10.
Algoritmo TablaMultiplicarDecreciente
// Definir variables
Definir n Como Entero
Definir i Como Entero
// Pedir el valor de N al usuario
Escribir "Ingrese un número entre 1 y 10: "
Leer n
// Verificar que el número ingresado esté en el rango permitido
Si n < 1 O n > 10 Entonces
Escribir "El número ingresado no está en el rango permitido."
Sino
// Mostrar la tabla de multiplicar decreciente
Escribir "Tabla de multiplicar decreciente de ", n, ":"
Para i <- 10 Hasta 1 Con Paso -1 Hacer
Escribir i, " x ", n, " = ", i * n
FinPara
FinSi
FinAlgoritmo