SEMANA 05 - Universidad Privada del Norte 2025-1

FrankCarlosHuamanchu 7 views 32 slides Sep 08, 2025
Slide 1
Slide 1 of 32
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32

About This Presentation

SEMANA 05 - Universidad Privada del Norte 2025-1


Slide Content

Introducción a la Ingeniería de Software Semana 05: Introducción a los algoritmos. Representación de Agoritmos . Docente: Frank Huamanchumo C.

Reflexionamos https://youtu.be/f10jKIslSUY?si=oZ9tBAmil3Y1Jza3

Respondemos a las preguntas ¿Qué es un algoritmo y cuál es su propósito principal en la resolución de problemas? ¿Cuáles son las características esenciales que debe cumplir un algoritmo para ser considerado correcto y eficiente? ¿Qué diferencia existe entre un diagrama de flujo y el pseudocódigo en la representación de algoritmos? ¿Por qué es importante diseñar algoritmos antes de escribir código en un lenguaje de programación?

Al finalizar la sesión, el estudiante será capaz de identificar, diseñar y representar algoritmos que resuelvan problemas simples, utilizando diagramas de flujo (DFD), pseudocódigo y código estructurado, aplicando lógica secuencial, con coherencia, claridad y ética profesional, considerando aspectos básicos de seguridad informática. Logro de la Sesión

Introducción a los Algoritmos Definición, Origen, Características, Importancia, Ventajas y Desventajas

Definición de Algoritmos Un algoritmo es un conjunto ordenado y finito de pasos o instrucciones que permiten resolver un problema o realizar una tarea específica. Se utilizan tanto en la vida cotidiana como en la informática para automatizar procesos, tomar decisiones o encontrar soluciones. 📌 Ejemplo cotidiano: Algoritmo para cepillarse los dientes: Mojar el cepillo. Aplicar pasta dental. Cepillar los dientes. Enjuagar la boca. Guardar el cepillo.

Origen de los Algoritmos El término “algoritmo” proviene del matemático persa Muhammad ibn Musa al- Khwarizmi (siglo IX), quien escribió sobre métodos para resolver ecuaciones. Su obra se tradujo al latín como “ Algoritmi de numero Indorum ”, y de su nombre deriva la palabra actual . Desde entonces, los algoritmos han sido fundamentales en el desarrollo de las matemáticas, la lógica y la informática moderna.

Características de los Algoritmos Un algoritmo debe cumplir con ciertas propiedades: Finito : Debe terminar en algún momento. Definido : Cada paso es claro, sin ambigüedad. Ordenado : Las instrucciones siguen un orden lógico. Efectivo : Cada paso puede llevarse a cabo. Entrada y salida : Tiene datos de entrada y produce una salida (resultado).

Estructura de los Algoritmos Todo algoritmo consta de tres secciones principales: Entrada: Es la introducción de datos para ser transformados. Proceso: Es el conjunto de operaciones a realizar para dar solución al problema. Salida: Son los resultados obtenidos a través del proceso.

Importancia de los Algoritmos Los algoritmos son esenciales para: La programación de computadoras : todo programa informático es una implementación de uno o varios algoritmos. La resolución estructurada de problemas . La optimización de procesos y tareas en áreas como negocios, medicina, educación, etc. El desarrollo de tecnologías avanzadas: inteligencia artificial, ciencia de datos, seguridad informática, etc.

Ventajas de los Algoritmos ✅ Clarifican los pasos para resolver un problema. ✅ Facilitan el diseño de programas informáticos. ✅ Permiten la automatización de procesos. ✅ Fomentan el pensamiento lógico y estructurado. ✅ Son reutilizables y escalables para distintos tipos de problemas.

Desventajas de los Algoritmos ❌ Pueden ser difíciles de crear para problemas complejos. ❌ Algunos algoritmos no son eficientes (pueden ser lentos o consumir muchos recursos). ❌ No todos los problemas tienen una solución algorítmica clara. ❌ Su implementación en código puede requerir conocimientos técnicos avanzados.

Conclusiones Los algoritmos son fundamentales para la resolución de problemas, tanto en el ámbito informático como en situaciones cotidianas, ya que permiten estructurar y automatizar procesos de manera lógica y ordenada. Comprender la definición, características, origen e importancia de los algoritmos proporciona una base sólida para el aprendizaje de la programación y el diseño de sistemas computacionales eficientes. La correcta representación de algoritmos mediante pseudocódigo, diagramas de flujo y código fuente facilita su análisis, comprensión, implementación y depuración en entornos reales.

Conclusiones El diseño de algoritmos debe considerar principios éticos y de seguridad , especialmente cuando se manejan datos sensibles o se aplican en sistemas críticos. Aunque los algoritmos presentan algunas limitaciones y desafíos , como la complejidad o la eficiencia, su correcto uso ofrece múltiples ventajas que los hacen imprescindibles en el desarrollo tecnológico actual.

