1.4 Programación estructurada

Documentos relacionados
1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura:

Manual de turbo pascal

Datos en Turbo Pascal

FUNDAMENTOS DE PROGRAMACIÓN LABORATORIO SESIÓN 2

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

PRESENTACIÓN DEL ALGORITMO

9. Subprogramas: Procedimientos 1. TEMA 9: Subprogramas: Procedimientos

Programación en Pascal

Ejemplo: Paso de polares a cartesianas en el plano. f : [0, ) [0, 2π) R R. coordx : [0, ) [0, 2π) R. coordy : [0, ) [0, 2π) R

Declaración de Procedimientos

Tema 5. Soporte lógico de computadoras.

Tema 03: Programación estructurada

PASCAL y TURBO PASCAL

8.1.- FUNCIONES Y PROCEDIMIENTOS DEFINIDOS POR EL USUARIO EN TURBO PASCAL.

PASCAL y TURBO PASCAL

Departamento de Informática Universidad de Valladolid Campus de Segovia LABORATORIO: INTRODUCCIÓN A LAS UNIDADES EN TURBO PASCAL

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados.

Estructura de Datos: Archivos

GUIA EXAMEN FINAL/EXTRAORDINARIO

Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores

Resolución de Problemas y Algoritmos Segundo cuatrimestre 2015 Clase 11: Construcción de primitivas (Funciones)

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.

FUNDAMENTOS DE OBJECT PASCAL

Resolución de Problemas y Algoritmos

Arreglos y Subrangos

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

6. Estructuras básicas de control 1. Pseudocódigo

UTN FRRo Algoritmos y Estructuras de Datos Bibliotecas Un ejemplo : Gestión de Pantalla, Retardo y Sonido

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

2. ESTRUCTURA DE UN PROGRAMA EN TURBOPASCAL

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.

SUBRANGO ENUMERADOS CONJUNTOS

ESTRUCTURA SECUENCIAL ESTRUCTURA SELECTIVA

Estructuras de control

3.2. Programación estructurada. Principal. Modulo 1 Modulo 2 Modulo 3 Modulo 4. Modulo Modulo Modulo 3 1 Modulo 4 1 Modulo 4 2. Pág.

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Estructuras de Control. Secuencia y Selección

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

Primer Parcial. Programación 1 Instituto de Computación Año 2017

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga

Estructuras de Control

Computación I (CI-2125) Clase 3. Prof. Mireya Morales Primera

Introducción a PL/SQL

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

INTRODUCCIÓN AL TURBO PASCAL.

EXAMENES RESUELTOS DE PROGRAMACION I

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 1: RECURSIÓN

Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down).

VHDL. Lenguaje de descripción hardware Estructura Básica de diseño

Estructuras de Control. Secuencia y Selección

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

FUNDAMENTOS DE INFORMÁTICA

INDICE Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación Actividades de Programación Resueltas

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION

Introducción a la programación: Algoritmos

Tema 3. Estructuras de control

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Estructuras de Programación

Archivo ASM. Es el documento que contiene el código fuente del programa.

Programación de Ordenadores

Asumiremos que se dispone de procedimientos para leer y escribir caracteres. Se desarrollan algunas funciones primitivas que nos serán útiles.

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Programación Estructurada

INSTITUTO SUPERIOR DE EDUCACION RURAL ISER FUNDAMENTOS DE PROGRAMACION

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

Índice general 7. Presentación 15

Estructura de Datos: Archivos. Programacion I Mgter. Vallejos, Oscar A.

Tema 3: Resolución de problemas con computadoras 2014

Transcripción:

