ordenados, secuencialmente y finita, escritos de tal forma que permiten visualizar la solución de un problema determinado en un momento específico. Características • Finito: debe tener un fin • Concreto: Realizar funciones y operaciones • Legible:Estar bien estructurado • Eficiente: realizar las operaciones con un mínimo de recursos • No ambiguo: libre de errores • Preciso:Indicar un orden para la realización de cada paso • Definido(= resultado siempre) Estructura • Datos • Procesos • Estructuras de Control • ELEMENTOS • Entradas (def. var y const) salidas Ejemplo: encender un automóvil • 1. Poner la llave. • 2. Asegurarse que el cambio esté en neutro. • 3. Pisar el acelerador. • 4. Girar la llave hasta la posición “arranque”. • 5. Si el motor arranca antes de 6 seg, dejar la llave en la posición “encendido”. • 6. Si el motor no arranca antes de 6 seg, volver al paso 3 (como máximo 5 veces). • 7. Si el auto no arranca, llamar a la grúa. Requisitos • Definir el problema • Debe estar dentro del contexto • Debe resolver el problema • Debe evitar la ambiguedad Diagrama de flujo • 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. Pseudocódigo • Está técnica permite representar el algoritmo mediante un lenguaje más estructurado, facilitando su posterior codificación. ALGORITMO: Fases de Diseño • Definición del problema • Análisis del problema • Definición del problema • Selección de la mejor alternativa • Diagramación • Prueba de escritorio • 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. Análisis del problema • Los datos de entrada que nos suministran • Recurso • Formulas • Procesos • Área de trabajo • Datos de salida Selección de alternativa • Analizado el problema Posiblemente tengamos varias formas de resolverlo • Solución1 • Solución2 • Solución n • Lo importante es determinar cuál es la mejor alternativa • Se debe tener en cuenta el principio de que las cosas siempre se podrán hacer de una mejor forma. • La que produce los resultados esperados en el menor tiempo y al menor costo Diagramación • Una vez que sabemos cómo resolver el problema • Dibujar gráficamente la lógica de la alternativa seleccionada • Plasmar la solución mediante el Pseudocódigo Prueba de escritorio • Se utiliza para corroborar que el algoritmo plasmado en cualquier herramienta presenta la solución al problema inicial • Consiste en: • Dar diferentes datos de entrada al programa • seguir la secuencia indicada hasta obtener los resultados • 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. Conceptos • Dato • Tipo de dato: 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. (numéricos, lógicos y caracter) • Variable • Constante • OPERADORES Diagramas de Flujo • 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. • Inicio, fin, entrada de datos, procesos o inicialización, salida o impresión, flujo, conectores, decisión, repetitivas