Definición del problema
Análisis del problema
Diseño del programa
Características
Herramientas
Diagramas de flujo
Definición del problema
Como ya mencionamos un problema se define cuando surge una necesidad. Por lo que se debe identificar claramente el problema y comprender cuál será la utilidad de la solución que se alcance. Se debe tener una visión general del problema estableciendo las condiciones iniciales y además, los límites del problema, es decir donde inicia y donde termina.
Análisis del problema
Es necesario entender con detalle el problema en cuestión, para obtener una radiografía del mismo en términos de los datos disponibles, y definir el proceso necesario para convertir los datos en la información requerida.
La primera etapa consiste en definir los resultados esperados
La segunda etapa consiste en identificar los datos que se requieren para producir esa salida
La tercera etapa consiste en determinar el proceso para convertir los datos de entrada en la salida esperada
Diseño del programa
En el análisis se determina qué hace el programa, en la etapa de diseño se determina cómo se hace el programa. Esta fase se procede a diseñar la lógica para la solución del problema, aquí se plantean los pasos a incluir y el orden de los mismos, a través del siguiente procedimiento:
Entre los métodos más eficaces para el proceso de diseño esta el diseño modular el cual se basa en dividir el problema en subproblemas y a continuación dividir estos subproblemas en otros niveles más bajos hasta que pueda ser implementada la solución. Cada subprograma es resuelto mediante un modulo que tiene un solo punto de entrada y un solo punto de salida. De tal manera que un programa diseñado correctamente consta de un programa principal (el modulo de nivel superior) que llama a uno o varios subprogramas que a su vez pueden llamar a otros subprogramas.
Los programas estructurados de esta manera tienen un diseño modular y el método de descomponer un programa en módulos más pequeños se llama programación modular. Los módulos pueden ser planeados, codificados, comprobados y depurados de manera independiente y posteriormente integrarlos. El proceso de romper el problema en cada etapa y expresar cada paso en forma más detallada se denomina refinamiento sucesivo.
El proceso que convierte los resultados del análisis de un problema en un diseño modular con refinamiento sucesivo que permita una posterior codificación en un lenguaje de programación se denomina diseño de algoritmo.
Cabe mencionar que el diseño de algoritmo es independiente del lenguaje de programación en el que se vaya a codificar.
Las características de un algoritmo
De las definiciones proporcionadas, podemos ver que un algoritmo para que ser catalogado como tal, debe exhibir ciertas prioridades:
Ser definido.- Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de interpretación.
Ser finito.- Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá finalizar al completarlos.
Tener una o más salidas.- Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como únicamente “verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programación que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.
Efectividad.- El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada menos que aquello que se requiera para y en su ejecución.
Por otra parte, un algoritmo consta de tres secciones o módulos principales.
Ver Modulos >>
Módulo 1 representa la operación o acción que permite el ingreso de los datos al problema.
Módulo 2 representa la operación o conjunto de operaciones secuenciales, cuyo objetivo es obtener la solución de un problema.
Módulo 3 representa una operación o conjunto de operaciones que permite comunicar al exterior el o los resultados alcanzados.
x
Diagrama de flujo
Representación gráfica de un algoritmo.
Muestra gráficamente los pasos que se deben seguir para lograr la solución
Pseudocódigo
También conocido como lenguaje de especificaciones de algoritmos. Herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español.
Reglas
Símbolos
Para la construcción de diagramas de flujo se deben seguir una serie de reglas a continuación serán mencionadas:
Todo diagrama de flujo tiene un inicio y un fin.
Las líneas utilizadas para indicar el flujo del diagrama deben ser rectas, verticales y horizontales.
No deben cruzarse.
Todas las líneas utilizadas para indicar el flujo del diagrama deberán estar conectadas a un símbolo.
El diagrama tiene una construcción de arriba hacia abajo y de izquierda a derecha.
1
2
3
4
5
6
7
8
Descripción
Símbolo utilizado para indicar el inicio y el fin del diagrama de flujo.
Símbolo en PSEInt
Descripción
Símbolo utilizado para introducir datos al diagrama de flujo. Expresa entrada de datos o lectura.
Símbolo en PSEInt
Descripción
Símbolo para representar un proceso. En su interior debe ir una asignación, operación, cambio de valor, etc.
Símbolo en PSEInt
Descripción
Símbolo utilizado para representar una decisión. En su interior debe ir una condición la cual debe ser evaluada, dependiendo del resultado se toma el camino verdadero o falso. Este símbolo se utiliza en las estructuras selectivas si y si entonces/sino.
Símbolo en PSEInt
Descripción
Símbolo que expresa escritura o impresión y se utiliza para imprimir una resultado.
Símbolo en PSEInt
Descripción
Símbolo utilizado para representar una decisión múltiple. En su interior va un selector, dependiendo del valor que este tenga se seguirá por alguno de los caminos. Este símbolo se utiliza en la estructura selectiva si múltiple.
Símbolo en PSEInt
Descripción
Se utilizan para expresar el flujo del diagrama. Es decir la dirección que siguen los datos.
Símbolo en PSEInt
Descripción
Símbolo utilizado para expresar conexión dentro de una misma página.
Símbolo en PSEInt
No se utiliza, el software acomoda automáticamente el diagrama de flujo para hacer las conexiones adecuadamente.
Descripción
Símbolo utilizado para expresar conexión entre páginas diferentes.
Símbolo en PSEInt
No se utiliza, el software desarrolla el diagrama de flujo dentro de una misma página.
Símbolo
Y se utilizan los siguientes símbolos. Se debe aclarar que cada software maneja sus propios símbolos así que varían de uno a otro.
Universidad Autónoma de Ciudad Juárez