1.4 Programación estructurada 1.4 Programación estructurada El creciente empleo de los computadores ha conducido a buscar un abaratamiento del desarrollo de software, paralelo a la reducción del costo del hardware obtenido gracias a los avances tecnológicos. Los altos costos del mantenimiento de las aplicaciones en producción normal también han urgido la necesidad de mejorar la productividad del personal de programación. DEFINICIONES La programación estructurada (en adelante simplemente PE ), es un estilo de programación con el cual el programador elabora programas, cuya estructura es la más clara posible, mediante el uso de tres estructuras básicas de control lógico, a saber : a. SECUENCIA. b. SELECCIÓN. c. ITERACIÓN. Un programa estructurado se compone de funciones,segmentos, módulos y/o subrutinas, cada una con una sola entrada y una sola salida. Cada uno de estos módulos (aún en el mismo programa completo), se denomina programa apropiado cuando, además de estar compuesto sólamente por las tres estructuras básicas, tiene sólo una entrada y una salida y en ejecución no tiene partes por las cuales nunca pasa ni tiene ciclos infinitos. La PE tiene un teorema estructural o teorema fundamental, el cual afirma que cualquier programa, no importa el tipo de trabajo que ejecute, puede ser elaborado utilizando únicamente las tres estructuras básicas ( secuencia, selección, iteración ). 1.- SECUENCIA DEFINICIÓN DE LAS ESTRUCTURAS BÁSICAS DE CONTROL LÓGICO Indica que las instrucciones de un programa se ejecutan una después de la otra, en el mismo orden en el cual aparecen en el programa. Se representa gráficamente como una caja después de otra, ambas con una sola entrada y una única salida. file:///d /Basura/utn/1_4%20Programación%20estructurada.htm (1 of 3)03/06/2004 10:05:44

1.4 Programación estructurada Las cajas A y B pueden ser definidas para ejecutar desde una simple instrucción hasta un módulo o programa completo, siempre y cuando que estos también sean programas apropiados. 2.- SELECCIÓN También conocida como la estructura SI-CIERTO-FALSO, plantea la selección entre dos alternativas con base en el resultado de la evaluación de una condición o predicado; equivale a la instrucción IF de todos los lenguajes de programación y se representa gráficamente de la siguiente manera : En el diagrama de flujo anterior, C es una condición que se evalúa; A es la acción que se ejecuta cuando la evaluación de este predicado resulta verdadera y B es la acción ejecutada cuando indica falso. La estructura también tiene una sola entrada y una sola salida; y las funciones A y B también pueden ser cualquier estructura básica o conjunto de estructuras. 3.- ITERACIÓN También llamada la estructura HACER-MIENTRAS-QUE, corresponde a la ejecución repetida de una instrucción mientras que se cumple una determinada condición. El diagrama de flujo para esta estructura es el siguiente : file:///d /Basura/utn/1_4%20Programación%20estructurada.htm (2 of 3)03/06/2004 10:05:44

1.4 Programación estructurada Aquí el bloque A se ejecuta repetidamente mientras que la condición C se cumpla o sea cierta. También tiene una sola entrada y una sola salida; igualmente A puede ser cualquier estructura básica o conjunto de estructuras. VENTAJAS DE LA PROGRAMACIÓN ESTRUCTURADA Con la PE, elaborar programas de computador sigue siendo una labor que demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este nuevo estilo podemos obtener las siguientes ventajas : 1. Los programas son más fáciles de entender. Un programa estructurado puede ser leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la lógica, lo cual es típico de otros estilos de programación. La estructura del programa es más clara puesto que las instrucciones están más ligadas o relacionadas entre si, por lo que es más fácil comprender lo que hace cada función. 2. Reducción del esfuerzo en las pruebas. El programa se puede tener listo para producción normal en un tiempo menor del tradicional; por otro lado, el seguimiento de las fallas o depuración (debugging) se facilita debido a la lógica más visible, de tal forma que los errores se pueden detectar y corregir más fácilmente. 3. Reducción de los costos de mantenimiento. 4. Programas más sencillos y más rápidos. 5. Aumento en la productividad del programador. 6. Se facilita la utilización de las otras técnicas para el mejoramiento de la productividad en programación. 7. Los programas quedan mejor documentados internamente. Página anterior Página siguiente file:///d /Basura/utn/1_4%20Programación%20estructurada.htm (3 of 3)03/06/2004 10:05:44

1.3 Herramientas de programación 1.3 Herramientas de programación Las dos herramientas más utilizadas comúnmente para diseñar algoritmos son : diagramas de flujo y pseudocódigos. DIAGRAMAS DE FLUJO Un diagrama de flujo (flowchar) es una representación gráfica de un algoritmo. Los símbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalización (ANSI), y los más frecuentemente empleados se muestran acontinuación: PSEUDOCÓDIGO Con la PE, el pseudocódigo sigue siendo un excelente medio para expresar la lógica de un programa. A continuación se muestran algunos ejemplos de palabras para construir algoritmos en pseudocódigo. PALABRA UTILIZACIÓN http://www.itlp.edu.mx/publica/tutoriales/pascal/u1_1_3.html (1 of 2)03/06/2004 10:06:19

