Sei sulla pagina 1di 25

METODOLOGIA DE DISEO DE

ALGORITMOS.

En la bsqueda de soluciones, los humanos generan


estrategias que le permiten profundizar y de una
forma sencilla tener desde un principio las bases que
le permitan la resolucin de problemas.
son las tcnicas de diseo y que podramos definir
como la generacin de estrategias que permiten
solucionar algn problema de forma ms rpida.
En el rea que nos interesa, que es el desarrollo de
algoritmos, las tcnicas de diseo se basan en una
estructura definida que permiten llegar a soluciones
rpidas mediante una serie de estrategias.

Durante el paso del tiempo las formas de realizar


un programa han ido mejorando debido a que se
buscan diseos que faciliten su desarrollo,
tomando en cuenta los problemas que iban
surgiendo.
Una de stas se denomina Top-Down porque su
estructura es de forma descendente (de arriba
hacia abajo).
Esta tcnica permite simplificar el desarrollo del
programa facilitando la lectura y su
mantenimiento.

Diseo Top-Down
Este tipo de diseo se encarga de crear una serie
de niveles generando un bloque, empezando con
el problema ms difcil hasta llegar a los niveles
inferiores (de forma descendente).
Se trata de generar una relacin entre todas las
etapas del programa mediante las entradas de
informacin y las salidas.

Diseo Top-Down
Para comenzar con el diseo se debe generar una
visin estructural sin hacer especificaciones,
despus se realiza una descomposicin de los
componentes donde se genera un refinamiento.

Mediante la descomposicin del problema lo que


se desea es llegar a un anlisis ms detallado de
las instrucciones que forman parte del programa.

El diseo Top-Down tiene como objetivo.


Generar una simplificacin del problema.
Al generar una descomposicin de las partes del
problema se puede programar de forma
independiente, sin importar qu persona lo
realice.
La finalidad es que el programa quede
estructurado en un mdulo, esto quiere decir que
se generan grupos de instrucciones que realizan
funciones, esto permitir una lectura ms sencilla
y un mejor mantenimiento.

Cada mdulo debe ser tratado en la misma


manera que el problema general, el diseo topdown hace que el problema general se convierta
en problemas ms especficos y en general ms
fciles de resolver.

Algoritmo principal y subalgoritmos


Una de las vertientes de la aplicacin del diseo
descendente es el uso de subalgoritmos. Es decir,
el dividir un problema en subproblemas mas
simples, cuya solucin sea mas fcil, accin que
recibe el nombre de particin.
El algoritmo principal es el nivel mas alto en la
particin de una solucin. En otras palabras, es la
solucin del problema a nivel macro, sin mayor
detalle.

Algoritmo principal y subalgoritmos.


El algoritmo principal es como el director de una
orquesta que pide que se ejecuten diferentes
acciones en momentos diferentes.
Usualmente, el algoritmo principal incluye uno o
mas mdulos y una o mas llamadas a
subalgoritmos.
Es el que dirige la ejecucin de las instrucciones
que resuelven el problema.

Algoritmo principal y subalgoritmos.


Los subalgoritmos son un conjunto de
instrucciones que resuelven un problema
especifico, normalmente, como parte de una
solucin descrita en forma general en un
algoritmo principal.
A los subalgoritmos tambin se les da el nombre
de rutinas y existen dos tipos: procedimientos y
funciones.

Algoritmo principal y subalgoritmos.


Los subalgoritmos tienen bsicamente las mismas
secciones que un algoritmo, es decir: un
encabezado, declaraciones y el cuerpo.
Una de las grandes ventajas del diseo
descendente es que permite la creacin de
soluciones mas simples, claras y generales.
Esto provocara que se puedan reutilizar sus
algoritmos, es decir, escribirlos una sola vez y
usarlos muchas veces.

mbito de validez.
Tanto los algoritmos principales como los mdulos
y subalgoritmos, pueden tener una seccin de
declaracin.
A las variables declaradas en un algoritmo
principal o en la seccin de declaraciones de un
modulo se les llama variables globales.
A las variables declaradas en cualquier
subalgoritmo se les llama variables locales al
subalgoritmo.

