TEMA 2 METODOLOGÍA DE LA PROGRAMACIÓN 2.1.- Herramientas de programación. Durante el diseño de un programa y en sus fases de análisis y programación surge la necesidad de utilizar una herramienta de diseño gráfico para la representación de los flujos de datos manipulados por el mismo, así como la secuencia lógica de las operaciones que constituyen el algoritmo de resolución del problema para el que ha sido creado. Toda representación gráfica, debe cumplir las siguientes cualidades: Sencillez: han de ser fáciles y sencillos. Claridad: deben reconocerse todos los elementos empleados por cualquier persona distinta a la que lo diseño. Normalización: tanto los diseñadores como los usuarios de los programas deben utilizar las mismas normas de construcción. Flexibilidad: todo método de representación debe permitir sin grandes dificultades, posteriores modificaciones de algunas de las partes del algoritmo y la inserción de alguna nueva. Para la representación de un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo del lenguaje de programación elegido. Esto permitirá que un algoritmo pueda ser codificado indistintamente en cualquier lenguaje. Los métodos más usuales para la representación de algoritmos son: Diagrama de flujo. Diagrama de N-S (Nassi-Schneiderman). Pseudocódigo. Tablas de decisión. 1
2.2.-HERRAMIENTAS DE DISEÑO Y PROGRAMACIÓN 2.2.1.- Diagrama de flujo. Los diagramas de flujo engloban tanto la representación gráfica de la circulación de los datos e información dentro de un programa (organigrama o diagrama de flujo de sistema), como a la representación gráfica de la secuencia de operaciones que se han de realizar dentro del mismo (ordinograma o diagrama de flujo de detalle). Estas representaciones se corresponden con las distintas fases de un programa: Organigrama Ordinograma análisis programación 2.2.1.1. ORGANIGRAMA También se les llama diagramas de flujo de sistemas o diagramas de flujo de configuración Son representaciones gráficas que reflejan la ubicación de los datos en los soportes físicos de Entrada/Salida, así como el flujo de los mismos a lo largo del programa. Todo organigrama debe reflejar: a) Las distintas áreas o programas en los que se divide el problema, así como el nombre de cada uno de ellos. b) Las Entradas y Salidas de cada área, indicando los soportes que serán usados para el almacenamiento tanto de los datos pendientes de elaborar o procesar, como de los resultados obtenidos. c) El flujo de los datos. 2
REGLAS DE REPRESENTACIÓN DE LOS ORGANIGRAMAS. CÓMO SE HACEN?: 1º) En la parte central del diseño debe figurar el símbolo del proceso. 2º) En la parte superior del diseño y, siempre por encima del símbolo de proceso deben figurar los soportes de Entrada. 3º) En la parte inferior del diseño, y siempre por debajo del símbolo de proceso deben figurar los soportes de Salida. 4º) A la izquierda y derecha del diseño, y por tanto, a ambos lados del símbolo de proceso, figurarán los soportes que son tanto de entrada como de salida. Gráficamente sería: SOPORTES DE ENTRADA SOPORTES DE ENTRADA/SALIDA PROCESO SOPORTES DE ENTRADA/SALIDA SOPORTES DE SALIDA Ejemplo: Realizar un organigrama que refleje la actualización del fichero de nóminas de una empresa. Los datos los mostrará por pantalla: 3
Teclado: datos de la nómina Actualización Fichero nóminas Pantalla SÍMBOLOS USADOS EN LOS ORGANIGRAMAS: 1º) SIMBOLOS DE SOPORTE DE INFORMACIÓN O DISPOSITIVOS FÍSICOS: S ÍM BOLO DENOM INACIÓN T IP O DIS POS IT IVO T eclado Entrada S oporte genérico Entrada Pantalla / CR T S alida Impresora S alida T arjeta perforada Cinta de papel 4
S ÍM BOLO DENOM INACIÓN T IP O DIS POS IT IVO Disco magnético Disco magnético Cinta magnética Cinta encapsulada Disco flexible T ambor magnético 2º) SIMBOLOS DE PROCESO: S ÍM BOLO FUNCIÓN Proceso u operación Clasificación u ordenación de datos en un ficher o Fusión o mezcla de 2 o más ficher os en uno solo Partición o extracción de datos de un ficher o M anipulación de uno o varios ficher os (inter calación) 5
3º) LÍNEAS DE FLUJO DE DATOS: S ÍM BOLO FUNCIÓN Dirección del proceso o flujo de datos Líneas de teleproceso (transmisión de datos) Lïnea conectora. Permite la unión entre unidades o elementos de información 2.2.1.2.- ORDINOGRAMAS o diagramas de flujo de detalle. También se les llama diagramas de flujo de programas. Son representaciones gráficas que muestran la secuencia lógica y detallada de las operaciones que se van a realizar para la resolución de un problema por medio del ordenador. El diseño de un ordinograma debe ser totalmente independiente del lenguaje de programación empleado en la codificación del algoritmo, evitando hacer cualquier referencia a la sintaxis del lenguaje. Todo ordinograma debe reflejar: a) Un principio o inicio que marca el comienzo de ejecución del programa y que viene determinado por la palabra INICIO. b) La secuencia de operaciones, que debe ser lo más detallada posible y siguiendo siempre el orden en el que se deberán ejecutar (de arribaabajo y de izquierda a derecha). 6
c) Un fin que marca la finalización de ejecución del programa y que viene determinado por la palabra FIN. REGLAS DE REPRESENTACIÓN DE LOS ORDINOGRAMAS: Cómo se hacen? 1º) Todos los símbolos empleados en el diseño deben estar conectados por medio de líneas de conexión o líneas de flujo de datos. 2º) El diseño debe realizarse de arriba-abajo y de izquierda-derecha 3º) Queda terminantemente prohibido el cruce de líneas de conexión, pues indicaría un ordinograma mal diseñado. Veamos un ejemplo de 2 ordinogramas: uno incorrecto por cruce de líneas y otro correcto: INCORRECTO CORRECTO 4º) A un símbolo de proceso pueden llegarle varias líneas de conexión, pero de él sólo puede salir una: Proceso 7
5º) A un símbolo de decisión pueden llegarle varias líneas de conexión, pero de él sólo pueden salir 2 líneas que corresponden una a cada posibilidad de las existentes: SÍ NO 6º) A un símbolo de inicio no llega ninguna línea de conexión y de él sólo puede partir una línea: INICIO INICIO CORRECTO INCORRECTO 6º) A un símbolo de final de proceso o ejecución de programa pueden llegar muchas líneas de conexión, pero de él no puede partir ninguna: FIN SÍMBOLOS USADOS EN LOS ORDINOGRAMAS: 1º) SÍMBOLOS DE OPERACIÓN O PROCESO: S ÍM BOLO FUNCIÓN T erminal (marca de inicio o fin ) Operación de general Proceso u operación en general S ubprograma o subrutina 8
2º) SÍMBOLOS DE ESTRUCTURAS DE CONTROL (ALTERNATIVAS Y BUCLES): S ÍM BOLO FUNCIÓN Bucle que se repite un número conocido de veces Decisión de 2 salidas Decisión de 2 salidas Decisión múltiple con n salidas 3º) LÍNEAS DE FLUJO Y SÍMBOLOS DE CONEXIÓN: S ÍM BOLO FUNCIÓN Flechas indicadoras de la dirección del flujo de datos. L ínea conectora o de flujo de datos Conector (se usa para r eagrupar líneas de flujo) N N Conector de líneas de flujo en la misma página (se usa para enlazar dos partes del diseño mediante un conector de Entrada y otro de S alida) Conector de líneas de flujo en difer entes páginas. S ímbolo de comentario: S e utiliza para aclarar o documentar el diseño del algoritmo con algún comentario que se considere necesario 9
Resulta necesario indicar dentro de los símbolos la operación específica concebida por el programa. 10