Metodología Del Diseño Descendente

download Metodología Del Diseño Descendente

of 7

description

descripción de los pasos del diseño descendente

Transcript of Metodología Del Diseño Descendente

Metodologa del diseo descendenteConsiste en el desarrollo de un programa que se lleva a cabo identificando primero grandes acciones y descendiendo a sus detalles progresivos.Problema complejo: subproblema1-subprobema2-subproblema nBeneficios: La programacin es mas sencilla, ya que se puede aplazar el desarrollo de algunas tareas en benfico del problema globalPueden programar independientemente miembros de n equipoEl mantenimiento es fcil de realizar, ya que se modifican segmentos de cdigo (subprogramas) independientes del resto del programa.La reutilizacin de cdigo ya escrito es mas fcil y natural tanto en el propio programa comop en otros.Aumenta la legibilidad del cdigo.

Matlab pone a nuestra disposicin los siguientes tipos de subprogramasScripFuncionesUn scrip es una secuencia de instrucciones validas en matlab+El scrip se almaceba en un fichero con la extensin mAdems de las instrucciones ejecutables, puede contener comentariosVariables utilizadas por los scripts:Pede utilizar cualquiera de las variables del workspaceLas variables que crea tambin se almacenan en el workspaceUna vez finalizada la ejecucin, las variables que haya creado, permanecen en el worspaceLos xcripts han de sr usados cuando se ha de repetir muchas veces una misma secuencia de operacionesPara crear un scrip es neceario escribir un fichero con la extensin .m.El nombre del script es el mismo que el fichero que lo contiene, sin la extensin.%Lissajous: Figura de Lissajous%Entrada de darisFx=input(frecuencia en x:);Dx=inpunt(fase en x:);Fy=input(frecuencia en y:);%procesoT=0:pi/100:2*pi;X= cos(fx*t+dx);Y= sin(fy*t+dy);%Salida de resultadosPlot(x,y)

Uso de scriptsPar4a usar un script, el fichero. M que lo contiene ha de encontrarse:En el camino de bsqueda (path) de matlabO en el directorio de trabajo seleccionado (current directory).Para el Si desconociramos su propsito Una funcin es un segmento de cdigo que recibe unos datos llamados argumentos de entrada, a partr de los cuales una serie de operaciones de devolver uno o varios valores como resultadoLas variables utilizadas en la funcin son locales: solo son conocidas por esta, aunque tegan el mismo nombre que otras existentes en el workspace.Podemos construir tantas funcones como sea neceario y utilizarlas las veces que deseemos, con los mismos o con diferentes argumentos de entrada

Creacin de FuncionesPara crear una funcin es necesario escribir un fichero.mEl nombre de la funcin es el mismo que el fichero que la contiene, sin la extensin.Las funcines, al contrario que los scripts, tiene una sintaxis muy concreta. Ejemp, fichero sumaMayores.m:Function suma=sumamayores(vec,min)%SUMAMAYORES (V,M)%suma los argumentos de vector que sean mayores o iguales que uno dado.%Argumentos:%V: vector de nmeros a sumar%M: minimo valor que puede sumarse%CalculoSuma=sum(vec(vec>=min));

Lnea de definicionNombre: sumamayores Argumentos: vec,minResultado: sumaLneas de ayudaPrimer boque de comentarios

Cuerpo de la funcinClculos tan complejos como sea necesarioEn algn momento es obligatorio asignar un valor a la variable de resultado (suma)Comentario9Indicaciones para comprender mejor el funcionamiento interno de la funcin.Uso de las funcionesPara usar una funcin, el fichero .m que lo contiene ha de encontrarse:En el camino de busquda (path) de matlabO en el directorio de tranbajo seleccionadoPara ejecutarlo se puede teclear su nombre y argumentos en la ventana de comandos de matlab, o utilizarla en cualquier expresin compatible con su resultado.En caso de duda, es posible solicitar la ayuda

Uso de funciones: paso de argumentosSe ede realizar tantas llamadas cono se quiera a esta funcin a lo largo de nuestros scipts o funciones. En llas sucesivas llamadas, los argumentos pueden cambiar.En la llamada, el programa llamante cede el control a la funcin para que se ejecute y el programa llamante se queda a la espera de que la funcin le devuelve un valor.

Las funciones tambin se pueden dividir en subfunciones

SENTENCIAS DE SELECCINPermiten seleccionar la ejecucin de actividades dependiendo de si cumple o no una condicin dada, es decir, alteran el orden secuencial de ejecuciobn y controla el flujo del programa.El lenguaje de matlap tiene una sintaxis propia y permiten elegir que sentecnias se van a ejecutar dependiendo de que se cumpla la condicion especificada.CONSTRUCION DEL BLOQUE IFSintaxis: La estructura de este bloque es:If expresin lgicaSecuencia de instruccionesEndSemntica:Se evalua expresin lgicaEl resultado puede ser verdadero (1) o falso (0)Si es verdadero (1),Se ejecuta secuencia de instrucciones y despus se siguen ejecutando las instrucciones que siguen al endSi es falso (o),Se sigue ejecutando las instrucciones que siguen al end. EJEMPLO:%RAIZ: calcula la raz cuadrada si el %numero es positivo. Si no, no hace nadax=input('introduce un numero:')if x>0x=sqrt(x);enddisp(x);>>raizIntroduce un numero:42>>raizIntroduce un numero: -4-4

Expresiones lgicas matricialesSi la expresin lgica es matricial El resultado ser verdadero cuando lo sea cada elemento del vector lgico resultanteSi la matriz lgica resultante es vacia, el resultado se trata como falsoLas construccuines de os dos recuador son equivalentes+eejemploas utilizando e script raz

If x>0 instruccinesEnd

Construccin del bloque if generalSintaxis: la estructura de este bloque es: If expresin lgicaSecuencia de instrucciones 1ElseSecuencia de instrucciones 2EndSemntica1) S evalua expresin lgica:El resutado puede ser verdadero (1) o falso (0)2) Si es verdadero, se ejecuta secuencia de instrucciones 13) Si es falso, se ejecuta secuencia de instrucciones 24) Dewspues se ejecutan las instrucciones que siguen al end

Diagrama- construccin del bloque if general

Ejemplo:%Es par: indica si un nuero es parN=input('Introduce ub numero:');if md(n,2)==0dis('par');else dis('impar');end

IF ANIDADOSEs possible anidar estructuras IF generarles en ambas ramas:If exprlog1If exprlog2ElseSecuencia_si1_no2EndIf exprlog3Secuencua_no1_si3ElseSecuencia_no1_no3Endend

enunciado: dadas las longitudes de tres lados (a,b,c), decidir si forman ub triangulo y de que tipo es:es triangulo si la sua de dos lados cualesquiera es mayor que el otroes equiltero si los dos lados son iguaeses issceles si dos de los lados son igualeses escaleno si os tres lados son distintos