You are on page 1of 10

UNIDAD V PROGRAMACION ESTRUCTURADA

Qu es la Programacin Estructurada?
La programacin estructurada es un paradigma de programacin orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando nicamente subrutinas y tres estructuras: secuencia, seleccin (if y switch) e iteracin (bucles for y while), considerando innecesario y contraproducente el uso de la instruccin de transferencia incondicional (GOTO), que podra conducir a "cdigo espagueti", que es mucho ms difcil de seguir y de mantener, y era la causa de muchos errores de programacin.

Esto es importante debido a que, es mucho ms fcil comprender completamente el trabajo que realiza una funcin determinada, si todas las instrucciones que influyen en su accin estn fsicamente cerca y encerradas por un bloque. La facilidad de lectura, de comienzo a fin, es una consecuencia de utilizar solamente tres estructuras de control y de eliminar la instruccin de desvo de flujo de control, excepto en circunstancias muy especiales tales como la simulacin de una estructura lgica de control en un lenguaje de programacin que no la posea.

Principios de la Programacin Estructurada


Surgi en la dcada de 1960, particularmente del trabajo Bhm y Jacopini,1 y una famosa carta, la sentencia goto considerada perjudicial, de Edsger Dijkstra en 19682 y fue reforzado tericamente por el teorema del programa estructurado, y prcticamente por la aparicin de lenguajes como ALGOL con adecuadas y ricas estructuras de control. Es una tcnica en la cual la estructura de un programa, la escritura de sus partes se realiza tan claramente como es posible mediante el uso de tres estructuras lgicas de control:

Secuencia: Sucesin simple de dos o ms operaciones. Seleccin: Divisin condicional de una o ms operaciones. Interaccin: Repeticin de una operacin mientras se cumple una condicin.

Estos tres tipos de estructuras lgicas de control pueden ser combinados para producir programas que manejen cualquier tarea de procesamiento de informacin. Un programa estructurado esta compuesto de segmentos, los cuales puedan estar constituidos por unas pocas instrucciones o por una pagina o ms de codificacin. Cada segmento tiene solamente una entrada y una salida, estos segmentos, asumiendo que no poseen lazos infinitos y no tienen instrucciones que jams se ejecuten, se denominan programas propios. Cuando varios programas propios se combinan utilizando las tres estructuras bsicas de control mencionadas anteriormente, el resultado es tambin un programa propio. La Programacin Estructurada esta basada en el Teorema de la Estructura*, el cual establece que cualquier programa propio (un programa con una entrada y una salida exclusivamente) es equivalente a un programa que contiene solamente las estructuras lgicas mencionadas anteriormente.

Una caracterstica importante en un programa estructurado es que puede ser ledo en secuencia, desde el comienzo hasta el final sin perder la continuidad de la tarea que cumple el programa, lo contrario de lo que ocurre con otros estilos de programacin.

Ventaja de la Programacin Estructurada


Un programa escrito de acuerdo a estos principios no solamente tendr una estructura, sino tambin una excelente presentacin. Un programa escrito de esta forma tiende a ser mucho ms fcil de comprender que programas escritos en otros estilos. La facilidad de comprensin del contenido de un programa puede facilitar el chequeo de la codificacin y reducir el tiempo de prueba y depuracin de programas. Esto ultimo es cierto parcialmente, debido a que la programacin estructurada concentra los errores en uno de los factores ms generador de fallas en programacin: la lgica. Un programa que es fcil para leer y el cual esta compuesto de segmentos bien definidos tiende a ser simple, rpido y menos expuesto a mantenimiento. Estos beneficios derivan en parte del hecho que, aunque el programa tenga una extensin significativa, en documentacin tiende siempre a estar al da, esto no suele suceder con los mtodos convencionales de programacin. La programacin estructurada ofrece estos beneficios, pero no se la debe considerar como una panacea ya que el desarrollo de programas es, principalmente, una tarea de dedicacin, esfuerzo y creatividad.

Diagramas Estructurados (nassi - scheiderman)


El diagrama N-S de Nassi-Schneiderman, tambin conocido como diagrama de Chapin, es como un diagrama de flujo en el que se omiten las flechas de unin y las cajas son contiguas. Las acciones sucesivas se escriben en cajas sucesivas, y, como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja.

Los Diagramas Estructurados, son una tcnica que permite formular algoritmos mediante una representacin geomtrica y de asignacin de espacios de un bloque especfico. Representacion de una Estructura Condicional en el N-S

Ejemplo: se desea calcular el salario neto semanal de un trabajador en funcin del numero de horas y la tasa de impuesto

UNIDAD VI ARREGLOS

Vectores Unidimensionales

