Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Algoritmos y Estructuras Algoritmos y Estructuras de Datosde Datos Parte Parte –– PrPráácticactica Que debemos saber?Que debemos saber? Definir un algoritmoDefinir un algoritmo Diferentes herramientas utilizadas para representar Diferentes herramientas utilizadas para representar algoritmos algoritmos Tipos de datos utilizados en los algoritmosTipos de datos utilizados en los algoritmos Tipos de operacionesTipos de operaciones Elementos que se emplean para construir un Elementos que se emplean para construir un algoritmo:algoritmo: •• ConstanteConstante •• Variables Variables •• ContadoresContadores •• AcumuladoresAcumuladores •• Estructuras repetitivasEstructuras repetitivas •• Estructuras selectivasEstructuras selectivas Que es un Algoritmos?Que es un Algoritmos? Es un mEs un méétodo para resolver paso a paso todo para resolver paso a paso un determinado problema.un determinado problema. El algoritmo debe ser:El algoritmo debe ser: PRECISO (dividir el problema)PRECISO (dividir el problema) DEFINIDO (igual resultado)DEFINIDO (igual resultado) FINITO (menor cantidad de pasos)FINITO (menor cantidad de pasos) DefiniciDefinicióón de un Algoritmosn de un Algoritmos ENTRADAENTRADA PROCESOPROCESO SALIDASALIDA Ingresar dos números enteros mayores a 50 Determinar si los números ingresados son pares o impares Mostar el resultado por pantalla RepresentaciRepresentacióónn Diagrama de FlujoDiagrama de Flujo Diagrama NDiagrama N--SS Forma NarrativaForma Narrativa FFóórmulasrmulas SEUDOCODIGOSEUDOCODIGO Tipos de DatosTipos de Datos Datos SimplesDatos Simples NumNumééricos ricos Enteros (positivos, negativos van 32768 al Enteros (positivos, negativos van 32768 al --32767),32767), Reales (positivos, negativos, punto decimal)Reales (positivos, negativos, punto decimal) LLóógicosgicos Verdadero/falsoVerdadero/falso CarCaráácter cter AlfabAlfabééticos (A, Bticos (A, B……Z)Z) NumNumééricos (1,2ricos (1,2…….).) Especiales (<, >, *, /, Especiales (<, >, *, /, --)) Tipos de OperacionesTipos de Operaciones MatemMatemááticasticas •• Suma Suma •• Resta Resta •• DivisiDivisióón n •• MultiplicaciMultiplicacióón n •• ExponencialExponencial •• DivDiv •• ModMod LLóógicasgicas •• OrOr •• AndAnd •• NotNot RelacionalesRelacionales •• Igual Igual •• Desigual Desigual •• Mayo/MenorMayo/Menor •• Mayor /Menor igual Mayor /Menor igual Elementos que se emplean para Elementos que se emplean para construir un algoritmoconstruir un algoritmo VariableVariable: es aquel valor que cambia : es aquel valor que cambia durante la ejecucidurante la ejecucióón del algoritmosn del algoritmos ConstanteConstante: es aquel valor que permanece : es aquel valor que permanece durante toda la ejecucidurante toda la ejecucióón del programa.n del programa. Elementos que se emplean para Elementos que se emplean para construir un algoritmoconstruir un algoritmo ContadorContador: es una variable cuyo valor se : es una variable cuyo valor se incrementa o incrementa o decrementadecrementa en una cantidad en una cantidad constante en cada interacciconstante en cada interaccióón.n. AcumuladorAcumulador: es una variable cuyo valor se : es una variable cuyo valor se incrementa o incrementa o decrementadecrementa sumar otra sumar otra variable.variable. Elementos que se emplean para Elementos que se emplean para construir un algoritmoconstruir un algoritmo Estructuras SecuencialEstructuras Secuencial es aquella en que es aquella en que una acciuna accióón sigue a otra en secuencia.n sigue a otra en secuencia. Estructuras SelectivasEstructuras Selectivas se la utiliza para se la utiliza para tomar decisiones ltomar decisiones lóógicas. Se evalgicas. Se evalúúa una condicia una condicióón n y en funciy en funcióón del resultado de la misma se realiza n del resultado de la misma se realiza una opciuna opcióón.n. Pueden ser:Pueden ser: •• SimpleSimple •• DoblesDobles •• MMúúltiplesltiples Elementos que se emplean para Elementos que se emplean para construir un algoritmoconstruir un algoritmo Estructuras RepetitivasEstructuras Repetitivas repiten una repiten una secuencia de acciones un nsecuencia de acciones un núúmero mero determinado de veces.determinado de veces. Pueden ser Pueden ser •• MIENTRASMIENTRAS •• REPETIRREPETIR •• DESDE/PARADESDE/PARA PresentaciPresentacióón de Trabajo Prn de Trabajo Práácticoctico PresentaciPresentacióón Individualn Individual 1 copia en digital1 copia en digital 1 copia en papel1 copia en papel Con anCon anáálisis para aquellos algoritmos que lisis para aquellos algoritmos que se requieran del mismo.se requieran del mismo. Fecha de entrega: 22/05/2008Fecha de entrega: 22/05/2008 Algoritmos y Estructuras Algoritmos y Estructuras de Datosde Datos Parte Parte –– PrPráácticactica 29 29 -- Mayo Mayo -- 20082008 Subprogramas/Subprogramas/SubagoritmosSubagoritmos TTéécnica cnica ““Divide y VencerDivide y Vencerááss”” Dividir el problema principal en problemas mDividir el problema principal en problemas máás s pequepequeñños, mos, máás sencillos, mas fs sencillos, mas fáácil de resolver.cil de resolver. Cada parte independiente (subproblema) se denomina Cada parte independiente (subproblema) se denomina ““Subprogramas o Subalgoritmos”” Subprogramas/Subprogramas/SubalgoritmosSubalgoritmos Existen dos tipos importantes de Subprogramas:Existen dos tipos importantes de Subprogramas: •• Funciones Funciones •• ProcedimientosProcedimientos Programa Programa PrincipalPrincipal SubprogramaSubprograma retorno - 1 llam ada o invo caci ón - 2 llamada o invocación - 1 retorno - 2 FuncionesFunciones MatemMatemááticamente es una operaciticamente es una operacióón que toma uno n que toma uno o mo máás valores llamados argumentos y produce un s valores llamados argumentos y produce un valor denominado resultado.valor denominado resultado. Las funciones solo devuelven un Las funciones solo devuelven un úúnico valor. nico valor. Las funciones internas son las incorporadas al Las funciones internas son las incorporadas al sistemas.sistemas. Las funciones externas son las definidas por el Las funciones externas son las definidas por el usuario.usuario. DeclaraciDeclaracióón de Funcionesn de Funciones ((JustJust Basic)Basic) functionfunction Raizcuadrada(valorRaizcuadrada(valor)) RaizcuadradaRaizcuadrada = valor ^ 0.5= valor ^ 0.5 endend functionfunction Llamada de FuncionesLlamada de Funciones ((JustJust Basic)Basic) Ejemplo:Ejemplo: PrintPrint ““La Raiz Cuadrada de 120 La Raiz Cuadrada de 120 es:es:””;Raizcuadrada(120);Raizcuadrada(120) ProcedimientoProcedimiento Es un programa autEs un programa autóónomo que ejecuta nomo que ejecuta determinadas acciones devolviendo cero, uno o determinadas acciones devolviendo cero, uno o varios resultados acorde a los parvarios resultados acorde a los paráámetros metros enviados.enviados. Es Es úútil cuando se necesita que determinado til cuando se necesita que determinado proceso se ejecute y devuelva el control al proceso se ejecute y devuelva el control al programa principal, por ejemplo ordenar una programa principal, por ejemplo ordenar una serie de nserie de núúmeros.meros. DeclaraciDeclaracióón de Procedimientos n de Procedimientos ((JustJust Basic)Basic) subsub MensajeMensaje printprint ““Sr. Usuario la informaciSr. Usuario la informacióón n ingresado es incorrectaingresado es incorrecta”” endend subsub callcall MensajeMensaje Llamada de ProcedimientoLlamada de Procedimiento ((JustJust Basic)Basic) DefiniciDefinicióón Variables n Variables Variable LocalVariable Local es aquella que estes aquella que estáá declarada y definida dentro del declarada y definida dentro del subprograma.subprograma. Variable GlobalVariable Global es aquella que estes aquella que estáá declara para todo el programa o declara para todo el programa o algoritmos principal.algoritmos principal. ParParáámetros por Valormetros por Valor ((JustJust Basic)Basic) x=5.3x=5.3y=7.2y=7.2 resultado=resultado=sumaentero(x,ysumaentero(x,y)) printprint””xx==““;x;x printprint””yy==““;y;y printprint resultadoresultado endend functionfunction sumaentero(a,bsumaentero(a,b)) a = a = int(aint(a)) b = b = int(bint(b)) sumaenterosumaentero=a+b=a+b endend fuctionfuction ParametrosParametros por Referenciapor Referencia ((JustJust Basic)Basic) x=5.3x=5.3 y=7.2y=7.2 resultado=resultado=sumaentero(x,ysumaentero(x,y)) printprint””xx==““;x;x printprint””yy==““;y;y printprint resultadoresultado endend functionfunction sumaentero(byrefsumaentero(byref a, a, byrefbyref b)b) a = a = int(aint(a)) b = b = int(bint(b)) sumaenterosumaentero=a+b=a+b endend fuctionfuction Ejemplo en Ejemplo en JustJust BasicBasic En un CINECLUB de la ciudad de Córdoba se realizan proyecciones de películas de diferentes géneros. Cuando un cliente desea ver una película, se dirige a la boletería del cineclub y solicita la cantidad de entradas que necesita. El boletero pregunta al cliente si es socio, y en caso de serlo, solicita su número de documento y verifica su asociación, ya que a los socios se les realiza un descuento del 30% del valor de las entradas (siempre y cuando tenga las cuotas al día). El boletero busca la proyección de la película solicitada y verifica que todavía existan entradas disponibles para la venta, en caso de ser así, realiza el cobro y registra la venta emitiendo un ticket que entrega al cliente/socio junto con las entradas. Los clientes que no son socios deben abonar el 100% del valor de la entrada. AnAnáálisis de Resolucilisis de Resolucióónn ENTRADAENTRADA PROCESOPROCESO SALIDASALIDA Ingreso de socio o cliente Cantidad de entradas solicitadas Cantidad de asiento en sala El precio del boleto Variable de cierre Realizar descuento 30% Descontar asientos según entradas vendidas Contar entradas vendidas Restar con respecto a a los asientos en sala Sumar socio Sumar cliente Sumar total de cada ticket Ticket Cantidad de entradas vendidas Cantidad de asientos disponibles Dinero total recaudado Cantidad de boletos vendidos a Socio Cantidad de boletos vendidos a Clientes Algoritmos y Estructuras de Datos Que debemos saber? Que es un Algoritmos? Definición de un Algoritmos Representación Tipos de Datos Tipos de Operaciones Elementos que se emplean para construir un algoritmo Elementos que se emplean para construir un algoritmo Elementos que se emplean para construir un algoritmo Elementos que se emplean para construir un algoritmo Presentación de Trabajo Práctico Algoritmos y Estructuras de Datos Subprogramas/Subagoritmos Subprogramas/Subalgoritmos Funciones Declaración de Funciones�(Just Basic) Llamada de Funciones�(Just Basic) Procedimiento Declaración de Procedimientos (Just Basic) Definición Variables Parámetros por Valor�(Just Basic) Parametros por Referencia�(Just Basic) Ejemplo en Just Basic Análisis de Resolución
Compartir