Fundamentos de Programación PDF
Document Details
Universidad Laica Eloy Alfaro de Manabí
Ing. Cristhian Marcony Villa Palma, Mg.
Tags
Summary
This document is an educational presentation about the fundamentals of programming including algorithms, their types, writing, and use of structures of control. It also contains exercises on programming concepts, and a presentation that covers the steps for problem-solving in programming context.
Full Transcript
FUNDAMENTOS DE PROGRAMACIÓN "Bienvenidos a la clase de Fundamentos de Programación. “En estas clases, aprenderán los conceptos clave de la programación, desde el diseño de algoritmos hasta la escritura de código. Exploraremos cómo resolver problemas de manera...
FUNDAMENTOS DE PROGRAMACIÓN "Bienvenidos a la clase de Fundamentos de Programación. “En estas clases, aprenderán los conceptos clave de la programación, desde el diseño de algoritmos hasta la escritura de código. Exploraremos cómo resolver problemas de manera estructurada y convertir esas soluciones en programas funcionales." UNIDAD I: INTRODUCCIÓN A LOS ALGORITMOS Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Escritura de Algoritmos La escritura de algoritmos es el proceso de describir, de manera secuencial y clara, los pasos necesarios para resolver un problema específico. Un algoritmo puede ser representado en pseudocódigo o en un lenguaje de programación. : Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Escritura de Algoritmos Definición del Problema Objetivo claro: Define claramente el problema que el algoritmo resolverá. Entradas y Salidas: Determina las entradas necesarias para el algoritmo y las salidas que debe generar. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Estructura del Algoritmo Los algoritmos suelen seguir una estructura estándar: Inicio: Marca el comienzo del algoritmo. Pasos: Secuencia lógica de instrucciones, generalmente lineales o con decisiones de bifurcación. Fin: Marca el final del algoritmo. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Uso de Estructuras de Control Condicionales: Utiliza condiciones (if, else) para tomar decisiones dentro del algoritmo. Bucles: Repite una serie de pasos hasta que se cumpla una condición (for, while). Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Algoritmos Informales Los algoritmos informales se basan en el lenguaje natural, con instrucciones más flexibles. Son útiles para describir proceso s sin necesidad procesos sin necesidad de una formalidad extrema. 1 2 3 4 Paso 1 Paso 2 Paso 3 Paso 4 Descripción del Problema Identificación de las Acciones Secuncia de Instrucciones Solución del Problema Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Pasos para Escribir un Algoritmo Informal Escribir un algoritmo informal es un proceso sencillo. Se debe empezar definiendo el problema, identificar las acciones a realizar, ordenar las instrucciones y verificar la solución. Paso 1 Definir el problema Paso 2 Identificar las acciones Paso 3 Ordenar las instrucciones Paso 4 Verificar la solución Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ventajas de los Algoritmos Informales Los algoritmos informales son una herramienta útil para describir procesos de manera sencilla. Son más flexibles y fáciles de entender que los algoritmos formales, lo que los hace ideales para la comunicación y la colaboración. Comunicación Colaboración Facilitan la comunicación de ideas Promueven la colaboración entre equipos. entre personas. Simplicidad Flexibilidad Son más fáciles de entender que los Ofrecen mayor flexibilidad en la algoritmos formales. descripción de procesos. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejemplos de Algoritmos Informales Los algoritmos informales son utilizados en nuestra vida diaria. Un ejemplo común es una receta de cocina, que describe los pasos necesarios para preparar un platillo. Receta de Pastel Ingredientes Pasos Pastel de Chocolate Harina, azúcar, Mezclar ingredientes huevos, chocolate, secos, mezclar mantequilla, leche ingredientes húmedos, combinar ambas mezclas, hornear a 180 grados Celsius durante 30 minutos. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Diferencias entre Algoritmos Formales e Informales Los algoritmos formales se basan en un lenguaje preciso y estructurado, mientras que los informales utilizan el lenguaje natural. Los algoritmos formales son más complejos pero precisos, mientras que los informales son más fáciles de entender pero menos precisos. Algoritmos Formales Algoritmos Informales Lenguaje preciso y estructurado. Lenguaje natural. Más complejos pero precisos. Más fáciles de entender pero menos precisos. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fuentes de Consulta ✓ Ramírez Marín, J. H. (2019). Fundamentos iniciales de lógica de programación I. Algoritmos en PseInt y Python: (1 ed.). D - Institución Universitaria de Envigado. https://elibro.net/es/lc/uleam/titulos/226488 Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. FUNDAMENTOS DE PROGRAMACIÓN "Bienvenidos a la clase de Fundamentos de Programación. “En estas clases, aprenderán los conceptos clave de la programación, desde el diseño de algoritmos hasta la escritura de código. Exploraremos cómo resolver problemas de manera estructurada y convertir esas soluciones en programas funcionales." UNIDAD I: INTRODUCCIÓN A LOS ALGORITMOS Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Diseño del algoritmo Es una fase fundamental en el desarrollo de un sistema o programa informático. Durante esta etapa, se establecen los pasos y la lógica que el sistema seguirá para resolver un problema o ejecutar una tarea específica. A continuación, te explico cómo se aborda el diseño de un algoritmo en un contexto de modelado de sistemas orientado a objetos: Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Conceptos básicos de algoritmos algoritmos Los algoritmos se basan en conceptos fundamentales como la entrada, el procesamiento y la procesamiento y la salida. Algunos ejemplos son las estructuras de datos, la recursividad, la recursividad, la complejidad computacional y los tipos de algoritmos como los de de ordenamiento y búsqueda. Entrada Salida Los datos que el algoritmo recibe para El resultado del algoritmo, que puede para procesar. puede ser una solución al problema o problema o un conjunto de datos modificados. Procesamiento La secuencia de operaciones que se realizan sobre los datos de entrada para generar la generar la salida. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Diseño del algoritmo Definición del Problema Entrada: ¿Qué datos recibe el algoritmo? Salida: ¿Qué resultado debe generar? Restricciones: Condiciones que deben cumplirse (por ejemplo, límites de tiempo o espacio). Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Análisis de la complejidad algorítmica El análisis de la complejidad algorítmica nos permite evaluar la eficiencia de un algoritmo al determinar cuántos recursos, como tiempo y memoria, necesita para ejecutarse en función del tamaño de la entrada. Complejidad Temporal Complejidad Espacial Mide el tiempo que tarda un algoritmo en Mide la cantidad de memoria que un algoritmo ejecutarse en función del tamaño de la entrada. necesita para ejecutarse en función del tamaño de la entrada. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Técnicas de diseño de algoritmos Existen diferentes técnicas de diseño de algoritmos que permiten crear soluciones eficientes para una amplia variedad de problemas. Algunas de las técnicas más comunes incluyen la programación dinámica, la búsqueda en profundidad, la búsqueda en amplitude y el divide y vencerás. 1 Divide y vencerás 2 Programación dinámica 3 Búsqueda en profundidad Divide el problema en Divide el problema en Explora todas las posibles ramas subproblemas más pequeños, subproblemas, resuelve los de un árbol de búsqueda hasta resuelve los subproblemas y subproblemas y guarda las encontrar la solución. combina las soluciones. soluciones para evitar volver a calcularlas. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Estrategias Comunes de Diseño de Algoritmos Dividir y vencerás (Divide and conquer): Divide el problema en subproblemas más pequeños, resuélvelos por separado y combina las soluciones. Ejemplos incluyen la búsqueda binaria y el algoritmo de ordenamiento de Merge Sort. Algoritmos voraces (Greedy): En cada paso, elige la mejor opción local con la esperanza de encontrar una solución óptima global. Programación dinámica: Descompone el problema en subproblemas que se resuelven una vez y se almacenan para evitar resolverlos repetidamente. Ejemplos: Fibonacci, mochila. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Algoritmos de ordenamiento y búsqueda Los algoritmos de ordenamiento organizan elementos en un orden específico. Los algoritmos de búsqueda localizan elementos en una estructura de datos. Algunos ejemplos son el ordenamiento burbuja, la búsqueda binaria y la búsqueda lineal. 1 Ordenamiento burbuja Compara pares de elementos adyacentes e intercambia su posición si no están en el están en el orden deseado. 2 Búsqueda binaria Divide el conjunto de datos a la mitad en cada paso y busca el elemento en la mitad la mitad correcta. 3 Búsqueda lineal Compara cada elemento del conjunto de datos con el elemento buscado hasta hasta encontrarlo o llegar al final del conjunto. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Conclusión y aplicaciones prácticas El diseño de algoritmos es un campo fundamental en la informática, con aplicaciones en diversas áreas como la inteligencia artificial, el procesamiento de datos, la seguridad informática y las redes de comunicación. Procesamiento de datos Inteligencia artificial Los algoritmos se utilizan para ordenar, analizar Los algoritmos son la base de los sistemas de analizar y procesar datos. de aprendizaje automático e inteligencia artificial. Seguridad informática Redes de comunicación Los algoritmos de cifrado y autenticación Los algoritmos optimizan el flujo de datos y la protegen la información confidencial. y la gestión de recursos en las redes. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fuentes de Consulta Ramírez Marín, J. H. (2019). Fundamentos iniciales de lógica de programación I. Algoritmos en PseInt y Python: (1 ed.). D - Institución Universitaria de Envigado. https://elibro.net/es/lc/uleam/titulos/226488 Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. FUNDAMENTOS DE PROGRAMACIÓN "Bienvenidos a la clase de Fundamentos de Programación. “En estas clases, aprenderán los conceptos clave de la programación, desde el diseño de algoritmos hasta la escritura de código. Exploraremos cómo resolver problemas de manera estructurada y convertir esas soluciones en programas funcionales." UNIDAD I: INTRODUCCIÓN A LOS ALGORITMOS Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Concepto de los Algoritmos Definición: Un algoritmo es una secuencia finita de pasos bien definidos, que resuelven un problema o llevan a cabo una tarea específica. Los algoritmos son fundamentales en la informática y las matemáticas, ya que proporcionan un método sistemático para resolver problemas. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Características de los Algoritmos Inicio y fin: parten de un estado inicial desde el cual ejecutan una serie de instrucciones para llegar a un estado final de salida o finalización. Exactitud: deben indicar un orden claro, específico y lógico de instrucciones para la ejecución de cada paso, sin que exista espacio para la ambigüedad. Secuencia: deben seguir una serie de pasos ordenados, entendibles y previamente establecidos. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Características de los Algoritmos Completos: deben tener en cuenta todas las posibilidades y presentaciones del problema para ejecutar la solución exacta. Finitos: el número de pasos para ejecutar la tarea debe ser finito para darla por concluida. Abstractos: representan una guía o modelo para ordenar procesos. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Estructura de los Algoritmos Los algoritmos típicamente tienen una estructura que incluye: Inicio: Punto de partida del algoritmo. Instrucciones: Serie de pasos a seguir, que pueden incluir operaciones matemáticas, decisiones lógicas, ciclos de repetición, entre otros. Fin: Conclusión del algoritmo después de que se hayan ejecutado todos los pasos. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Estructura de los Algoritmos Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Tipos de Algoritmos Cualitativos (Informales): Describen los pasos de manera informal, usando lenguaje natural. Son fáciles de entender pero pueden ser ambiguos y difíciles de traducir a código de computadora. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Tipos de Algoritmos Características de los algoritmos cualitativos: Lenguaje natural: Utilizan palabras y frases comunes, como si se estuviera explicando a una persona sin conocimientos técnicos. Flexibilidad: Permiten que los pasos varíen según las circunstancias. Por ejemplo, en una receta, se podría decir "agregar ingredientes al gusto", lo que deja espacio a la interpretación. Ambigüedad: Debido a la falta de precisión, puede ser difícil saber exactamente cómo implementar o ejecutar cada paso de manera consistente. No estructurados: No siguen un esquema riguroso, como el pseudocódigo o un lenguaje de programación formal. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejemplos de algoritmos Cualitativos 1. Realizar un puré de papas. INICIO 1.- Buscar utensilios. 8.- Retirar las papas. 2.- Lavar las papas. 9.-Quitar la cascara a las papas.10.- Triturar las 3.- Llenar la olla con agua. papas. 4.- Colocar las papas dentro de la olla. 11.- Agregar queso, mantequilla y leche. 5.-Encender el fogón. 12.- Mezclar. 6.- Colocar la olla al fuego. 13.- Agregar sal al gusto. 7.- Esperar a que hierva. 14.- Servir. ¿Están listas las papas? FIN SI: ir al paso 8. No: ir al paso 7. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejemplos de algoritmos Cualitativos Realizar un algoritmo para preparar una limonada Algoritmo para hacer mi agenda diaria. Empacar una maleta para un viaje Hacer una pizza casera Cambiar una llanta de un coche Pintar una habitación Limpiar una computadora Hacer una presentación en PowerPoint Llegar a la Universidad Hacer una llamada telefónica profesional Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Tipos de Algoritmos Cuantitativos (Computacionales): Describen los pasos de manera formal y precisa, utilizando un lenguaje de programación o notación matemática. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Tipos de Algoritmos Características principales de los algoritmos cuantitativos Precisión: Cada paso del algoritmo está descrito con claridad, especificando exactamente qué debe suceder en términos medibles. Estructura rígida: Siguen una secuencia lógica y bien definida que debe cumplirse sin variaciones. Esto asegura que el algoritmo sea reproducible. Fácilmente traducible a código: Estos algoritmos pueden ser implementados en un lenguaje de programación, ya que no contienen ambigüedades y son estrictamente formales. Automatizables: Los algoritmos computacionales están diseñados para ser procesados por una máquina, lo que los hace indispensables en el mundo de la programación y la automatización de tareas. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejemplos de Algoritmos Cuantitativos Obtener la suma de 2 números. Obtener el área de un triángulo. 1. Inicio 1. Inicio 2. Declarar variables (a,b,c) 2. Declarar variables (b,h,a) 3. Ingresar datos (a,b) 3. Ingresar datos (b,h) 4. Realizar la operación c=a+b 4. Realizar la operación a=(b*h)/2 5. Mostrar (c) 5. Mostrar (a) 6. Fin 6. Fin Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejemplos de Algoritmos Cuantitativos Promedio de una lista de números. Suma de dígitos de un número Conteo de números pares e impares Contar las vocales en una cadena Calcular el máximo común divisor (MCD) Número mayor en una lista Determinar si un número es primo Conteo de números pares e impares Ingresar una edad y obtener el año en que nació. Determinar si 2 números son iguales o diferentes, si son diferentes determinar cual de los 2 es el mayor. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Formas de Representar un Algoritmo Gráfica Diagrama de flujo: Utiliza símbolos gráficos para representar los pasos y la secuencia de un algoritmo. Es útil para visualizar la lógica y el flujo de control. Pseudocódigo gráfico: Usa diagramas o figuras para representar las instrucciones del algoritmo, como diagramas Nassi-Shneiderman. No Gráfica Pseudocódigo: Utiliza un lenguaje similar al natural para describir los pasos del algoritmo de manera detallada, pero no con el rigor de un lenguaje de programación. Código fuente: Representa el algoritmo en un lenguaje de programación específico, como Python, Java o C++. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Algoritmos Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fuentes de Consulta Ramírez Marín, J. H. (2019). Fundamentos iniciales de lógica de programación I. Algoritmos en PseInt y Python: (1 ed.). D - Institución Universitaria de Envigado. https://elibro.net/es/lc/uleam/titulos/226488 Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. FUNDAMENTOS DE PROGRAMACIÓN "Bienvenidos a la clase de Fundamentos de Programación. “En estas clases, aprenderán los conceptos clave de la programación, desde el diseño de algoritmos hasta la escritura de código. Exploraremos cómo resolver problemas de manera estructurada y convertir esas soluciones en programas funcionales." UNIDAD I: INTRODUCCIÓN A LOS ALGORITMOS Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fases en la Resolución de Problemas ¿Qué es un Problema ? En programación, un "problema" se refiere a una situación o tarea específica que requiere una solución a través de un programa o algoritmo. Un problema en programación se puede entender como un desafío o una pregunta que debe resolverse utilizando herramientas y técnicas de codificación. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fases en la Resolución de Problemas La resolución de problemas es un proceso estructurado que se divide en varias fases. Estas fases ayudan a abordar el problema de manera sistemática y a encontrar soluciones eficaces. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fases en la Resolución de Problemas Definición del Problema: Esta es la fase inicial en la que se identifica y se comprende el problema. Es crucial definir el problema de manera clara y precisa, estableciendo los objetivos que se desean alcanzar. Ejemplo: Supongamos que quieres diseñar un programa para calcular la media de un conjunto de números. Aquí, debes definir qué tipo de números se van a procesar (enteros, decimales), cuántos números, y qué resultados se espera obtener. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fases en la Resolución de Problemas Análisis del Problema: En esta fase, se profundiza en la comprensión del problema y se identifican los requisitos, las restricciones, y los recursos disponibles. También se identifican los posibles obstáculos que podrían surgir. Ejemplo: Analizar si los números estarán en un archivo, si se ingresarán desde el teclado, o si se generarán automáticamente. También se debe considerar cómo manejar situaciones como la entrada de valores no válidos. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fases en la Resolución de Problemas Diseño del Algoritmo: Esta fase consiste en planificar una solución al problema mediante la creación de un algoritmo. Un algoritmo es un conjunto de pasos lógicos que deben seguirse para resolver el problema. Ejemplo: Diseñar un algoritmo que lea los números, los almacene en una lista, y luego calcule la media. Esto podría incluir pasos como inicializar una variable para la suma total, iterar a través de la lista de números, sumar cada número, y finalmente dividir la suma total entre la cantidad de números. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fases en la Resolución de Problemas Implementación: Aquí, se lleva a cabo la codificación del algoritmo en un lenguaje de programación específico. Esta fase también incluye la creación de pruebas preliminares para verificar que el código funcione según lo esperado. Ejemplo: Escribir el código en Python, o cualquier otro lenguaje, basado en el algoritmo diseñado. Aquí, se desarrollan las funciones necesarias, se manipulan las estructuras de datos y se asegura que el programa siga los pasos definidos en el diseño del algoritmo. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fases en la Resolución de Problemas Pruebas y Depuración: Una vez implementada la solución, se realizan pruebas para asegurarse de que el programa funciona correctamente. Esta fase incluye la identificación y corrección de errores (debugging). Ejemplo: Ejecutar el programa con diferentes conjuntos de datos para asegurarse de que calcule correctamente la media en todos los casos. Si se encuentra un error, se depura el código para corregirlo. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fases en la Resolución de Problemas Documentación: En esta fase, se documenta el proceso de resolución del problema, el algoritmo, el código y cualquier otro aspecto relevante para futuros mantenimientos o revisiones. Ejemplo: Crear un documento que explique cómo funciona el programa, los pasos que sigue, las decisiones de diseño tomadas y cómo se pueden realizar modificaciones en el futuro. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fases en la Resolución de Problemas Mantenimiento: Después de la implementación y prueba, el programa puede requerir ajustes o mejoras a lo largo del tiempo. Esta fase incluye la actualización del código y la mejora continua según las necesidades o nuevas situaciones que surjan. Ejemplo: Si en el futuro se requiere calcular la media de un tipo diferente de datos o se identifica una nueva optimización, el código se actualiza y mejora para satisfacer estas nuevas necesidades. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Ejercicio 1: Cálculo de la Media de Números Definición del Problema: Crear un programa que calcule la media de una lista de números ingresados por el usuario. Análisis del Problema: Entradas: Número de elementos que el usuario desea ingresar. Los propios números que el usuario ingresa. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Proceso: Recopilar los números. Calcular la suma total de los números. Dividir la suma entre la cantidad de números para obtener la media. Salidas: Mostrar la media calculada. Consideraciones: Manejar entradas no numéricas con manejo de excepciones. Permitir números decimales. Gestionar el caso donde el usuario no ingresa ningún número (evitar división por cero). Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Diseño del Algoritmo Solicitar al usuario que ingrese la cantidad de números. Validar que la cantidad ingresada sea un número entero positivo. Crear una lista vacía para almacenar los números. Usar un bucle para solicitar al usuario que ingrese cada número, validando que sean números reales. Calcular la suma total de los números en la lista. Calcular la media dividiendo la suma total entre la cantidad de números. Mostrar el resultado al usuario con un formato adecuado. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Ejercicio 2: Sumar Dos Números Comprensión del Problema Problema: Escribe un programa que sume dos números enteros dados por el usuario. Requisitos: Los números serán enteros. Salida esperada: La suma de los dos números. Análisis del Problema Entrada: Dos números enteros. Salida: Un entero que representa la suma de los dos números de entrada. Consideraciones: Asegurarse de que los números son enteros. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Ejercicio 2: Sumar Dos Números Comprensión del Problema Problema: Escribe un programa que sume dos números enteros dados por el usuario. Requisitos: Los números serán enteros. Salida esperada: La suma de los dos números. Análisis del Problema Entrada: Dos números enteros. Salida: Un entero que representa la suma de los dos números de entrada. Consideraciones: Asegurarse de que los números son enteros. Algoritmo Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Ejercicio 1: Determinar si un Número es Par o Impar Ejercicio 2: Encontrar el Número Mayor de Dos Números Ejercicio 3: Determinar si una Persona es Mayor de Edad Ejercicio 4: Multiplicar un Número por 10 Ejercicio 5: Determinar si un Número es Positivo o Negativo Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Ejercicio 1: Determinar si un Número es Par o Impar Comprensión del Problema Problema: Escribe un programa que determine si un número dado por el usuario es par o impar. Requisitos: El número será un entero. Salida esperada: Un mensaje que indique si el número es par o impar. Análisis del Problema Entrada: Un número entero. Salida: Un mensaje indicando si el número es par o impar. Consideraciones: Asegurarse de que el número es un entero. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Algoritmo 1. Solicitar al usuario que introduzca un número entero. 2. Verificar si el número es divisible por 2 usando el operador %. 3. Si el resultado es 0, el número es par; de lo contrario, es impar. 4. Mostrar el mensaje correspondiente. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Ejercicio 2: Encontrar el Número Mayor de Dos Números Comprensión del Problema Problema: Escribe un programa que determine cuál de los dos números dados por el usuario es mayor. Requisitos: Los números serán enteros. Salida esperada: Un mensaje que indique cuál de los dos números es mayor o si son iguales. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Análisis del Problema Entrada: Dos números enteros. Salida: Un mensaje indicando cuál número es mayor o si son iguales. Consideraciones: Asegurarse de que ambos números son enteros. Algoritmo 1. Solicitar al usuario que introduzca el primer número entero. 2. Solicitar al usuario que introduzca el segundo número entero. 3. Comparar los dos números. 4. Si el primer número es mayor, mostrar un mensaje indicando que el primer número es mayor. 5. Si el segundo número es mayor, mostrar un mensaje indicando que el segundo número es mayor. 6. Si son iguales, mostrar un mensaje indicando que ambos números son iguales. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Ejercicio 3: Determinar si una Persona es Mayor de Edad Comprensión del Problema Problema: Escribe un programa que determine si una persona es mayor de edad (18 años o más). Requisitos: La edad será un número entero. Salida esperada: Un mensaje que indique si la persona es mayor o menor de edad. Análisis del Problema Entrada: Un número entero que representa la edad de la persona. Salida: Un mensaje indicando si la persona es mayor o menor de edad. Consideraciones: Asegurarse de que la edad es un entero. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Algoritmo 1. Solicitar al usuario que introduzca su edad. 2. Verificar si la edad es mayor o igual a 18. 3. Si es mayor o igual, mostrar un mensaje indicando que la persona es mayor de edad. 4. Si es menor, mostrar un mensaje indicando que la persona es menor de edad. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Ejercicio 4: Multiplicar un Número por 10 Comprensión del Problema Problema: Escribe un programa que multiplique un número dado por el usuario por 10. Requisitos: El número será un entero. Salida esperada: El producto del número y 10. Análisis del Problema Entrada: Un número entero. Salida: Un número entero que representa el producto del número de entrada y 10. Consideraciones: Asegurarse de que el número es un entero. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Ejercicios Algoritmo Solicitar al usuario que introduzca un número entero. Multiplicar el número por 10. Mostrar el resultado de la multiplicación. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg. Fuentes de Consulta Quevedo Urías, H. A. y Pérez Salvador, B. R. (2015). Estadística para ingeniería y ciencias: ( ed.). México D.F, Mexico: Grupo Editorial Patria. Recuperado de https://elibro.net/es/ereader/uleam/39467?page=11. Tecnologías de la Información Fundamentos de Programación Ing. Cristhian Marcony Villa Palma, Mg.