Vectores unidimensionales Un Vector, array, Arreglo o Alineacin es un conjunto o agrupacin de variables del mismo tipo cuyo acceso se realiza por ndices. Los arreglos permiten agrupar datos usando un mismo identificador. Todos los elementos de un arreglo son del mismo tipo, y para acceder a cada elemento se usan subndices. En el siguiente captulo se presentan los arreglos y las cadenas. Las cadenas se consideran como un arreglo de tipo char. Un ejemplo de esto sera: Vector [tamao]. A los arreglos unidimensionales se les llama vectores, se puede decir que son un grupo de variables que se relacionan por un nombre en comn, un arreglo consta de una posicin de memoria contigua, es decir un orden de menor a mayor, as podemos afirmar que la ms baja corresponde al primero y la mayor al ltimo, para acceder a una seccin de un arreglo en especifico se utiliza el ndice, a continuacin mostramos un ejemplo: Aplicado en c++ int can[9] //un vector llamado can con diez de tamao El vector o arreglo unidimensional llamado can (cantidad) tiene cantidad diez porque se inicia en 0 y es tomado en cuentaEs decir un arreglo con diez elementos enteros de as desde can[0] -

Proceso de Ordenamiento

Es la operacin de organizar un conjunto de datos en algn orden o secuencia especfica, tal como creciente o decreciente para datos numricos o alfabticamente para datos de tipo carcter o cadena de caracteres.

Operaciones tpicas de ordenacin son: lista de nmeros, archivos de clientes de banco, nombres en una agenda telefnica.

En sntesis, la ordenacin significa poner objetos en orden ascendente o descendente. El propsito final de la clasificacin es facilitar la manipulacin de datos en un vector. Los mtodos directos son los que se realizan en el espacio ocupado por el arreglo. Los que vamos a estudiar son:

Mtodo de intercambio o burbuja. Ordenacin por Insercin Ordenacin por Seleccin

Proceso de Bsqueda

La recuperacin de informacin, como ya se ha comentado, es una de las aplicaciones ms importantes de las computadoras. La bsqueda se refiere a la operacin de encontrar la posicin de un elemento entre un conjunto de elementos dados: lista, tabla o fichero. Existen diferentes algoritmos de bsqueda. El algoritmo elegido depende de la forma en que se encuentren organizados los datos.

La operacin de bsqueda de un elemento N en un conjunto de elementos consiste en: 1. Determinar si N pertenece al conjunto y, en ese caso, indicar su posicin en l. 2. Determinar si N no pertenece al conjunto. Los mtodos ms usuales de bsqueda son: Bsqueda secuencial o lineal. Bsqueda binaria. Bsqueda por transformacin de claves (hash).

Bsqueda secuencial o lineal

El mtodo ms sencillo de buscar un elemento en un vector es explorar secuencialmente el vector (recorrer el vector), desde el primer elemento hasta el ltimo. Si se encuentra el elemento buscado visualizar un mensaje similar a Elemento encontrado en la posicin x, en caso contrario visualizar un mensaje similar a Elemento no existe en el vector. En otras palabras, la bsqueda secuencial compara cada elemento del vector con el valor deseado, hasta que se encuentra o termina de recorrer el vector completo. La bsqueda secuencial no requiere ningn registro por parte del vector por consiguiente no requiere que el vector est ordenado.

Este mtodo tiene el inconveniente del consumo excesivo de tiempo en la localizacin del elemento buscado. Cuando el elemento buscado no se encuentra en el vector, se verifican o comprueban sus n elementos. Por esto no es el mtodo ms adecuado para vectores con un gran nmero de elementos.

Bsqueda Binaria
Presupone una ordenacin previa de los elementos del vector. Este mtodo se basa en la divisin sucesiva del vector en dos partes, y seguir dividiendo cada mitad hasta encontrar el elemento buscado.

Utiliza un mtodo de divide y vencers para localizar el valor deseado. Con este mtodo se examina primero el elemento central del vector, si este es el elemento buscado, entonces la bsqueda ha terminado. En caso contrario se determina si el elemento buscado est en la primera o segunda mitad de la lista, y a continuacin se repite este proceso, utilizando el elemento central de esa sublista.

Es un mtodo eficiente siempre que el vector est ordenado. En la prctica esto suele suceder, pero no siempre es as. Por esta razn la bsqueda binaria exige una ordenacin previa del vector.

Arreglos Bidimensionales (Matrices)


Un arreglo bidimensional se puede considerar como un vector de vectores. Es un conjunto de elementos, todos del mismo tipo, en el cual el orden de los componentes es significativo y en el que se necesitan especificar dos subndices para poder identificar cada elemento del arreglo.

Notacin algortmica para declarar matrices: tipo array [1..M,1..N] de <tipo de dato>: <nombre del tipo array> var <nombre del tipo array>: identificador de la variable de este tipo Ejemplo: tipo array [1..5, 1..6] de entero: Notas var Notas: A, B

Un arreglo bidimensional se dice que tiene M*N elementos, donde M es el nmero de filas y N el nmero de columnas. Operaciones con matrices: 1. Asignacin 2. Lectura/escritura 3. Recorrido secuencial: Por fila Por columna

Asignacin: consiste en asignar directamente un valor a cualquier elemento de la matriz. Ejemplo: A[1,1] 3 2. Lectura/escritura: normalmente se realiza con estructuras de repeticin. Pero una instruccin simple de lectura/escritura podra ser: leer(A) lectura de la matriz A

escribir(A) escritura de la matriz A leer(A[2,3]) lectura del elemento en la fila 2 columna 3 de la matriz A.

You might also like