Representación de algoritmos DFD, pseudocódigo y código

Diagrama de Flujo: DFD Un diagrama de flujo es una representación gráfica de los pasos que seguimos para realizar un proceso; partiendo de una entrada, y después de realizar una serie de acciones, llegamos a una salida. Cada paso se apoya en el anterior y sirve de sustento al siguiente

Símbolos

Símbolos

Ejemplos Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos catetos. Desarrolle el algoritmo correspondiente.

Ejemplos Desarrolle un algoritmo que permita determinar el área y volumen de un cilindro dado su radio (R) y altura (H). Desarrolle el algoritmo correspondiente.

Pseudocódigo El pseudocódigo es una forma de representar un algoritmo utilizando una mezcla de lenguaje natural y estructura lógica, sin seguir la sintaxis específica de un lenguaje de programación . Sirve como paso intermedio entre la lógica del problema y la codificación final. ¿Para qué sirve? Ayuda a visualizar el algoritmo antes de implementarlo en un lenguaje de programación. Facilita la comprensión del proceso lógico. Permite trabajar en equipo sin necesidad de dominar un mismo lenguaje de programación.

Reglas generales (estándar académico simple) Inicio y Fin delimitan el algoritmo. Se usan comandos como Leer , Escribir , Si...Entonces , Mientras , Repetir , etc. Se utilizan comentarios (//) para explicar pasos. No importa la sintaxis exacta, pero debe ser claro y estructurado.

Ejemplos Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos catetos. Desarrolle el algoritmo correspondiente. 1. Inicio 2. Declaración de Variables: CatA = 0, CatB =0 3. Leer el valor de cada cateto 4. Almacenarlo en la variable CatA y CatB 5. Calcula r el valor de Hip con la formula indicada 6. Escribir el valor de la Hipotenusa 7. Fin

Ejemplos Desarrolle un algoritmo que permita determinar el área y volumen de un cilindro dado su radio (R) y altura (H). Desarrolle el algoritmo correspondiente. 1. Inicio 2. Declaración de variables: R = 0, H = 0 3. Leer el valor de Radio (R) y Altura (H) 4. Calcular el Volumen aplicando la fórmula: π r 2 h 5. Calcular el valor del área aplicando la fórmula: 2π r 2 +2 π rh 6. Escribir el valor del Área y del Volumen 7. Fin

¿Qué es la codificación de algoritmos? La codificación de un algoritmo es el proceso de traducir un algoritmo escrito en pseudocódigo o diagramas de flujo a un lenguaje de programación específico , como Python, Java, C++, etc. Es el paso final antes de ejecutar un algoritmo en una computadora.

Objetivo de la codificación Convertir la lógica del algoritmo en instrucciones precisas y ejecutables. Validar que el algoritmo funcione correctamente con diferentes datos de entrada. Automatizar procesos o resolver problemas reales.

Pasos del proceso Diseño del algoritmo (diagrama de flujo o pseudocódigo). Selección del lenguaje de programación . Codificación : escribir el código respetando la sintaxis del lenguaje. Pruebas y depuración ( debugging ). Documentación y mantenimiento .

Calcular el área de un triángulo Ejemplos Pseudocódigo Inicio Leer base, altura area ← (base * altura) / 2 Escribir "El área es:", area Fin Python base = float (input("Ingrese la base del triángulo: ")) altura = float (input("Ingrese la altura del triángulo: ")) area = (base * altura) / 2 print ("El área es:", area ) Java (versión simplificada) import java.util.Scanner ; public class AreaTriangulo { public static void main ( String [] args ) { Scanner sc = new Scanner(System.in); System.out.print ("Ingrese la base: "); double base = sc.nextDouble (); System.out.print ("Ingrese la altura: "); double altura = sc.nextDouble (); double area = (base * altura) / 2; System.out.println ("El área es: " + area ); } }

¿Qué hemos aprendido hoy? Algoritmos Diagrama de Flujo Pseudocódigo

Referencias Khan Academy – Introducción a los algoritmos https://es.khanacademy.org/computing/computer-science/algorithms 📌 Explicaciones simples, visuales e interactivas para comprender algoritmos básicos. Programación ATS (canal de YouTube) https://www.youtube.com/@ProgramacionATS 📌 Curso en video sobre algoritmos, diagramas de flujo y pseudocódigo con ejercicios. Geeks for Geeks – Algorithms https://www.geeksforgeeks.org/fundamentals-of-algorithms/ 📌 Referencia completa para teoría, ejemplos y práctica de algoritmos. Tutorialspoint – Flowcharts & Algorithms https://www.tutorialspoint.com/data_structures_algorithms/flowcharts_algorithms.htm 📌 Breve guía introductoria con ejemplos de diagramas y pasos en pseudocódigo.
Tags