Este documento presenta una introducción a los algoritmos. Define un algoritmo como un conjunto de pasos ordenados para resolver un problema. Explica que los algoritmos deben ser finitos, concretos, legibles, precisos y eficientes. También describe elementos comunes de los algoritmos como datos, procesos, estructuras de control y técnicas para su diseño y representación como diagramas de flujo y pseudocódigo.
1. Algoritmos Alumna: Leidy Campos De La Torre. Lorena Campo Mendoza. Colegio Distrital María Inmaculada
2. ALGORITMO: Definición Es un conjunto de pasos lógicos ordenados, secuencial mente y finita, escritos de tal forma que permiten visualizar la solución de un problema determinado en un momento específico .
3. ALGORITMO: Nombre El nombre en latín de algoritmo proviene de la traducción que realizó Fibonacci , de la obra del matemático árabe Al'Khwarizmi llamada , Algoritmi de Numero Indorum .
4. ALGORITMO: Caracteríticas FINITO CONCRETO LEGIBLE DEFINIDO PRECISO NO AMBIGUO EFICIENTE Debe ser... Debe tener terminar en algún momento Debe realizar las funciones u operaciones para las que fue creado. Debe estar bien estructurado para su fácil entendimiento. Debe realizar las operaciones con un mínimo de utilización de recursos. Debe estar libre de errores. (Validado) Debe indicar un orden de realización de cada paso. Debe generar el mismo resultado siempre que se siga.
5. ALGORITMO : Estructura Datos Procesos Estructuras de Control Corresponden a los datos requeridos para realizar el algoritmo (datos de entrada) y los datos que son generados (datos de salida) Conforma el grupo de instrucciones que realizan las operaciones con los datos. Determinan la organización de las instrucciones que deben ser realizadas.
6. ALGORITMO : Elementos Definición de variables y constantes Proceso Estructuras de control Entrada Salida Es necesario identificar que datos se necesitan ingresar, cuales sirven de forma auxiliar y cuales se van a generar. Las instrucciones que se van a realizar deben estar bien estructuradas y tener un orden lógico, con el fin de evitar inconsistencias en el resultado. Cuerpo del algoritmo
7. ALGORITMO : Quienes pueden hacer un algoritmo? Toda persona, implícitamente y diariamente diseña y realiza algoritmos, para dar solución a situaciones cotidianas de forma natural. Sin embargo el programador, diseña el algoritmo conciente de que al realizar cada paso obtendrá la solución de un problema específico.
8.
9.
10.
11. ALGORITMO : Requisitos Los algoritmos se crean para resolver problemas. Es importante que junto al algoritmo, describamos claramente el problema que éste nos permite resolver. No debemos omitir el contexto de nuestros algoritmos. Es necesario establecer lo que se n ecesita y dónde se debe comenzar. Seguir los pasos del algoritmo debe llevarnos a la resolución del problema. Siempre que sea posible seguiremos personalmente los pasos de nuestro algoritmo para comprobar que son efectivamente correctos y conducen efectivamente a la solución esperada. Por ejemplo: Si se requiere hallar la velocidad de un automóvil, es necesario, definir si la distancia debe ser en metros, kilómetros, etc y el tiempo estará dado en segundos u horas, ya que la velocidad puede representarse en Km /h ó mts/seg . Debe Definirse del problema Debe estar dentro de contexto Debe resolver el problema Debe evitar la ambigüedad
12. ALGORITMO : Técnicas de Diseño Es una técnica de diseño descendente donde se realiza un refinamiento sucesivo, que permite darle una organización a las instrucciones, en forma de módulos o bloques. Está técnica permite dividir el problema en pequeñas partes, a las cuales se les da solución por separado, luego se integran las soluciones para resolver el problema principal. Top Down Divide y vencerás
13. ALGORITMO : Técnicas de Representación Es una técnica que permite representar gráficamente las operaciones y estructuras que se van a realizar, mediante una simbología estándar, con un único punto de inicio y uno de finalización. Está técnica permite representar el algoritmo mediante un lenguaje más estructurado, facilitando su posterior codificación. Diagrama de Flujo Pseudocódigo Inicio Instrucción 1 Instrucción 2 Si condición entonces Instrucción 3 . . . Instrucción n Fin
14. PSEUDOCÓDIGO:Cómo se Hace? Cada instrucción que se va a realizar debe comenzar por un verbo , ejemplo: Muestre, Haga, Lea, etc. Se debe mantener una identación o sangría sobre el margen izquierdo para identificar fácilmente el comienzo y final de las estructuras La representación de las estructuras son similares u homónimas de los lenguajes de programación, ejemplo: inicio, fin, mientras que, repita_hasta, si_entonces_sino, etc. 1 2 3
15. PSEUDOCÓDIGO:Cómo se Hace? Inicio : Denota el punto de inicio del algoritmo. Leer : Denota la acción de introducir datos o variables desde un dispositivo estándar de entrada . Calcular : Denota la realización de cualquier operación aritmética que genere valores para ser almacenados en una variable. Imprimir : Representa la acción de enviar datos desde variables a un dispositivo estándar de salida. Fin : Denota el punto de finalización del algoritmo.
16. DIAGRAMA DE FLUJO: Simbología Se utiliza para indicar el punto de inicio y finalización del diagrama Permite indicar la Entrada de datos desde un dispositivo estándar Inicio Fin Lectura Captura Permite indicar la realización de un proceso matemático, o una operación de asignación Proceso
17. DIAGRAMA DE FLUJO: Simbología Indica la realización de operaciones de salida a un dispositivo estándar (el monitor o impresor.) Permite establecer una condición relacional ó lógica que puede tomar un valor de verdadero o falso, de este símbolo se deducen 2 flujos alternativos de ejecución. Impresión Decisión Permiten dar continuidad al diagrama si la página o área de trabajo esta llena, el círculo se utiliza como un conector dentro de la misma página, el otro símbolo se define como un conector a otra página. Conectores Permiten enlazar los símbolos de un sentido único pueden ser horizontales o verticales. Estas no pueden entrecruzarse y cada una de ellas debe tener un único símbolo de partida y un único símbolo de destino. Flujo
18. DIAGRAMA DE FLUJO: Simbología Estructuras de Decisión (Condición) Si condición entonces Instrucciones Si condición entonces Instrucciones si no Instrucciones Decisión Simple Decisión Compuesta Decisión Anidada Si condición entonces Si condición entonces Instrucciones si no Si condición entonces Instrucciones si no Instrucciones Caso condición Val1: Instrucciones Val2: Instrucciones Val3: Instrucciones Otros: Instrucciones Fin Caso Decisión Múltiple Condición Si No Condición Si No Condición Si No Condición No Condición Si No Condición Si No Condición Val3 Val1 Val2 Otro
19. DIAGRAMA DE FLUJO: Simbología Estructuras de Ciclo . . . Mientras que condición Instrucciones Fin Mientras . . . . . . Repita Instrucciones Hasta que condición . . . Ciclo Mientras Ciclo Hasta Ciclo Para . . . Para v=valini, v=valfinal, inc Instrucciones Fin Para . . . v: variable valini: valor inicial valfinal: valor final inc: incremento Condición Si No Instrucciones Condición Si No Instrucciones Instrucciones v=valini,v=valfinal, incremento
20. ALGORITMO: Fases de Diseño Análisis del problema Definición del problema Selección de la mejor alternativa Diagramación Prueba de escritorio Algoritmo
21. ALGORITMO : Definición del Problema Está dada por el enunciado del problema, el cuál debe ser claro y completo Es importante que conozcamos exactamente que se desea. Mientras qué esto no se comprenda, no tiene caso pasar a la siguiente etapa.
22. ALGORITMO : Análisis del Problema Entendido el problema para resolverlo es preciso analizar Los datos de salida o resultados que se esperan Los datos de entrada que nos suministran Área de Trabajo Fórmulas Recursos Proceso
23. ALGORITMO : Selección de Alternativa Analizado el problema Posiblemente tengamos varias formas de resolverlo Lo importante es determinar cuál es la mejor alternativa La que produce los resultados Esperados en el menor tiempo y al menor costo Se debe tener en cuenta el principio de que las cosas siempre se podrán hacer de una mejor forma. Solución ..1 Solución ..2 Solución ..3 Solución ..5
24. ALGORITMO : Diagramación Una vez que sabemos cómo resolver el problema Dibujar gráficamente la lógica de la alternativa seleccionada Plasmar la solucion mediante el Pseudocódigo
25. ALGORITMO : Prueba de Escritorio Se utiliza para corroborar que el algoritmo plasmado en cualquier herramienta presenta la solución al problema inicial Al realizar lo anterior se puede comprobar si el algoritmo es correcto o si hay necesidad de hacer ajustes (volver al paso anterior) Es Recomendable Dar diferentes datos de entrada y considerar todos los posibles casos, aún los de excepción o no esperados, para asegurar que el programa no produzca errores en ejecución cuando se presenten estos casos. Esta prueba consiste en: Dar diferentes datos de entrada al programa seguir la secuencia indicada hasta obtener los resultados
26. ALGORITMO : Conceptos Minima parte de la información. Se refiere a los elementos que se utilizan en los algoritmos para realizar alguna operación sobre estos. Corresponde al tipo de valor que puede almacenarse en un espacio de memoria definido y a la cantidad de espacio que requiere para almacenar un valor. Dato Tipo de Dato Corresponde a un espacio de memoria que almacena un dato que dentro del programa en ejecución cambia o varía su contenido (valor).. Variable Corresponde a un espacio de memoria que almacena un dato que dentro del programa en ejecución mantiene siempre su contenido (valor). Constante
27. ALGORITMO : Tipos de Datos Caracter Real Entero Boleano cadena Numéricos Lógicos Carácter Tipos de Datos
28. ALGORITMO : Operadores Aritméticos Lógicos Relacionales + - > < = No Y && O || / ^ % >= <= != <>