You are on page 1of 16

Fundamentos de programacin

Unidad 3. Tcnicas de diseo detallado.

3.1 Diseo algortmico.


Algoritmo. Es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solucin a un problema en un tiempo determinado.

Algoritmo.
Definicin 2 Es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver un problema.

Ejemplos de algoritmos.
Receta para preparar el pastel Alemn. Manual de usuario de un aparato. Instrucciones que recibe un empleado de su jefe. Algoritmo de la divisin para calcular el cociente de dos nmeros.

Representacin de un algoritmo.
Lenguaje natural. Puede ser ambiguo. Sentencias de algn lenguaje de programacin. Depende del lenguaje particular. Seudo cdigo. Fciles de entender. Diagramas de flujo. Comprensibles.

3.1.1 Elementos y reglas de la representacin grfica de un algoritmo.


Los diagramas de flujo son descripciones grficas de algoritmos; usan smbolos conectados con flechas para indicar la secuencia de instrucciones y estn regidos por ISO.

Elementos bsicos.
Nombre Terminal Smbolo Funcin Representa el inicio y fin del algoritmo. Entrada o salida de datos. Por ejemplo leer un dato, mostrar un dato en pantalla, etc. Cualquier tipo de operacin que pueda originar cambio de valor Indica operaciones lgicas o de comparacin entre datos y en funcin del resultado de la misma determina (normalmente si y no) cual de los distintos caminos alternativos del programa se debe seguir Sirve para enlazar dos partes cualesquiera de un diagrama a travs de un conector en la salida y otro conector en la entrada. Se refiere a la conexin en la misma pagina del diagrama Indica el sentido de la ejecucin de las operaciones Se utiliza en ocasiones en lugar del smbolo de salida. El dibujo representa un pedazo de hoja. Es usado para mostrar datos o resultados. Entrada / salida

Proceso

Decisin

Conector Misma Pgina Indicador de direccin o lnea de flujo

Salida

Reglas de representacin grfica.


Tiene un inicio. Al menos un final. Se escribe de arriba hacia abajo y de izquierda a derecha. Siempre se usan flechas verticales u horizontales, jams curvas. Evitar cruce de flujos. En cada paso expresar una accin concreta. Secuencia de flujo normal en una solucin de problema. Recomendable una lectura o entrada de datos. Indicar el proceso de datos. Una salida de informacin.

3.1.2 Implementacin de algoritmos secuenciales (usando notacin algebraica).


Un algoritmo puede adoptar una de las estructuras siguientes o combinaciones de ellas: lineal o secuencial, alternativa o selectiva y repetitiva o cclica.

La ms sencilla de las tres es la lineal, tambin llamada secuencial que se caracteriza porque todos los pasos del algoritmo se realizan en secuencia, es decir, se suceden uso a otros. La notacin algebraica se refiere a usar expresiones matemticas formales, ejemplo:
producto = a * b * c * d

Ejemplo de algoritmo secuencial.


Algoritmo que lee cuatro nmeros, obtiene y muestra el producto, suma y media de ellos.

Ejercicios de algoritmos secuenciales.


Realizar los diagramas de flujo para las siguientes operaciones:
Sumar dos nmeros. Leer el radio de un crculo, y con este obtener y mostrar el dimetro, permetro y rea. Obtener promedio de 5 nmeros. Resolver la frmula general.

3.2 Diseo algortmico de las funciones.


Una funcin (o subprograma) es una parte del programa bien identificada y que realiza una tarea especfica. Uno de los principios fundamentales de la programacin es divide y vencers. Que consiste en dividir un problema inicial en subproblemas ms pequeos y fciles de resolver.

Cada funcin (o mtodo) identificada de cada clase se puede documentar de la siguiente manera:
Nombre de la funcin cubo Descripcin Obtiene el cubo de un nmero que se recibe como entrada, la salida es el valor del cubo de ese nmero. Argumentos o parmetros. Entrada Salida (num: entero) Es (resultado: entero) el nmero a partir El clculo del cubo del cul se se almacena en calcula el cubo. esta variable.

Funcion2

El siguiente paso es obtener el diagrama de flujo del cdigo que estar dentro de la funcin.
Inicio

resultado = num * num * num

Regresar resultado

Fin

Una vez diseada la funcin, se puede escribir el cdigo. Por ejemplo la funcin anterior escrita en Java:

Ejercicios.
Realizar el diseo de las siguientes funciones: Recibir tres nmeros y regresar la suma de ellos. Calcular el determinante ( d = b2 4ac) de la frmula general. Que convierte pulgadas a centmetros (la entrada es un nmero en pulgadas y la salida el equivalente en centmetros.