Fundamentos de Programación Estructurada y Estructuras Cíclicas
Juan Manuel David Pérez
Diego Alejandro Camacho Romero
Juan Sebastián Úsuga Vélez
Servicio Nacional de Aprendizaje (SENA)
Análisis y Desarrollo de Software (2758311)
Instructor: Jesid Bolaños
Popayán, Colombia
Bogotá, Colombia
Medellín, Colombia
16 de febrero de 2023
Contenido
Introducción ................................................................................................................ 3
Desarrollo ................................................................................................................... 4
Pregunta 1 ............................................................................................................... 4
Análisis ............................................................................................................... 4
Diseño ................................................................................................................. 4
Diagrama de Flujo .............................................................................................. 6
Pregunta 2 ............................................................................................................... 6
Análisis ............................................................................................................... 6
Diseño ................................................................................................................. 7
Diagrama de flujo ............................................................................................... 8
Introducción
Las metodologías de algoritmos son un conjunto de procedimientos y técnicas
utilizados para diseñar, analizar e implementar algoritmos eficientes y efectivos. Estas
metodologías se dividen en tres fases principales: análisis, diseño e implementación.
La fase de análisis implica la comprensión del problema que se va a resolver,
incluyendo la identificación de los datos de entrada y salida, los requisitos de
procesamiento y las restricciones del sistema, en esta fase se establecen los objetivos del
algoritmo y se define la estrategia a seguir para lograrlos.
La fase de diseño se centra en la creación del algoritmo en sí mismo, definiendo las
estructuras de datos y los pasos que se utilizarán para procesar los datos de entrada y
generar los resultados deseados, en esta fase se asegura que el algoritmo sea óptimo y
cumpla con los objetivos establecidos en la fase de análisis.
Finalmente, la fase de implementación involucra la codificación del algoritmo en un
lenguaje de programación específico, la realización de pruebas y la optimización del código
para mejorar la eficiencia del algoritmo.
Desarrollo
Pregunta 1
Algoritmo que a partir de una fecha de nacimiento y una fecha actual determine la
edad en años actual de una persona.
Análisis
• Formulación del problema: consiste desde la fecha de nacimiento y fecha actual en
edad en años actuales
• Resultados esperados: Se espera que el algoritmo funcione sin ningún error al ser
ejecutado.
• Datos de entrada: Son como fecha de nacimiento como día, mes y año y con la
fecha actual igualmente como mes día y año.
• Restricciones: ninguna.
• Procesos necesarios: solicitar que el usuario indique los respectivos datos como día,
mes y año.
Diseño
Algoritmo años_persona
Definir Edad, diaa, mesa, añoa Como Entero
Definir dian, mesn, añon Como Entero
Escribir "Por favor escriba el día de la fecha de nacimiento "
Leer dian
Escribir "Escriba el mes de la fecha de nacimiento "
Leer mesn
Escribir "Escriba el año de la fecha de nacimiento "
Leer añon
Escribir "Escriba la fecha en díaactual"
Leer diaa
Escribir "Escriba la fecha mes actual "
Leer mesa
Escribir "Escriba la fecha año actual"
Leer añoa
Edad = añoa-añon
Si mesn > mesa Entonces
Edad = Edad-1
SiNo
Si mesn = mesa Entonces
Si dian > diaa Entonces
Edad = Edad-1
FinSi
Si dian = diaa Entonces
Escribir "¡Oh!Felicidades por tu cumpleaños"
FinSi
FinSi
FinSi
Escribir "Tu edad actual es: “, Edad, "años"
FinAlgoritmo
Diagrama de Flujo
Pregunta 2
Algoritmo que permita determinar si un año indicado es o no un año bisiesto.
Análisis
• Formulación del problema: consiste diferenciar que año es bisiesto y que año no es
bisiesto.
• Resultados esperados: Se espera que el algoritmo funcione sin ningún error al ser
ejecutado y sin ningún problema y determine si el año ingresado es bisiesto o no.
• Datos de entrada: año a determinar.
• Restricciones: ninguna
• Procesos necesarios: Solicitar que el usuario indique los respectivos datos como año
a determinar si es bisiesto o no.
Diseño
Algoritmo año_bisiesto
Escribir “Escriba el año: "
Leer año
Si (año mod 4 = 0 AND año mod 100 <> 0) Entonces
Escribir “El Año “, año, “ es bisiesto”
SiNo
Si (año mod 400 = 0 AND año mod 100 = 0)
Escribir "El Año ",año,"es Bisiesto" Sino Escribir "El Año ",año," no es
Bisiesto"
FinSi
FinSi
FinAlgoritmo
Diagrama de flujo