ALGORITMOS, ESPECIFICACION Y PSEUDOCODIGO EL ALGORITMO EN LA RESOLUCION DE PROBLEMAS DE INFORMACION ESTRUCTURAS DE ALGORITMOS 1 2 3
¿Qué son los algoritmos? Un algoritmo es una serie de pasos o instrucciones que se siguen para resolver un problema o llevar a cabo una tarea. En programación, los algoritmos son importantes porque permiten que las computadoras realicen tareas de manera eficiente y precisa.
A LGORITMOS CUALITATIVOS CUANTITATIVOS Permiten dar solución a casos cotidianos en donde no es necesario utilizar operaciones matemáticas para llegar a dicha solución. Es necesario recurrir a las matemáticas para dar solución a dichos casos
EJEMPLOS: ALGORITMOS CUALITATIVOS ALGORITMOS CUANTITATIVOS Algoritmo para cambiar la rueda pinchada de un automóvil INICIO Paso 1 . Aflojar los tornillos dela rueda pinchada con la llave inglesa. Paso 2 . Ubicar el gato mecánico en su sitio. Paso 3 . Levantar el gato hasta que la rueda pinchada pueda girar libremente. Paso 4. Quitar los tornillos y la rueda pinchada. Paso 5. Poner rueda de repuesto y los tornillos. Paso 6. Bajar el gato hasta que se pueda liberar. Paso 7. Sacar el gato de su sitio. Paso 8. Apretar los tornillos con la llave inglesa. FIN Algoritmo para calcular el área de un triángulo. • Área del triángulo “x”. • Base del triángulo “b”. • Altura del triángulo “h”. • A ← b*h/2 Algoritmo 1.- INICIO. 2.- Suministrar cifra de altura “h”. 3.- Suministrar cifra de base“b ”. 4.- Multiplicar las cifras de base y altura. 5.- Dividir el resultado de la multiplicación entre 2. 6.- Generar resultado..
CARACTERISTICAS DE UN ALGORITMO PRECISO DEFINIDO FINITO D ebe brindar el orden de los pasos que se deben realizar para poder llegar al resultado final Se refiere a que todo problema que se resuelva a través de un algoritmo tiene un principio y un fin. Si se sigue un algoritmo varias veces debe arrojar el mismo resultado
ENTRADA SALIDA PROCESO INPUT OUTPUT PARTES DE UN ALGORITMO
P SEUDOCÓDIGO El pseudocódigo es una forma de expresar los distintos pasos que va a realizar un programa, de la forma más parecida a un lenguaje de programación. Su principal función es la de representar por pasos la solución a un problema o algoritmo, de la forma más detallada posible, utilizando un lenguaje cercano al de programación.
D IAGRAMA DE FLUJO El diagrama de flujo o también diagrama de actividades es una manera de representar gráficamente un algoritmo o un proceso de alguna naturaleza, a través de una serie de pasos estructurados y vinculados que permiten su revisión como un todo. La representación gráfica de estos procesos emplea, en los diagramas de flujo, una serie determinada de figuras geométricas que representan cada paso puntual del proceso que está siendo evaluado.
EL ALGORITMO EN LA RESOLUCION DE PROBLEMAS DE INFORMACION En las ciencias de la computación se ocupa de los problemas computables. Se le llama problema computable a aquella abstracción de la realidad que tiene representación algorítmica. Los algoritmos permiten encontrar la solución a problemas computables. Intuitivamente las personas efectuamos cotidianamente una serie de pasos, procedimientos o acciones que nos permitan alcanzar algún resultado o resolver un problema (al bañarnos, al desayunar, al ir a la universidad). En realidad todo el tiempo estamos aplicando algoritmos para resolver problemas.
PROGRAMAS, APLICACIONES Y EL DESARROLLO DE SOLUCIONES DE PROBLEMAS Los programas son conjuntos de instrucciones escritas en lenguajes de programación para resolver problemas o realizar tareas. Las aplicaciones son programas diseñados para cumplir una función específica en un dispositivo o sistema. El desarrollo de soluciones de problemas de algoritmos implica el proceso de diseñar, implementar y optimizar algoritmos para resolver problemas específicos. Editores de código: Estos programas proporcionan un entorno para escribir y editar código fuente. Ejemplos populares incluyen Visual Studio Code , Sublime Text y Atom . Permiten resaltar la sintaxis, autocompletar código y ofrecen herramientas para el desarrollo ágil. Compiladores e intérpretes: Los compiladores traducen el código fuente a un lenguaje de bajo nivel ejecutable, mientras que los intérpretes ejecutan el código línea por línea en tiempo real. Algunos ejemplos son GCC (compilador de C), Python (intérprete) y Java (compilador e intérprete).
PROGRAMAS, APLICACIONES Y EL DESARROLLO DE SOLUCIONES DE PROBLEMAS 3.Entornos de desarrollo integrados (IDE): Estas aplicaciones integran editores de código, compiladores y herramientas de depuración en una sola interfaz. Ejemplos populares son Eclipse, IntelliJ IDEA y Xcode. Proporcionan características adicionales como refactoring, pruebas unitarias y control de versiones. 4.Frameworks y bibliotecas: Los frameworks como Django (Python) o React (JavaScript) ofrecen estructuras predefinidas y herramientas para simplificar el desarrollo de aplicaciones. Las bibliotecas, como NumPy (Python) o jQuery (JavaScript), proporcionan funciones y utilidades adicionales para resolver problemas específicos. 5.Plataformas de desarrollo en la nube: Estas plataformas, como AWS, Google Cloud o Microsoft Azure, ofrecen servicios y herramientas para desarrollar, implementar y escalar aplicaciones en la nube
ESTRATEGIAS DE RESOLUCION DE PROBLEMAS ASCENDENTES La estrategia de resolución de problemas de manera ascendente en algoritmos implica descomponer el problema en subproblemas más pequeños y resolverlos gradualmente. 1. Divide el problema en subproblemas más pequeños y manejables. 2. Resuelve cada subproblema de manera independiente. 3. Combina las soluciones de los subproblemas para obtener la solución final del problema completo. 4. Asegúrate de que la solución de cada subproblema sea correcta y eficiente. 5. Verifica que la combinación de las soluciones de los subproblemas cumpla con los requisitos del problema completo. 6. Realiza ajustes o mejoras en las soluciones de los subproblemas si es necesario. 7. Repite los pasos anteriores hasta resolver el problema completo.
PASOS PARA SOLUCIONAR PROBLEMAS DE LAS COMPUTADORA Identifica y comprende el problema: Analiza y entiende completamente el problema que deseas resolver. Planifica y diseña una solución: Piensa en una estrategia o enfoque para resolver el problema. Decide qué algoritmo o estructura de datos es adecuada para resolverlo de manera eficiente. Diseña un plan paso a paso para implementar la solución. Asegúrate de que el algoritmo esté bien estructurado y sea comprensible. Implementa el algoritmo en un programa: Escribe el código correspondiente al algoritmo en el lenguaje de programación elegido. Asegúrate de seguir las mejores prácticas de programación, como el uso de variables descriptivas y la modularización del código. Depura y prueba el programa: Ejecuta el programa y verifica si produce los resultados esperados. Optimiza y mejora el programa: Si el programa funciona correctamente, considera formas de optimizarlo y mejorarlo. Documenta y organiza el código: Es importante documentar el código para que otros (o incluso tú mismo en el futuro) puedan entenderlo fácilmente.
Metodología se define como el conjunto de acciones que se deben seguir para alcanzar ciertos objetivos previamente teniendo algo de conocimiento sobre el tema. En informática existen diversas metodologías para la resolución de problemas aplicando la programación, de las fuentes consultadas se prefiere mencionar la del libro de Informática II/ Computer de Patricia Ibañez y Gerardo García que consta de los siguientes pasos : Identificar el problema.- En esta fase se comprende el problema y se destacan los datos que ayudan a entender el problema. Sugerir (o plantear) alternativas de solución .- Apela al ingenio del desarrollador en la propuesta de las posibles soluciones al problema. Diseñar el algoritmo.- El resultado de esta etapa es crear una serie de pasos que servirán para resolver el problema planteado. Desarrollar la solución y comprobar los resultados .-En esta fase se comprueban los resultados. METODOLOGIAS PARA RESOLVER EL PROBLEMA
Las estructuras secuenciales son aquellas en las que las instrucciones se ejecutan en orden secuencial, es, decir, una tras otra. Esto significa que cada instrucción se ejecuta después de la anterior Las estructuras secuenciales son importantes porque permiten que los programadores controlen el flujo de un programa de manera efectiva. POR EJEMPLO: Un programa que lee datos de entrada, realiza cálculos y luego muestra los resultados debe seguir una estructura secuencial ESTRUCTURAS SECUENCIALES
Las estructuras condicionales son aquellas en las que el flujo del programa depende de una o varias condiciones. Si se cumple una condición, se ejecuta un conjunto de instrucciones especificas. Las estructuras condicionales son importantes porque permiten que los programas tomen decisiones de manera autónoma, lo que los hace más flexibles y adaptables a diferentes situaciones. POR EJEMPLO: Un programa que verifica si un numero es par o impar utiliza una estructura condicional para tomar la decisión correcta. E STRUCTURAS CONDICIONALES
Las estructuras son aquellas en las que un conjunto de instrucciones se repiten varias veces hasta que se cumple una condición especifica. Las estructuras cíclicas son importantes porque permiten que los programas realicen tareas repetitivas de manera eficiente y sin errores. POR EJEMLO: Un programa que imprime una tabla de multiplicar utiliza una estructura cíclica para repetir el proceso para cada numero ESTRUCTURAS CÍCLICAS