ejemplos de algoritmos

8
La descripción de un algoritmo usualmente se hace en tres niveles: Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución. Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones. 1 Conceptos Básicos Diagrama de flujo Diagrama de flujo que expresa un algoritmo para calcular la raíz cuadrada de un número x Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO. Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación. Pseudocódigo El pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para

Upload: mike

Post on 17-Aug-2015

216 views

Category:

Documents


3 download

DESCRIPTION

Diferentes clases de Algoritmos

TRANSCRIPT

La descripcin de un algoritmo usualmente se hace en tres niveles:Descripcin de alto nivel. Se establece el problema, seselecciona un modelo matemtico y se explica el algoritmo demanera verbal, posiblemente con ilustraciones y omitiendodetalles.Descripcinformal. Se usa pseudocdigo para describir lasecuencia de pasos que encuentran la solucin.Implementacin. Semuestra el algoritmo expresado enunlenguajedeprogramacinespeccooalg!nobjetocapa"dellevar a cabo instrucciones.1 Conceptos BsicosDiagrama de flujoDiagrama de flujo que expresa un algoritmo para calcular la raz cuadrada de unnmero xLos diagramas de flujo son descripciones grficas de algoritmos; usan smbolosconectados con flechas para indicar la secuencia de instrucciones y estn regidospor I!"Los diagramas de flujo son usados para representar algoritmos peque#os$ ya queabarcan mucho espacio y su construcci%n es laboriosa" &or su facilidad de lecturasonusadoscomointroducci%nalosalgoritmos$ descripci%ndeunlenguajeydescripci%n de procesos a personas ajenas a la computaci%n"Pseudocdigo'l pseudoc%digo (falso lenguaje$ el prefijo pseudo significa falso) es unadescripci%ndealtoni*el deunalgoritmoqueempleaunamezcladelenguajenatural con algunas con*enciones sintcticas propias de lenguajes deprogramaci%n$ como asignaciones$ ciclos y condicionales$ aunque no est regidopor ningn estndar" 's utilizado para describir algoritmos en libros ypublicaciones cientficas$ y como producto intermedio durante el desarrollo de unalgoritmo$ como los diagramas de flujo$ aunque presentan una *entaja importantesobre estos$ y es que los algoritmos descritos en pseudoc%digo requieren menosespacio para representar instrucciones complejas"'l pseudoc%digo est pensado para facilitar a las personas el entendimiento de unalgoritmo$ y por lo tanto puede omitir detalles irrele*antes que son necesarios enuna implementaci%n" &rogramadores diferentes suelen utilizar con*encionesdistintas$ que pueden estar basadas en la sintaxis de lenguajes de programaci%nconcretos" in embargo$ el pseudoc%digo$ en general$ es comprensible sinnecesidad de conocer o utilizar un entorno de programaci%n especfico$ y es a la*ezsuficientementeestructuradoparaquesuimplementaci%nsepuedahacerdirectamente a partir de +l",s el pseudoc%digo cumple con las funciones antes mencionadas pararepresentar algo abstracto los protocolos son los lenguajes para la programaci%n"Implementacin-uchos algoritmos son ideados para implementarse en un programa" inembargo$ los algoritmos pueden ser implementados en otros medios$ como unaredneuronal$ uncircuitoel+ctricoounaparatomecnicoyel+ctrico" ,lgunosalgoritmos inclusi*e se dise#an especialmente para implementarse usando lpiz ypapel" 'l algoritmo de multiplicaci%n tradicional$ el algoritmo de 'uclides$ la cribade 'rat%stenes y muchas formas de resol*er la raz cuadrada son s%lo algunosejemplos"Variableson elementos que toman *alores especficos de un tipo de datos concreto" Ladeclaraci%n de una *ariable puede realizarse comenzando con *ar"&rincipalmente$ existen dos maneras de otorgar *alores iniciales a *ariables.1. -ediante una sentencia de asignaci%n"2. -ediante un procedimiento de entrada de datos (por ejemplo. /read/)"Estructuras secuencialesLa estructura secuencial es aquella en la que una acci%n sigue a otra ensecuencia" Las operaciones se suceden de talmodo que la salida de una es laentrada de la siguiente y as sucesi*amente hasta el fin del proceso" La asignaci%nde esto consiste$ en el paso de *alores o resultados a una zona de la memoria"Dicha zona ser reconocida con el nombre de la *ariable que recibe el *alor" Laasignaci%n se puede clasificar de la siguiente forma.Simples: 0onsiste en pasar un *alor constante a una *ariable (a 1 23)Contador: 0onsiste en usarla como un *erificador delnmero de *eces que serealiza un proceso (a 1 a 4 2)Acumulador: 0onsiste en usarla como un sumador en un proceso (a 1 a 4 b)De trabajo: Donde puede recibir elresultado de una operaci%n matemtica quein*olucre muchas *ariables (a 1 c 4 b5678)"2 Ejercicio 1.Ejercicio 1. Calcular el sueldo de un trabajador, al cual se realizan los siguientes descuentos:Renta = 10%AFP = 6%FSV = 8%Al fnal deber imprimir el nombre del trabajador, su direccin, telfono, salario neto y total de descuento.AnlisisSalida: Nombre, Direccion, Telefono, Sueldo_Neto, Total_Desc.Entrada: Nombre, Direccion, Telefono, Sueldo.Datos Adicionales: 10%, 6%, 8%Proceso: Renta = Sueldo * 0.10 AFP = Sueldo * 0.06 FSV = Sueldo * 0.08Total_Desc = Renta + AFP + FSVSueldo_Neto =Sueldo - Total_DescDiagrama de FlujoPseudocdigoAlgoritmo Calculo_Salario3 Ejercicio 2.Ejercicio 2. Un Alumno desea saber cul ser su promedio general en las tres materias msdifciles que cursa y cul ser el promedio que obtendr en cada una de ellas.Estas materias se evalan como se muestra a continuacin:o Califcacin de Calculo I se obtiene de la siguiente manera: Examen 80%,Promedio de tareas 20%, en esta materiase pidi un total de dos tareas.o La califcacin de Fsica I se obteiene de la siguiente manera:Examen 70%,Promedio de tareas 30%, en esta materia se pidi un total de de tres tareas.o La califcacin de Programacin I se obtiene de la siguiente manera: Examen 85%,Promedio de tareas 15%, en esta materia se pidi un total de de cuatro tareas.Calcular el promedio de un alumno cualquiera por asignatura y total.AnlisisNA= Nombre_Alumno, NC = Numero_Carnet, PC = Promedio_Calculo, PF =Promedio_Fisica, PP = Promedio_Programacion, PG = Promedio_GeneralSalida: NA, NC, PC, PF, PP, PGEC = Examen_Calculo, T1C = Tarea1_Calculo, T2C = Tarea2_Calculo,EF = Examen_Fisica, T1F = Tarea1_Fisica, T2F = Tarea2_Fisica, T3F = Tarea3_Fisica,EP = Examen_Programacion, T1P = Tarea1_Programacion, T2P =Tarea2_Programacion, T3P = Tarea3_Programacion, T4P = Tarea4_ProgramacionEntrada: NA, NC, EC, T1C, T2C, EF, T1F, T2F, T3F, EP, T1P, T2P, T3P, T4PDatos Adicionales:Examen Calculo 80% tareas 20%Examen Fisica 70% tareas 30%Examen Programacin 85% tareas 15%ProcesoPC = EC * 0.80 + (T1C+T2C) / 2 * 0.20PF = EF * 0.70 + (T1F+T2F+T3F) / 3 * 0.30PP = EP * 0.85 + (T1P+T2P+T3P+T4P) / 4 * 0.15PG = (PC+PF+PP) / 3Diagrama de FlujoPseudocdigoAlgoritmo Promedios