mbito de validez.
Algoritmo principal
/* las variables declaradas en este nivel son globales, por tanto, podrn ser utilizadas en
este algoritmo y en todos los sub-algoritmos que sean llamados desde el */
Subalgoritmo Ejemplo 1
/* las variables declaradas en este nivel son locales, por tanto, podrn ser
utilizadas en este subalgoritmo y en todos los sub-algoritmos que sean
llamados desde el*/

Subalgoritmo Ejemplo 2
/*las variables declaradas en este nivel son locales, por tanto, podrn ser
utilizadas en este subalgoritmo y en todos los sub-algoritmos que sean
llamados desde el*/

procedimiento
Un procedimiento es un tipo particular de
subalgoritmo que contiene un conjunto de
instrucciones que realizan una tarea especifica.

Los procedimientos no pueden retornar ningn


valor por si mismos; requieren del uso de
parmetros para este fin.
Los procedimientos inician con la palabra
reservada procedimiento, seguido de un
identificador para el nombre del mismo.

Llamadas a procedimientos.
Los procedimientos pueden ser llamados desde
cualquier parte del cuerpo del algoritmo o
subalgoritmo.
Esto significa que en el momento de la llamada, la
secuencia de ejecucin de las instrucciones se
interrumpe y se transfiere el control al
procedimiento.
Luego que este finaliza, el control se transfiere
nuevamente a la siguiente instruccin, es decir, la
instruccin posterior a la llamada.

Funciones.
Un funcin es un tipo particular de subalgoritmo
que contiene un conjunto de instrucciones que
realizan una tarea especifica.
Se puede decir que una funcin es una relacin
entre dos conjuntos en la cual a cada elemento del
primero, dominio, se le asocia solo un elemento
del segundo, imagen.
En programacin, una funcin tiene la misma
connotacin, en donde la lista ordenada de
parmetros actuales es un elemento del dominio y
el resultado de la funcin es un elemento de la
imagen.

Llamadas a funciones.
Para llamar a una funcin, es decir, para solicitar
que se ejecuten las instrucciones que incluye, se
escribe el nombre de la funcin con los
parmetros necesarios.
Tpicamente, las funciones pueden aparecer en
tres partes de un algoritmo:
Al lado derecho de una asignacin.
Como parte de una expresin.
Como parmetro de otra rutina.

Parmetros.
A pesar de que se pueden escribir subalgoritmos
que no tienen parmetros, no es una practica
muy recomendada.
Para que los subalgoritmos sean independientes
se requiere que estos puedan comunicarse
adecuadamente con otros algoritmos y
subalgoritmos.
esta comunicacin se logra a travs del uso de
parmetros.

parmetros.
Para declarar los parmetros se debe indicar el
tipo de parmetro, el tipo de daos que se pasaran
y los identificadores de dichos parmetros.
TIPOS DE PARAMETROS.
Por valor.
Por referencia.

Parmetros.
Por valor: cuando se pasa un parmetro por valor
significa que sus valores sern copiados a otra
direccin de memoria con la etiqueta indicada en
el parmetro del su algoritmo.
Por referencia: cuando se pasa un parmetro por
referencia significa que se esta pasando la
direccin, o referencia, en donde se encuentra el
valor .

Ejemplos.
Procedimiento calculaArea(base, altura, area)
Base, altura, area.
Inicio
Area <- 0.5*base*altura
Fin procedimiento.

Ejemplos.

Real: funcion tan(x)


X, result
inicio
Result <- sen(x)/cos(x).
Retorna result
Fin funcion.

Llamada a procedimiento y funcin.

Proceso ejemplo_subalgoritmos.
resultado<-0;
Escribir ingrese numero;
Leer numero;
Cuadrado_numero(numero);//llamada a proc.
Resultado <- cubo_numero(numero);//funcion.
Escribir resultado;
Fin proceso.

Ejercicio.
Desarrolle un algoritmo para implementar una
calculadora que incluya las siguientes funciones
(suma, resta, multiplicacin y divisin) de dos
nmeros ingresados por el usuario.

Potrebbero piacerti anche