GA3-220501093-AA2-EV01 fundamentos de programación estructurada
y estructuras cíclicas
Por
Patricia Rodriguez Olaya
Septiembre 2023
Servicio Nacional de Aprendizaje SENA
Formación Titulada Virtual
Análisis Y Desarrollo De Software (2758340)
Problema 1: Algoritmo que determine la edad actual de una persona
Análisis
Elementos de entrada:
• Fecha de nacimiento de la persona
• Fecha actual
Elementos de salida:
• Edad actual de la persona
Procesos requeridos:
• Convertir las fechas de nacimiento y actual a un formato numérico.
• Calcular la diferencia en años entre las dos fechas.
• Devolver la diferencia en años.
Diseño e implementación
Diagrama de flujo:
Inicio
Solicitar la fecha de nacimiento
Solicitar la fecha actual
Convertir la fecha de nacimiento a un formato numérico
Convertir la fecha actual a un formato numérico
Calcular la diferencia en años entre las dos fechas
Devolver la diferencia en años
Fin
Pseudocódigo:
Python
def calcular_edad(fecha_nacimiento, fecha_actual):
"""
Calcula la edad actual de una persona.
Args:
fecha_nacimiento: La fecha de nacimiento de la persona.
fecha_actual: La fecha actual.
Returns:
La edad actual de la persona.
"""
# Convertir las fechas a un formato numérico
fecha_nacimiento_numerica = datetime.strptime(fecha_nacimiento,
"%d/%m/%Y").date().toordinal()
fecha_actual_numerica = datetime.strptime(fecha_actual,
"%d/%m/%Y").date().toordinal()
# Calcular la diferencia en años
diferencia_en_años = fecha_actual_numerica - fecha_nacimiento_numerica
# Devolver la diferencia en años
return diferencia_en_años // 365
if __name__ == "__main__":
# Solicitar la fecha de nacimiento
fecha_nacimiento = input("Ingrese la fecha de nacimiento (dd/mm/aaaa): ")
# Solicitar la fecha actual
fecha_actual = input("Ingrese la fecha actual (dd/mm/aaaa): ")
# Calcular la edad
edad = calcular_edad(fecha_nacimiento, fecha_actual)
# Mostrar la edad
print(f"La edad actual es {edad} años.")
Utiliza el código con precaución. Más información
content_copy
Ejemplo de ejecución:
Ingrese la fecha de nacimiento (dd/mm/aaaa): 2000/01/01
Ingrese la fecha actual (dd/mm/aaaa): 2023/07/20
La edad actual es 23 años.
Problema 2: Algoritmo que determine si un año es o no un año
bisiesto
Análisis
Elementos de entrada:
• Un año
Elementos de salida:
• Un booleano que indica si el año es o no bisiesto
Procesos requeridos:
• Verificar si el año es divisible por 4.
• Verificar si el año es divisible por 100.
• Verificar si el año es divisible por 400.
Diseño e implementación
Diagrama de flujo:
Inicio
Solicitar el año
Verificar si el año es divisible por 4
Si el año es divisible por 4:
Verificar si el año es divisible por 100
Si el año es divisible por 100:
Verificar si el año es divisible por 400
Si el año es divisible por 400:
Devolver True
De lo contrario:
Devolver False
De lo contrario:
Devolver True
De lo contrario:
Devolver False
Fin
Pseudocódigo:
Python
def es_bisiesto(año):
"""
Determina si un año es o no bisiesto.
Args:
año: El año a verificar.
Returns:
Un booleano que indica si el año es o no bisiesto.
"""