1.3 Herramientas de programación ABRE CASO CIERRA ENTONCES ESCRIBE FIN HASTA HAZ INICIO LEER MIENTRAS NO O O - BIEN PARA SI USUAL Y Abre un archivo Selección entre múltiples alternativas Cierra un archivo Complemento de la selección SI - ENTONCES Visualiza un dato en pantalla Finaliza un bloque de instrucciones Cierra la iteración HAZ - HASTA Inicia la iteración HAZ - HASTA Inicia un bloque de instrucciones Leer un dato del teclado Inicia la iteración mientras Niega la condición que le sigue Disyunción lógica Complemento opcional de la selección SI - ENTONCES Inicia un número fijo de iteraciones Inicia la selección SI-ENTONCES Opcional en la instrucción CASO Conjunción lógica { Inicio de comentario } Fin de comentario <= Asignación Página anterior Página siguiente http://www.itlp.edu.mx/publica/tutoriales/pascal/u1_1_3.html (2 of 2)03/06/2004 10:06:19

1.5 Otras técnicas 1.5 Otras técnicas Además de la PE, existen las siguientes técnicas o métodos de trabajo para mejorar la productividad del personal que trabaja en programación de computadores : 1.- DESARROLLO DESCENDENTE DE PROGRAMAS El concepto de Desarrollo Descendente (también conocido como Desarrollo Ariba-Abajo, Desarrollo Estructurado o Desarrollo Top-Down), se aplica tanto a la fase de diseño del sistema o aplicación como a la fase de programación y codificación de los programas. El desarrollo descendente de programas consiste en construir un programa tratando de descomponerlo en módulos (funciones o segmentos), cada uno encargado de realizar un trabajo específico. Esta organización se va logrando de arriba hacia abajo en forma de árbol y podemos representarla gráficamente como un DIAGRAMA DE ESTRUCTURA. 2.- DOCUMENTACION JEPS Conocida originalmente como la técnica HIPO (Hierarchy plus Input-Process-Output), permite producir las especificaciones funcionales de un programa y al mismo tiempo su documentación. Consiste en una tabla visual de contenido que apunta a los diagramas HIPO del paquete y muestra las funciones y subfunciones que efectúa el programa y las inter-relaciones de las mismas. En cada diagrama HIPO se relaciona la entrada con el proceso y la salida respectiva. HIPO es una herramienta muy útil en la fase de diseño y se complementa muy bien con la PE. 3.- INSPECCIONES DE TRABAJO Son sesiones de revisión en las cuales el creador de los programas los explica a sus compañeros; de ésta forma asegura la detección y corrección de errores en un momento en el cual no resultan tan costosos. La legibilidad de los programas estructurados facilita estas inspecciones de trabajo. 4.- BIBLIOTECAS DE DESARROLLO Es la recopilación organizada del material que contiene la última versión de toda la información de un proyecto (diseños, especificaciones, diagramas, listados de computador, etc.). http://www.itlp.edu.mx/publica/tutoriales/pascal/u1_1_5.html (1 of 3)03/06/2004 10:06:32

1.5 Otras técnicas Aunque este tipo de organización es muy práctico con cualquier estilo de programación, encaja muy bien con la PE. 5.- GRUPOS CON PROGRAMADOR EN JEFE Incluye grupos de trabajo con mínimo tres integrantes organizados de la siguiente manera : a).- Programador jefe b).- Programador de respaldo c).- Encargado de la biblioteca de desarrollo. El grupo puede incluir otros programadores, analístas y usuarios finales. El Programador en Jefe es responsable del diseño y codificación de los programas producidos por su grupo. La PE es adecuada con estos grupos de trabajo puesto que facilita al Programador Jefe la revisión del material producido por los demás miembros. La combinación de las técnicas de Desarrollo Descendente de programas y la Programación Estructurada ofrece las siguientes ventajas, adicionales a las ya enumeradas antes : a.- El programa puede ser distribuido entre varias personas, y la posterior integración de los diferentes módulos no debe presentar mayores inconvenientes. b.- Durante la etapa de pruebas del programa, los módulos superiores (que generalmente son los más críticos) reciben más atención. c.- El mantenimiento de los programas resulta menos costoso debido a que la atención se concentra en un determinado modulo, reduciendo así la posibilidad de error. LA TRANSFERENCIA INCONDICIONAL Algunas veces se asocia la PE con la eliminación total de las instrucciones GO TO ("vaya a") en un programa, lo cual no es absolutamente cierto. Un programa construido con las tres estructuras básicas de control no requiere el uso de instrucciones GO TO para transferir el control de un sitio a otro; esto es una consecuencia del desarrollo descendente de los programas estructurados y de la limitante misma que tiene el programador para transferir el control, cuando sólo utiliza las tres estructuras básicas. El empleo exagerado de la instrucción GO TO puede hacer incomprensible un programa no http://www.itlp.edu.mx/publica/tutoriales/pascal/u1_1_5.html (2 of 3)03/06/2004 10:06:32

