Metodología Para La Solución de Un Problema

66
METODOLOGÍA PARA LA SOLUCIÓN DE UN PROBLEMA Ing. César Augusto Gutiérrez

description

Metodología Para La Solución de Un Problema en programación

Transcript of Metodología Para La Solución de Un Problema

Presentacin de PowerPoint

METODOLOGA PARA LA SOLUCIN DE UN PROBLEMAIng. Csar Augusto Gutirrez R.CONTENIDO1. Conceptos preliminares.2. Metodologa.Anlisis del problema.2.1Diseo y pseudocdigo.2.2Prueba de escritorio.2.3Codificar el algoritmo.2.4Probar el algoritmo.2.5Algoritmia y programacinUNIMINUTO Sede ValleConceptos preliminaresSe puede definir un algoritmo como una secuencia de pasoslgicos y ordenados con las cuales se puede dar solucin a unproblema determinado.Unproblemaescualquiersituacinquerequieradeunasolucin.Para solucionar un problema ste se debe identificar comotal, debemos efectuar una serie de accionespara encontrarleuna solucin y describir dicha solucinposible para que los otros la entiendan.delaformamsclaraAlgoritmia y programacinUNIMINUTO Sede ValleParaunproblemapuedenexistirdiferentesmanerasdeexpresarunasolucinyporlotantodiferentesalgoritmos.EjemploEjercicio:Queprocedimientoseguiraparasolucionarellaberinto?Algoritmia y programacinUNIMINUTO Sede Valle4EjemploEjercicio:Queprocedimientoseguiraparasolucionarellaberinto?Algoritmia y programacinUNIMINUTO Sede ValleEjemploEjercicio:Queprocedimientoseguiraparasolucionarellaberinto?Algoritmia y programacinUNIMINUTO Sede Valle ConceptospreliminaresEjemplos:Cul es el algoritmoenciende?paracambiarun bombillo queyanoCuleselalgoritmoparacambiarunallantaquesehapinchado?Algoritmia y programacinUNIMINUTO Sede ValleConceptospreliminaresCaractersticas de los Algoritmos:1. Unalgoritmodebeserpreciso e indicar elorden derealizacin de cada paso.2.Un algoritmo debe estar definido. Si se sigue el algoritmo dosveces, con los mismos datos de entrada, se debe obtener el mismo resultado cada vez.3.Un algoritmo debe ser finito. Si se sigue el algoritmo, se debeterminar en algn momento, o sea debe tener un nmero finitode pasos.Algoritmia y programacinUNIMINUTO Sede ValleConceptos preliminaresComponentes de un AlgoritmoProcesoAlgoritmia y programacinUNIMINUTO Sede ValleEntradaSalidaSiempre que se disea un algoritmose deben verificarestoscomponentesMetodologaPasosquedebemosseguirpararesolvercualquierproblemausandoalgoritmos.Algoritmia y programacinUNIMINUTO Sede Valle1. Anlisis del problema.2. Disear el algoritmo y escribirlo en pseudocdigo.3. Realizar una prueba de escritorio para el algoritmo.4. Codificar el algoritmo usando algn lenguaje de programacin.5. Probar el algoritmo implementado.EjemploProblema: Desarrollar un algoritmo que permitatriangulo a partir de su base y su alturacalcularelreadeun1.Anlisis del problemaDefinir el problema con precisinIdentificarIdentificarIdentificarlos datos de entradalos datos de salidacomotransformarlos datosdeentradaenlasalidaProceso?Algoritmia y programacinUNIMINUTO Sede ValleSalida?Entrada?EjemploProblema: Desarrollar un algoritmo que permitacalcularelreadeuntriangulo a partir de su base y sualtura1.Anlisis del problemaEntradas:Labase (b)ylaaltura (h)hbAlgoritmia y programacinUNIMINUTO Sede ValleConceptospreliminaresAnlisisdel problemaAlgoritmia y programacinUNIMINUTO Sede Vallebase alturaEjemploProblema: Desarrollar un algoritmo que permitacalcularelreadeuntriangulo a partir de su base y sualtura1.Anlisis del problemaSalidas:ElreadeltrianguloreaAlgoritmia y programacinUNIMINUTO Sede ValleConceptospreliminaresAnlisis del problemaalturaAlgoritmia y programacinUNIMINUTO Sede VallebaseareaEjemploProblema: Desarrollar un algoritmo que permita calcular el rea de untriangulo a partir de su base y su altura1.Anlisis del problemaProceso:Formulaparatransformar laentrada(s) en la salida(s)rea=(b*h)/2hbAlgoritmia y programacinUNIMINUTO Sede ValleConceptospreliminaresAnlisisdel problemarea=(b * h)/2Algoritmia y programacinUNIMINUTO Sede VallereaalturabaseEjemploProblema: Desarrollar un algoritmo que permita calcular el reatriangulo a partir de su base y su alturadeun1.Anlisis del problemaAl conjunto de entradas ysalidasselesconocecomolasvariables delalgoritmoVariablesEntrada base (b), altura (h) Salida reaAlgoritmia y programacinUNIMINUTO Sede ValleEjemploProblema: Desarrollar un algoritmo que permita calcular el rea detriangulo a partir de su base y su alturaun1.Anlisis del problemaLas variables pueden sernumricas(entero,real)otambinpueden contenertextoVariablesbase, altura:area: ??Algoritmia y programacinUNIMINUTO Sede ValleEjemploProblema: Desarrollar un algoritmo que permita calcular el rea detriangulo a partir de su base y su alturaun1.Anlisis del problemaLas variables pueden serpueden contener textonumricas(entero,real)otambinVariablesbase, altura:area: RealEnteroAlgoritmia y programacinUNIMINUTO Sede Valle MetodologaPasosquedebemosseguirpararesolvercualquierproblemausandoalgoritmos.Algoritmia y programacinUNIMINUTO Sede Valle1. Anlisis del problema.2. Disear el algoritmo y escribirlo en pseudocdigo.3. Realizar una prueba de escritorio para el algoritmo.4. Codificar el algoritmo usando algn lenguaje de programacin.5. Probar el algoritmo implementado.MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea de untringulo a partir de su base y altura.2. Disear el algoritmo y escribirlo en pseudocdigoEl pseudocdigo es utilizado para describir algoritmosen unningnlenguajelenguajehumano simplificadode programacinquenoesdependientedeAlgoritmia y programacinUNIMINUTO Sede ValleMetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el reatringulo a partir de su base y altura.deun2. DisearInicioelalgoritmo y escribirloenpseudocdigoFinAlgoritmia y programacinUNIMINUTO Sede Valle MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el reatringulo a partir de su base y altura.deun2. Disear el algoritmo y escribirlo Inicioenpseudocdigobase,area:altura:realenteroFinAlgoritmia y programacinUNIMINUTO Sede Valle MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el reatringulo a partir de su base y altura.deun2. Disear el algoritmo y escribirlo Inicioenpseudocdigobase, altura:area: realenteroleer (base)leer (altura)FinAlgoritmia y programacinUNIMINUTO Sede Valle MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el reatringulo a partir de su base y altura.deun2. Disear el algoritmo y escribirloenpseudocdigoIniciobase, altura: enteroarea: realleerleer(base)(altura)area= (base*altura)/2imprimir (area)FinAlgoritmia y programacinUNIMINUTO Sede Valle MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea de untringulo a partir de su base y altura.2. Disear el algoritmo y escribirloen pseudocdigoIniciobase, altura: enteroarea: realCualessalidasson las entradas, proceso yeneste algoritmo?leerleer(base)(altura)area= (base*altura)/2imprimir (area)FinAlgoritmia y programacinUNIMINUTO Sede Valle MetodologaPasosquedebemosseguirpararesolvercualquierproblemausandoalgoritmos.Algoritmia y programacinUNIMINUTO Sede Valle 1. Anlisis del problema.2. Disear el algoritmo y escribirlo en pseudocdigo.3. Realizar una prueba de escritorio para el algoritmo.4. Codificar el algoritmo usando algn lenguaje de programacin.5. Probar el algoritmo implementado.MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea de untringulo a partir de su base y altura.3. Realizar una prueba de escritorio para el algoritmoLa prueba de escritorio es una herramienta para entenderqu hace un determinado algoritmo,oparaverificarquelasolucinalproblemaeslacorrectaAlgoritmia y programacinUNIMINUTO Sede ValleMetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea de untringulo a partir de su base y altura.3. Realizar una prueba de escritorio para el algoritmoEnestaprueba,sehaceunaejecucin manual delalgoritmoysehace antes deimplementarloenelelcomputador. se contina con el proceso hasta verificarsialgoritmo cumpleconloscriteriosdesalidaesperados.Algoritmia y programacinUNIMINUTO Sede ValleMetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea detringulo a partir de su base y altura.un3. Realizar una prueba de escritoriopara elalgoritmoInicioVariablesbase, altura: enteroarea: realleerleer(base)(altura)area= (base*altura)/2imprimir (area)FinAlgoritmia y programacinUNIMINUTO Sede VallebasealturareaMetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea detringulo a partir de su base y altura.un3. Realizar una prueba de escritoriopara elalgoritmoInicioVariablesbase, altura: enteroarea: realleerleer(base)(altura)area= (base*altura)/2imprimir (area)FinAlgoritmia y programacinUNIMINUTO Sede Valle basealturarea2MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea detringulo a partir de su base y altura.un3. Realizar una prueba de escritoriopara elalgoritmoInicioVariablesbase, altura: enteroarea: realleer (base)leer (altura)area = (base*altura)/2imprimir (area)FinAlgoritmia y programacinUNIMINUTO Sede Valle basealturarea24MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea detringulo a partir de su base y altura.un3. Realizar una prueba de escritorioIniciopara elalgoritmoVariablesbase, altura: enteroarea: realleer (base)leer (altura)area = (base*altura)/2imprimir (area)FinAlgoritmia y programacinUNIMINUTO Sede Valle basealturarea244.0MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea detringulo a partir de su base y altura.un3. Realizar una prueba de escritoriopara elalgoritmoInicioVariablesbase, altura: enteroarea: realleerleer(base)(altura)area= (base*altura)/2imprimir (area)FinAlgoritmia y programacinUNIMINUTO Sede Valle basealturarea244.0MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea detringulo a partir de su base y altura.un3. Realizar una prueba de escritoriopara elalgoritmoInicioVariablesbase,area:altura: enterorealleerleer(base)(altura)area = (base*altura)/2imprimir (area)FinAlgoritmia y programacinUNIMINUTO Sede Valle basealturarea244.031MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea detringulo a partir de su base y altura.un3. Realizar una prueba de Inicioescritoriopara elalgoritmoVariablesbase, altura: enteroarea: realleer (base)leer (altura)area= (base*altura)/2imprimir (area)FinAlgoritmia y programacinUNIMINUTO Sede Valle basealturarea244.0311.5MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea detringulo a partir de su base y altura.un3. Realizar una prueba de escritoriopara elalgoritmoInicioVariablesbase, altura: enteroarea: realleerleer(base)(altura)area= (base*altura)/2imprimir (area)FinAlgoritmia y programacinUNIMINUTO Sede Valle basealturarea244.0311.5MetodologaEjemplo. Problema:Desarrollar un algoritmo que permita calcular el rea detringulo a partir de su base y altura.un3. Realizar una prueba de escritoriopara elalgoritmoInicioVariablesbase, altura: enteroarea: realleerleer(base)(altura)area= (base*altura)/2Elalgoritmofuncionaimprimir (area)Fincorrectamente,segnlaprueba de escritorioAlgoritmia y programacinUNIMINUTO Sede Valle basealturarea244.0311.5MetodologaPasosquedebemosseguirpararesolvercualquierproblemausandoalgoritmos.Algoritmia y programacinUNIMINUTO Sede Valle 1. Anlisis del problema.2. Disear el algoritmo y escribirlo en pseudocdigo.3. Realizar una prueba de escritorio para el algoritmo.4. Codificar el algoritmo usando algn lenguaje de programacin.5. Probar el algoritmo implementado.MetodologaEjemplo. Problema:Desarrollar unalgoritmoquepermitacalcularelreadeuntringulo a partir de su base y altura.4. Codificar el algoritmo usando algn lenguaje de programacinParacodificar(implementar)losalgoritmos seusanloslenguajesdeprogramacin.Unquelenguajedeprogramacinpermite escribir instruccionesuna computadora.puedenserinterpretadasporAlgoritmia y programacinUNIMINUTO Sede Valle MetodologaEjemplo. Problema:Desarrollar unalgoritmoquepermitacalcularelreadeuntringulo a partir de su base y altura.4. Codificar el algoritmo usando algn lenguaje de programacinLosalgoritmosescritosenpseudocdigosedebentraduciraunlenguajedeprogramacinAlgoritmia y programacinUNIMINUTO Sede Valle MetodologaEjemplo. Problema:Desarrollar unalgoritmoquepermitacalcularelreadeuntringulo a partir de su base y altura.4. Codificar el algoritmo usando algn lenguaje de programacinNota: Se recomienda siempre, antes de codificarunalgoritmorealizarsurespectivapruebadeescritorio.Algoritmia y programacinUNIMINUTO Sede Valle MetodologaEjemplo. Problema:Desarrollar unalgoritmoquepermitacalcularelreadeuntringulo a partir de su base y altura.4. Codificar el algoritmo usando algn lenguaje de programacinEn nuestro caso usaremos un lenguaje de programacinllamado Java, peroexistenmuchosotroscomo:Algoritmia y programacinUNIMINUTO Sede ValleMetodologaEjemplo. Problema:Desarrollar unalgoritmoquepermitacalcularelreadeuntringulo a partir de su base y altura.4. Codificar el algoritmo usando algn lenguaje de programacinDurante las siguientes clases veremos el proceso paracodificarlosalgoritmosenellenguajedeprogramacinJavaAlgoritmia y programacinUNIMINUTO Sede Valle EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,cuadrtica ax2que da solucin a la ecuacin+bx+c=0.1.AnlisisdelproblemaProceso?Algoritmia y programacinUNIMINUTO Sede Valle Salida?Entrada?EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,que da solucin a la ecuacin cuadrtica ax2+bx+c=0.1.Anlisis del problemaEntradas: Los coeficientes a, b, c.Nota:a, b, c son nmerosrealesyaesunnmerodiferentedeceroAlgoritmia y programacinUNIMINUTO Sede Valle EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,cuadrtica ax2que da solucin a la ecuacin+bx+c=0.1.AnlisisdelproblemaProceso?Algoritmia y programacinUNIMINUTO Sede Valle Salida?a,b,cEjemploProblema: Desarrollar un algoritmo que permita calcular el valor de x,que da solucin a la ecuacin cuadrtica ax2 + bx + c = 0.1.Anlisis del problemaSalidas: los valores de x1 y x2,correspondiente alasrazdelaecuacin: ax2+bx+c=0.Algoritmia y programacinUNIMINUTO Sede ValleEjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,cuadrtica ax2que da solucin a la ecuacin+bx+c=0.1.AnlisisdelproblemaProceso?Algoritmia y programacinUNIMINUTO Sede Valle x1, x2a,b,cEjemploProblema: Desarrollar un algoritmo que permita calcular el valor de x,que da solucin a la ecuacin cuadrtica ax2 + bx + c = 0.1.Anlisis del problemaProceso:Formulaparatransformarlaentrada(s)enlasalida(s)Algoritmia y programacinUNIMINUTO Sede Valle EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,cuadrtica ax2que da solucin a la ecuacin+bx+c=0.1.AnlisisdelproblemaAlgoritmia y programacinUNIMINUTO Sede Valle x1, x2a,b,cEjemploProblema: Desarrollar un algoritmo que permita calcular el valor de x,que da solucin a la ecuacin cuadrtica ax2 + bx + c = 0.1.Anlisis del problemaDe que tipoeste caso?(entero,real,texto)sonlasvariablesautilizarenVariablesEntradas a, b, c:?Salidas x1, x2:?Algoritmia y programacinUNIMINUTO Sede Valle EjemploProblema: Desarrollar un algoritmo que permita calcular el valor de x,que da solucin a la ecuacin cuadrtica ax2 + bx + c = 0.1.Anlisis del problemaDe que tipoeste caso?(entero,real,texto)sonlasvariablesautilizarenVariablesa, b, c: realx1, x2: realAlgoritmia y programacinUNIMINUTO Sede Valle EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,que da solucin a la ecuacin cuadrtica ax2 + bx +c=0.2.DisearelalgoritmoyescribirloenpseudocdigoInicioFinAlgoritmia y programacinUNIMINUTO Sede Valle EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,que da solucin a la ecuacin cuadrtica ax2 + bx +c=0.2.Disear el algoritmoyescribirloenpseudocdigoInicioa, b, c: realx1,x2:realFinAlgoritmia y programacinUNIMINUTO Sede Valle EjemploProblema: Desarrollar un algoritmo que permita calcularel valordex,que da solucin a la ecuacin cuadrtica ax2 + bx +c=0.2.Disear el algoritmo yescribirlo en pseudocdigoInicioa, b, c: real x1, x2: realleer (a)leer(b)leer(c)FinAlgoritmia y programacinUNIMINUTO Sede Valle EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,que da solucin a la ecuacin cuadrtica ax2 + bx +c=0.2.Disear el algoritmo yescribirlo en pseudocdigoInicioa, b, c: real x1, x2: realleer(a)leer(b)leer (c)+ ((b*b)-(4*a*c)))/2*a- ((b*b)-(4*a*c)))/2*ax1 =x2 =(-b(-bFinAlgoritmia y programacinUNIMINUTO Sede Valle EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,que da solucin a la ecuacin cuadrtica ax2 + bx +c=0.2.Disear el algoritmo yescribirlo en pseudocdigoInicioa, b, c: real x1, x2: realleer(a)leer(b)leer (c)(-b + ((b*b)-(4*a*c)))/2*a(-b - ((b*b)-(4*a*c)))/2*ax1 =x2 =imprimir (x1)Finimprimir (x2)Algoritmia y programacinUNIMINUTO Sede Valle EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,que da solucin a la ecuacin cuadrtica ax2 + bx +c=0.2.Disear el algoritmo yescribirlo enpseudocdigoInicioa, b, c:realrealx1,x2:leer(a)leer(b)leer(c)(-b + ((b*b)-(4*a*c)))/2*a(-b - ((b*b)-(4*a*c)))/2*ax1 =x2 =imprimir (x1)Finimprimir (x2)Algoritmia y programacinUNIMINUTO Sede Vallea b c x1 X2EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,que da solucin a la ecuacin cuadrtica ax2 + bx +c=0.2.Disear el algoritmoyescribirlo enpseudocdigoInicioa, b, c: real x1, x2: realleer(a)leer(b)leer(c)(-b +(-b -x1 =x2 =((b*b)-(4*a*c)))/2*a((b*b)-(4*a*c)))/2*aimprimir (x1)Finimprimir (x2)Algoritmia y programacinUNIMINUTO Sede ValleA b c x1 x21.0 5.0 6.0EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,que da solucin a la ecuacin cuadrtica ax2 + bx +c=0.2.Disear el algoritmo yescribirlo en pseudocdigoInicioa, b, c: real x1, x2: realleer (a)leer(b)leer (c)(-b +(-b -x1 =x2 =((b*b)-(4*a*c)))/2*a((b*b)-(4*a*c)))/2*aimprimir (x2)imprimir (x1)FinAlgoritmia y programacinUNIMINUTO Sede Valle a b c x1 x21.0 5.0 6.0 -2.0 -3.0EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,que da solucin a la ecuacin cuadrtica ax2 + bx +c=0.2.Disear el algoritmoyescribirlo enpseudocdigoInicioa, b, c: real x1, x2: realleer(a)leer(b)leer(c)(-b +(-b -x1 =x2 =((b*b)-(4*a*c)))/2*a((b*b)-(4*a*c)))/2*aimprimir (x1)Finimprimir (x2)Algoritmia y programacinUNIMINUTO Sede Valle a b c x1 x21.0 5.0 6.0 -2.0 -3.0-3.5 4.0 0.0EjemploProblema: Desarrollar un algoritmo que permita calcular el valordex,que da solucin a la ecuacin cuadrtica ax2 + bx +c=0.2.Disear el algoritmo yescribirlo en pseudocdigoInicioa, b, c: real x1, x2: realleer (a)leer(b)leer (c)(-b +(-b -x1x2==((b*b)-(4*a*c)))/2*a((b*b)-(4*a*c)))/2*aimprimir (x2)imprimir (x1)FinAlgoritmia y programacinUNIMINUTO Sede Vallea b c x1 x21.0 5.0 6.0 -2.0 -3.0-3.5 4.0 0.0 0.0 1.14MetodologaEjerciciosSiguiendo la metodologa propuesta anteriormente, resuelva lossiguientes problemas. Desarrolle un algoritmo que lea el monto de una factura y muestreel valor que se debe pagar por concepto del impuesto del IVA (16%)y el valor total a pagar. Una casa de cambio necesita un programapesos muestre la cantidad correspondiente en el dlar est a $1800)que lea un valor endlares. (Asuma que Desarrolle un algoritmo que permita calculara partir del radio.el rea de un crculo Desarrolle unalgoritmoquepermitaconvertirdegradoscentgrados a grados FahrenheitAlgoritmia y programacinUNIMINUTO Sede Valle MetodologaEjercicios. Supongaque unapersonadeseainvertiruncapitalenunbanco, y desea saber cunto dinero ganar despus de un mes,si el banco paga a razn de 2.8% mensual. Realice el algoritmoque lea el valor a invertir y muestre el valor a ganar. Un vendedor recibe un sueldo base de $420.000 ms un 10%extra por comisin de cada una de sus ventas durante el mes. Elvendedor desea saber cual serel total de la comisin si hizo 3ventas en el mes, y cunto ser el total del dineroque recibir ensu sueldo.Se debeleerelvalordecadaunadelasventasquerealiz el vendedor.Algoritmia y programacinUNIMINUTO Sede Valle