Está en la página 1de 14

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 ).

DEFINICIÓN DE LAS ESTRUCTURAS BÁSICAS DE CONTROL LÓGICO

1.- SECUENCIA

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 Abre un archivo


CASO Selección entre múltiples alternativas
CIERRA Cierra un archivo
Complemento de la selección
ENTONCES
SI - ENTONCES
ESCRIBE Visualiza un dato en pantalla
FIN Finaliza un bloque de instrucciones
HASTA Cierra la iteración HAZ - HASTA
HAZ Inicia la iteración HAZ - HASTA
INICIO Inicia un bloque de instrucciones
LEER Leer un dato del teclado
MIENTRAS Inicia la iteración mientras
NO Niega la condición que le sigue
O Disyunción lógica
Complemento opcional de la selección
O - BIEN
SI - ENTONCES
PARA Inicia un número fijo de iteraciones
SI Inicia la selección SI-ENTONCES
USUAL Opcional en la instrucción CASO
Y 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}

sentencias

end.

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

También podría gustarte