1.5 Otras técnicas estructurado; sin embargo, el empleo moderado de ésta instrucción aporta más claridad a los programas no estructurados. Es posible que se presenten casos en PE en los cuales el empleo de una instrucción GO TO le de más claridad y efectividad a un programa estructurado. También utilizamos GO TO en los casos en que el lenguaje utilizado no tiene una instrucción equivalente a la estructura de iteración empleada, de tal suerte que ésta sólo la podemos simular con un GO TO, tal como sucede con algunas versiones de BASIC y FORTRAN. Página anterior Página siguiente http://www.itlp.edu.mx/publica/tutoriales/pascal/u1_1_5.html (3 of 3)03/06/2004 10:06:32

2.1 Estructura general de programas en Pascal 2.1 Estructuras general de programas en Pascal Pascal es un lenguaje de programación de alto nivel, que facilita la práctica de la programación estructurada. Utiliza un traductor que produce código ejecutable, lo cual disminuye los tiempos de ejecución de los programas. El lenguaje Pascal fue desarrollado por Niklaus Wirth, con el propósito de ayudar a los estudiantes en el manejo de las técnicas de la programación estructurada, pero en la actualidad su aplicación es de propósitos generales. La construcción de programas en Pascal se basa en módulos que guardan las siguientes reglas de construcción : Program identificador ; {cabecera opcional en Turbo Pascal} Uses identificadores Label lista de etiquetas ; {sección de etiquetas} Const definiciones de constantes Type declaración de tipos de datos definidos por el usuario Var declaración de variables http://www.itlp.edu.mx/publica/tutoriales/pascal/u2_2_1.html (1 of 3)03/06/2004 10:07:24

2.1 Estructura general de programas en Pascal Procedure definiciones de procedimientos Function definiciones de funciones begin {cuerpo del programa} end. sentencias Las cinco secciones de declaración -Label, Const, Type y Procedure y/o Function, así como la cláusula Uses y Program, no tiene que estar presentes en todos los programas. Turbo Pascal es muy flexible al momento de escribir las secciones de declaración, ya que se pueden hacer en cualquier orden (en Pascal estándar ISO si se require este orden). Sin embargo es conveniente seguir el orden establecido, le evitará futuros problemas. Ejemplo: Program MiPrimerPrograma; {cabecera} Uses Crt; {declaraciones} Const iva =0.10; Type cadena =string[35]; meses =1..12; Var sueldo :real; numero :integer; nombre :cadena; Nmes :meses; begin ClrScr; {Limpia la pantalla} Write ('Escribe tu nombre : '); {Visualiza información en pantalla} ReadLn(nombre);{Leer un dato del teclado} http://www.itlp.edu.mx/publica/tutoriales/pascal/u2_2_1.html (2 of 3)03/06/2004 10:07:24

2.1 Estructura general de programas en Pascal WriteLn ('Bienvenido ', nombre); {Visualiza información en pantalla} Readkey; {Espera la pulsación de una tecla} ClrScr end. Nota: Las declaraciones de constantes, tipos y variables también se pueden poner en los procedimientos y/o funciones. Todo objeto referenciado en un programa debe haber sido previamente definido. Ejemplo: Program Incorrecto; {cabecera} Const pi=3.141592; Var Meses:array [1..Max] of string[15]; begin... end. El programa anterior es incorrecto ya que hacemos referencia a la constante Max en la declaración de variables sin haberla definido en la declaración de constantes. Página anterior Página siguiente http://www.itlp.edu.mx/publica/tutoriales/pascal/u2_2_1.html (3 of 3)03/06/2004 10:07:24

