PROGRAMACION

PROGRAMACION
PROGAMACION EL LENGUAJE DEL SIGLO

viernes, 25 de mayo de 2012

TEMA 25

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

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

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.

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 :



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.



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

ABRE Abre un archivo

CASO Selección entre múltiples alternativas

CIERRA Cierra un archivo

ENTONCES Complemento de la selección

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 Disyunción lógica BIEN Complemento opcional de la selección

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

Procedimientos y funciones
Notación Conway para la sintaxis de la declaración de procedimientos
(prototipo e implementación).
Una vez declarado, el procedimiento puede ser llamado (invocado) en el programa.
Para ello basta especificar su nombre (y parámetros en el caso de que los tuviese) como

si se tratara de una sentencia más. Cuando se alcanza la llamada, el control pasa a la

primera sentencia de dicho procedimiento y cuando éste acaba de ejecutar su cuerpo el

control vuelve a la siguiente instrucción escrita tras la llamada al procedimiento.
3.2.1. La sentencia nula

implementación del procedimiento) está formado por una secuencia de sentencias. Las

sentencias más importantes de C++ se han descrito en los temas anteriores.


Procedimientos con parámetros

Un procedimiento puede resultar mucho más útil si se puede variar su

comportamiento de una llamada a otra. Esto se consigue añadiéndole parámetros. Por

ejemplo, sería poco útil que el procedimiento system de la biblioteca stdlib ejecutase
siempre el mismo comando de sistema. Por eso es posible pasarle un parámetro que se

corresponde con el comando que queremos ejecutar en cada momento.
system( "dir" );

En C++ existen dos tipos de parámetros diferentes:

1.Parámetros de entrada (valor)

2.Parámetros de entrada/salida (referencia)

Los parámetros únicamente de salida no son implementados por C++.

Los parámetros que se declaran en la cabecera de un procedimiento se denominan

Parámetros Formales, mientras que los parámetros que aparecen en una llamada al

procedimiento se denominan Parámetros Actuales o Reales.

. Parámetros de entrada (valor)

Los parámetros de entrada (valor) se usan para proporcionar información de
entrada a un procedimiento. Dentro de éste pueden considerarse como variables cuyo

valor inicial es el resultado de evaluar los parámetros actuales 


                Funciones

Mientras que un procedimiento ejecuta un grupo de sentencias, una función además

d
evuelve un valor al punto donde se llamó. Una llamada a una función puede aparecer

como operando de alguna expresión. El valor de la función se usa, por tanto, para
calcular el valor total de la expresión.

En la Figura 3.9 se muestra un ejemplo de función que recibe dos parámetros de

tipo
float y devuelve un valor de este mismo tipo. Concretamente, la función de la
de forma que la llamada devolverá el mayor valor entre 3.0 y el contenido de la

variable
p y con dicho valor se evaluará el resto de la expresión. Otro ejemplo puede
ser:
p = Maximo( 3.0, p );

Obsérvese que el tipo del resultado que devolverá la función aparece declarado en

la cabecera sustituyendo a la palabra void que identifica a un procedimiento. En este
sentido, en C++, puede verse a un procedimiento como un tipo especial de función que

devuelve un valor void (nulo).

Las funciones en C++ pueden devolver cualquier tipo menos arrays.

Toda función debe ejecutar una sentencia
return