2.2 Identificadores 2.2 Identificadores En la mayoría de los programas de computador, es necesario manejar datos de entrada o de salida, los cuales necesitan almacenarse en la memoria principal del computador en el tiempo de ejecución. Para poder manipular dichos datos, necesitamos tener acceso a las localidades de memoria donde se encuentran almacenados; esto se logra por medio de los nombres de los datos o IDENTIFICADORES. Los identificadores también se utilizan para los nombres de los programas, los nombres de los procedimientos y los nombres de las funciones, así como para las etiquetas, constantes y variables. Las reglas para formar los identificadores en Pascal son las siguientes : 1. Pueden estar compuestos de caracteres alfabéticos, numéricos y el carácter de subrayado ( _ ). 2. Deben comenzar con un carácter alfabético o el carácter de subrayado. 3. Puede ser de cualquier longitud (sólo los 63 primeros caracteres son significativos). 4. No se hace distinción entre mayúsculas y minúsculas. 5. No se permite el uso de los IDENTIFICADORES RESERVADOS en los nombres de variables, constantes, programas o sub-programas. Identificadores válidos Nombre Cadena Edad_Maxima X_Y_Z Etiqueta2 Identificadores no válidos Num&Dias : carácter & no válido X nombre : Contiene un blanco begin : es una palabra reservada eje@s : carácter @ no válido Elección de identificadores La elección de identificadores permite una mejor lectura y comprensión de un programa. No es aconsejable utilizar identificadores que no sugieran ningún significado. http://www.itlp.edu.mx/publica/tutoriales/pascal/u2_2_2.html (1 of 3)03/06/2004 10:08:02

2.2 Identificadores La siguiente tabla muestra los IDENTIFICADORES RESERVADOS en Turbo-Pascal. Los marcados con un asterisco no están definidos en Pascal estándar. Los marcados con? no se utilizan en Turbo-Pascal *ABSOLUTE IN VAR RECORD *AND *OVERLAY GOTO ELSE ARRAY *STRING?PACKED WHILE *EXTERNAL BEGIN TO LABEL FILE FOR DIV REPEAT FORWARD OF *INLINE WITH NIL THEN PROCEDURE END *SHL CASE UNTIL MOD AND FUNCTION DO SET FILE OR IF *XOR NOT TYPE PROGRAM *SHR CONST DOWNTO Turbo-Pascal define los siguientes IDENTIFICADORES ESTANDAR de tipos predefinidos, constantes, variables, procedimientos y funciones. Cualquiera de ellos puede ser redefinido, perdiéndose así la facilidad de utilizar su definición original. ADDR DELAY LENGTH RELEASE ARCTAN DELETE LN RENAME ASSIGN EOF LO RESET AUX EOLN LOWVIDEO REWRITE AUXINPTR ERASE LST ROUND AUXOUTPTR EXECUTE LSTOUTPTR SEEK BLOCKREAD EXIT MARK SIN BLOCKWRITE EXP MAXINT SIZEOF BOOLEAN FALSE MEM SEEKEOF BUFLEN FILEPOS MEMAVAIL SEEKEOLN http://www.itlp.edu.mx/publica/tutoriales/pascal/u2_2_2.html (2 of 3)03/06/2004 10:08:02

2.2 Identificadores BYTE FILESIZE MOVE SQR CHAIN FILLCHAR NEW SQRT CHAR FLUSH NORMVIDEO STR CHR FRAC ODD SUCC CLOSE GETMEM ORD SWAP CLREOL GOTOXY OUTPUT TEXT CLRSCR HALT PI TRM CON HEAPPTR PORT TRUE CONINPTR HI POS TRUNC CONOUTPTR IORESULT PRED UPCASE CONCAT INPUT PTR USR CONSTPTR INSLINE RANDOM USRINPTR COPY INSERT RANDOMIZE USROUTPTR COS INT READ VAL CRTEXIT INTEGER READLN WRITE CRTINIT KBD REAL WRITELN DELLINE KEYPRESSED Página anterior Página siguiente http://www.itlp.edu.mx/publica/tutoriales/pascal/u2_2_2.html (3 of 3)03/06/2004 10:08:02