Algoritmos

54 %
46 %
Information about Algoritmos

Published on March 12, 2014

Author: mayelly_79

Source: slideshare.net

ALGORITMOSALGORITMOS RepasoRepaso

AlgoritmoAlgoritmo Un algoritmo es un conjunto ordenado yUn algoritmo es un conjunto ordenado y finito de instrucciones que conducen a lafinito de instrucciones que conducen a la solución de un problema.solución de un problema. Si un algoritmo puede ser ejecutado porSi un algoritmo puede ser ejecutado por una computadora, se dice que es ununa computadora, se dice que es un algoritmo computacionalalgoritmo computacional; en caso; en caso contrario, se dice que es uncontrario, se dice que es un algoritmo noalgoritmo no computacionalcomputacional..

Figura Problema, algoritmo y programa Todo algoritmo debe tener las siguientes características: •Debe ser preciso, es decir, cada instrucción debe indicar de forma inequívoca que se tiene que hacer. •Debe ser finito, es decir, debe tener un número limitado de pasos. •Debe ser definido, es decir, debe producir los mismos resultados para las mismas condiciones de entrada.

Todo algoritmo puede ser descompuestoTodo algoritmo puede ser descompuesto en tres partes:en tres partes: Entrada de datos.Entrada de datos. Proceso.Proceso. Salida de resultados.Salida de resultados.

Ejemplo 1:-Ejemplo 1:- Algoritmo para preparar cevicheAlgoritmo para preparar ceviche de bonito para 6 personas.de bonito para 6 personas. Entradas :Entradas : - 1 kilo de bonito- 1 kilo de bonito - 3 camotes sancochados- 3 camotes sancochados - 3 cebollas cortadas a lo largo- 3 cebollas cortadas a lo largo - 1 rocoto en rodajas- 1 rocoto en rodajas - 3 ramas de apio picado- 3 ramas de apio picado - 2 ramitas de culantro picado- 2 ramitas de culantro picado - 4 vasos de jugo de limón- 4 vasos de jugo de limón - 4 cucharadas de ajo molido- 4 cucharadas de ajo molido - 2 cucharadas de ají amarillo molido- 2 cucharadas de ají amarillo molido - sal y pimienta- sal y pimienta Proceso :Proceso : - Cortar la carne de pescado en pequeños trozos.- Cortar la carne de pescado en pequeños trozos. - Mezclar la carne con el jugo de limón, el ajo, la pimienta, el culantro, el ají- Mezclar la carne con el jugo de limón, el ajo, la pimienta, el culantro, el ají amarillo y el apio.amarillo y el apio. - Dejar reposar 30 minutos.- Dejar reposar 30 minutos. - Agregar sal al gusto y echar las cebollas cortadas.- Agregar sal al gusto y echar las cebollas cortadas. - Servir acompañando el cebiche con el camote sancochado y el rocoto en- Servir acompañando el cebiche con el camote sancochado y el rocoto en rodajasrodajas Salida :Salida : El cevicheEl ceviche

Ejemplo 1.2:-Ejemplo 1.2:- Algoritmo para expresar en centímetros yAlgoritmo para expresar en centímetros y pulgadas una cantidad dada en metros.pulgadas una cantidad dada en metros. Entrada:Entrada: La cantidad M de metrosLa cantidad M de metros Proceso:Proceso: Cálculo de centímetros : C = M*100Cálculo de centímetros : C = M*100 Cálculo de pulgadas : P = C/2.54Cálculo de pulgadas : P = C/2.54 Salida :Salida : La cantidad C de centímetros y laLa cantidad C de centímetros y la cantidad P de pulgadascantidad P de pulgadas

El PseudocódigoEl Pseudocódigo El pseudocódigo es un lenguaje deEl pseudocódigo es un lenguaje de pseudoprogramación utilizado parapseudoprogramación utilizado para escribirescribir algoritmos computacionalesalgoritmos computacionales..

VariablesVariables Una variable es una localización o casillero en laUna variable es una localización o casillero en la memoria principal que almacena un valor quememoria principal que almacena un valor que puede cambiar en el transcurso de la ejecuciónpuede cambiar en el transcurso de la ejecución del programa.del programa. Cuando un programa necesita almacenar unCuando un programa necesita almacenar un dato, necesita una variable.dato, necesita una variable. Toda variable tiene unToda variable tiene un nombrenombre, un, un tipo de datotipo de dato y uny un valorvalor.. Antes de poder utilizar una variable es necesarioAntes de poder utilizar una variable es necesario declararla especificando sudeclararla especificando su nombrenombre y suy su tipo detipo de datodato. Para declarar variables usaremos los. Para declarar variables usaremos los siguientes formatos:siguientes formatos:

VariablesVariables Declaración de una variable:Declaración de una variable: tipo nombretipo nombre Declaración de varias variables con el mismo tipo de dato:Declaración de varias variables con el mismo tipo de dato: tipo nombre1, nombre2, nombre3, ..., nombrentipo nombre1, nombre2, nombre3, ..., nombren Donde:Donde: tipotipo Es el tipo de dato de la variable que puede ser: ENTERO (si la variableEs el tipo de dato de la variable que puede ser: ENTERO (si la variable almacenará un número entero) , REAL (si la variable almacenará unalmacenará un número entero) , REAL (si la variable almacenará un número decimal) , CARACTER (si la variable almacenará un carácter),número decimal) , CARACTER (si la variable almacenará un carácter), CADENA (si la variable almacenará un conjunto de carácteres) o LOGICOCADENA (si la variable almacenará un conjunto de carácteres) o LOGICO (si la variable almacenará el valor(si la variable almacenará el valor verdaderoverdadero o el valoro el valor falsofalso).).nombre1,nombre1, nombre2, ..., nombrennombre2, ..., nombren Nombres de las variables.Nombres de las variables.

Declaración de variables.Declaración de variables. La siguiente instrucción declara la variableLa siguiente instrucción declara la variable edadedad de tipode tipo ENTEROENTERO y la variabley la variable descuentodescuento de tipo REAL.de tipo REAL. ENTEROENTERO edadedad REALREAL descuentodescuento Esto crea los casilleros de memoriaEsto crea los casilleros de memoria edadedad yy descuentodescuento.. Luego de la creación, las variables están indefinidas ( ? ).Luego de la creación, las variables están indefinidas ( ? ).

Declaración de variables.Declaración de variables. La siguiente instrucción declara las variablesLa siguiente instrucción declara las variables nota1nota1,, nota2nota2 yy nota3nota3, todas de tipo, todas de tipo ENTEROENTERO.. ENTEROENTERO nota1, nota2, nota3nota1, nota2, nota3 Esto crea los casilleros de memoriaEsto crea los casilleros de memoria nota1nota1,, nota2nota2 yy nota3nota3.. Luego de la creación, las variables están indefinidas ( ? ).Luego de la creación, las variables están indefinidas ( ? ).

LiteralesLiterales Se denominan literales a todos aquellosSe denominan literales a todos aquellos valoresvalores queque figuran en el pseudocódigo y pueden ser:figuran en el pseudocódigo y pueden ser: Literales enterosLiterales enteros 12, 20300, 15, etc.12, 20300, 15, etc. Literales realesLiterales reales 3.1416, 2345.456, etc.3.1416, 2345.456, etc. Literales de carácterLiterales de carácter 'a', 'B', ';', '<', '+', etc.'a', 'B', ';', '<', '+', etc. Lieterales de cadenaLieterales de cadena "Hola", "Algoritmos Computacionales", etc."Hola", "Algoritmos Computacionales", etc. Literales lógicosLiterales lógicos verdadero, falsoverdadero, falso

Instrucciones AlgorítmicasInstrucciones Algorítmicas BásicasBásicas EntradaEntrada Consiste en obtener un dato de un dispositivo deConsiste en obtener un dato de un dispositivo de entrada, como el teclado, y almacenarlo en una variable.entrada, como el teclado, y almacenarlo en una variable. En general, la acción de ingresar un dato a unaEn general, la acción de ingresar un dato a una variablevariable se expresa en el pseudocódigo mediante la palabrase expresa en el pseudocódigo mediante la palabra LEERLEER, de la siguiente forma:, de la siguiente forma: LEERLEER variablevariable Por ejemplo, la instrucción:Por ejemplo, la instrucción: LEERLEER estaturaestatura Solicita el ingreso de un valor, desde algún dispositivoSolicita el ingreso de un valor, desde algún dispositivo de entrada (como el teclado), para la variablede entrada (como el teclado), para la variable estaturaestatura..

Instrucciones AlgorítmicasInstrucciones Algorítmicas BásicasBásicas SalidaSalida Consiste en mostrar el valor de una variable en unConsiste en mostrar el valor de una variable en un dispositivo de salida, como la pantalla. En general, ladispositivo de salida, como la pantalla. En general, la acción de mostrar el valor de unaacción de mostrar el valor de una variablevariable se expresase expresa en el pseudocódigo mediante la palabraen el pseudocódigo mediante la palabra IMPRIMIRIMPRIMIR de lade la siguiente forma:siguiente forma: IMPRIMIRIMPRIMIR variablevariable Por ejemplo, la instrucción:Por ejemplo, la instrucción: IMPRIMIRIMPRIMIR importeCompraimporteCompra Muestra, en algún dispositivo de salida (como la pantalla),Muestra, en algún dispositivo de salida (como la pantalla), el valor de la variableel valor de la variable importeCompraimporteCompra..

Instrucciones AlgorítmicasInstrucciones Algorítmicas BásicasBásicas AsignaciónAsignación Consiste en asignar a unaConsiste en asignar a una variablevariable el valor deel valor de unauna expresiónexpresión. La expresión puede ser una. La expresión puede ser una simple variable, un simple literal o unasimple variable, un simple literal o una combinación de variables, literales ycombinación de variables, literales y operadores. La asignación se expresa en eloperadores. La asignación se expresa en el pseudocódigo de la siguiente forma:pseudocódigo de la siguiente forma: variable = expresiónvariable = expresión DondeDonde variablevariable y el valor dey el valor de expresiónexpresión debendeben tener el mismo tipo de dato.tener el mismo tipo de dato.

Ejemplo:-Ejemplo:- Algoritmo para expresar en centímetros yAlgoritmo para expresar en centímetros y pulgadas una cantidad dada en metros.pulgadas una cantidad dada en metros. Esta es una solución en pseudocódigo delEsta es una solución en pseudocódigo del ejemplo anterior utilizando conceptosejemplo anterior utilizando conceptos computacionales de variable, entrada decomputacionales de variable, entrada de datos y salida de resultados. La solucióndatos y salida de resultados. La solución considera que 1 metro = 100 centímetrosconsidera que 1 metro = 100 centímetros y que 1 pulgada = 2.54 centímetros.y que 1 pulgada = 2.54 centímetros.

Operadores aritméticosOperadores aritméticos

Reglas de jerarquía de losReglas de jerarquía de los operadores aritméticosoperadores aritméticos

Expresiones LógicasExpresiones Lógicas

Expresiones LógicasExpresiones Lógicas

Estructuras de SecuenciaEstructuras de Secuencia Una estructura secuencial es aquella en laUna estructura secuencial es aquella en la que las instrucciones están una aque las instrucciones están una a continuación de la otra siguiendo unacontinuación de la otra siguiendo una secuencia única, sin cambios de ruta. Lasecuencia única, sin cambios de ruta. La estructura secuencial tiene una entrada yestructura secuencial tiene una entrada y una salida.una salida. En la Figura se muestra el diagrama deEn la Figura se muestra el diagrama de flujo y el pseudocódigo de una estructuraflujo y el pseudocódigo de una estructura secuencial.secuencial.

Ejercicio 1Ejercicio 1:- Diseñe un pseudocódigo que halle el área y el perímetro:- Diseñe un pseudocódigo que halle el área y el perímetro de un rectángulo. Considere que: area = base x altura yde un rectángulo. Considere que: area = base x altura y perimetro = 2 x (base+altura).perimetro = 2 x (base+altura).

Ejemplo 2Ejemplo 2:- Diseñe un pseudocódigo para convertir una:- Diseñe un pseudocódigo para convertir una longitud dada en metros a sus equivalentes en centímetros,longitud dada en metros a sus equivalentes en centímetros, pies, pulgadas y yardas. Considere que: 1 metro = 100pies, pulgadas y yardas. Considere que: 1 metro = 100 centímetros, 1 pulgada = 2.54 centimetros, 1 pie = 12centímetros, 1 pulgada = 2.54 centimetros, 1 pie = 12 pulgadas, 1 yarda = 3 pies.pulgadas, 1 yarda = 3 pies.

Estructuras de SelecciónEstructuras de Selección Las estructuras de selección son estructuras deLas estructuras de selección son estructuras de control utilizadas para la toma decisiones dentrocontrol utilizadas para la toma decisiones dentro de un programa. A estas estructuras se conocende un programa. A estas estructuras se conocen también comotambién como estructuras selectivasestructuras selectivas oo estructuras de decisiónestructuras de decisión y son las siguientes:y son las siguientes: La estructura de selección simple (La estructura de selección simple (SISI).). La estructura de selección doble (La estructura de selección doble (SI-SINOSI-SINO).). La estructura de selección múltiple (La estructura de selección múltiple (SEGUNSEGUN))

Estructuras de SelecciónEstructuras de Selección La estructura de selección simple permiteLa estructura de selección simple permite ejecutar una acción o un grupo deejecutar una acción o un grupo de acciones sólo si se cumple unaacciones sólo si se cumple una determinada condición. Así, en el gráficodeterminada condición. Así, en el gráfico siguiente, si la condición es verdadera sesiguiente, si la condición es verdadera se ejecuta la acciónejecuta la acción accionaacciona; en caso; en caso contrario, no se hace nada.contrario, no se hace nada.

ejemploejemplo Por ejemplo, si se desea cambiar el signo de unPor ejemplo, si se desea cambiar el signo de un número únicamente en caso que sea negativo,número únicamente en caso que sea negativo, podemos escribir:podemos escribir: SISI( numero < 0 )( numero < 0 ) numero = -1 * numeronumero = -1 * numero Si el número no es negativo, simplemente estaSi el número no es negativo, simplemente esta estructura se pasaría por alto y se continuaríaestructura se pasaría por alto y se continuaría en la siguiente instrucción después delen la siguiente instrucción después del SISI..

Estructura de SelecciónEstructura de Selección Doble SI - SINODoble SI - SINO La estructura de selección doble permiteLa estructura de selección doble permite seleccionar una ruta de dos rutas posibles enseleccionar una ruta de dos rutas posibles en base a la verdad o falsedad de una condición.base a la verdad o falsedad de una condición. Así, en la Figura siguiente, si la condición esAsí, en la Figura siguiente, si la condición es verdadera, se ejecuta la acción A; en casoverdadera, se ejecuta la acción A; en caso contrario, se ejecuta la acción B.contrario, se ejecuta la acción B. En la Figura se muestra el diagrama de flujo y elEn la Figura se muestra el diagrama de flujo y el pseudocódigo de la estructura de selecciónpseudocódigo de la estructura de selección doble.doble.

ejemploejemplo Por ejemplo, la siguiente estructura de selección doblePor ejemplo, la siguiente estructura de selección doble determina si una persona es mayor o menor de edad:determina si una persona es mayor o menor de edad: SISI( edad >= 18 )( edad >= 18 ) estadoestado == "Mayor de edad""Mayor de edad" SINOSINO estadoestado == "Menor de edad“"Menor de edad“ Esto imprime "Mayor de edad" si la persona tiene 18Esto imprime "Mayor de edad" si la persona tiene 18 años ó más e imprime "Menor de edad" si la personaaños ó más e imprime "Menor de edad" si la persona tiene menos de 18 años. En cualquiera de los casos,tiene menos de 18 años. En cualquiera de los casos, después de efectuar la impresión, se ejecutará ladespués de efectuar la impresión, se ejecutará la primera instrucción que sigue a la estructuraprimera instrucción que sigue a la estructura SI...SINOSI...SINO..

Estructura de Selección DobleEstructura de Selección Doble en Cascada SI-SINO-SIen Cascada SI-SINO-SI La estructura de selección doble enLa estructura de selección doble en cascada esta formada por variascascada esta formada por varias estructuras de selección doble SI-SINOestructuras de selección doble SI-SINO puestas una a continuación de otra depuestas una a continuación de otra de forma que a un SI-SINO le sigue otro SI-forma que a un SI-SINO le sigue otro SI- SINO.SINO.

ejemploejemplo Por ejemplo, la siguiente estructura de selección doble en cascada determina elPor ejemplo, la siguiente estructura de selección doble en cascada determina el signo de un número entre positivo, negativo o cero:signo de un número entre positivo, negativo o cero: SISI( n > 0 )( n > 0 ) signosigno == "Positivo""Positivo" SINOSINO SISI( n < 0 )( n < 0 ) signosigno == "Negativo""Negativo" SINOSINO signosigno == "Cero""Cero" Usando el otro formato tendríamos:Usando el otro formato tendríamos: SISI( n > 0 )( n > 0 ) signosigno == "Positivo""Positivo" SINO SISINO SI( n < 0 )( n < 0 ) signosigno == "Negativo""Negativo" SINOSINO signosigno == "Cero""Cero"

Estructura de Selección MúltipleEstructura de Selección Múltiple SEGUNSEGUN La estructura de selección múltipleLa estructura de selección múltiple SEGUNSEGUN permite elegir una ruta de entrepermite elegir una ruta de entre varias rutas posibles, en base al valor devarias rutas posibles, en base al valor de una variable que actúa comouna variable que actúa como selectorselector. La. La estructura compara el valor delestructura compara el valor del selectorselector con las constantes c1, c2, ..., cn en ordencon las constantes c1, c2, ..., cn en orden descendente. En el momento en que sedescendente. En el momento en que se encuentre una coincidencia, se ejecuta laencuentre una coincidencia, se ejecuta la acción correspondiente a dicha constanteacción correspondiente a dicha constante y se abandona la estructura.y se abandona la estructura.

ejemploejemplo Por ejemplo, la siguiente estructura de selecciónPor ejemplo, la siguiente estructura de selección múltiple determina el nombre de la estación delmúltiple determina el nombre de la estación del año conociendo el número de la estación (1año conociendo el número de la estación (1 para Primavera, 2 para Verano, 3 para Otoño ypara Primavera, 2 para Verano, 3 para Otoño y 4 para Invierno) :4 para Invierno) : SEGUNSEGUN(numeroEstacion)(numeroEstacion){{ CASOCASO 11 :: nombreEstacion = "Primavera"nombreEstacion = "Primavera" CASOCASO 2 : nombreEstacion = "Verano"2 : nombreEstacion = "Verano" CASOCASO 3 : nombreEstacion = "Otoño"3 : nombreEstacion = "Otoño" DEFECTO :DEFECTO : nombreEstacion = "Invierno"nombreEstacion = "Invierno" }}

Ejercicio 1:-Ejercicio 1:- En una playa de estacionamiento cobran $ 2.5 por hora oEn una playa de estacionamiento cobran $ 2.5 por hora o fracción. Diseñe un algoritmo que determine cuanto debe pagar unfracción. Diseñe un algoritmo que determine cuanto debe pagar un cliente por el estacionamiento de su vehículo, conociendo el tiempo decliente por el estacionamiento de su vehículo, conociendo el tiempo de estacionamiento en horas y minutos.estacionamiento en horas y minutos.

EjercicioEjercicio Una tienda ha puesto en oferta la venta al porUna tienda ha puesto en oferta la venta al por mayor de cierto producto, ofreciendo unmayor de cierto producto, ofreciendo un descuento del 15% por la compra de más de 3descuento del 15% por la compra de más de 3 docenas y 10% en caso contrario. Además pordocenas y 10% en caso contrario. Además por la compra de más de 3 docenas se obsequiala compra de más de 3 docenas se obsequia una unidad del producto por cada docena enuna unidad del producto por cada docena en exceso sobre 3. Diseñe un algoritmo queexceso sobre 3. Diseñe un algoritmo que determine el monto de la compra, el monto deldetermine el monto de la compra, el monto del descuento, el monto a pagar y el número dedescuento, el monto a pagar y el número de unidades de obsequio por la compra de ciertaunidades de obsequio por la compra de cierta cantidad de docenas del producto.cantidad de docenas del producto.

diagrama de flujodiagrama de flujo Un diagrama de flujo es la representaciónUn diagrama de flujo es la representación gráfica de un proceso.gráfica de un proceso. Un diagrama de flujo tiene como objetivoUn diagrama de flujo tiene como objetivo facilitarnos la comprensión de un algoritmo ofacilitarnos la comprensión de un algoritmo o simplificar el análisis de un proceso.simplificar el análisis de un proceso. El diagrama de flujo consta de símbolos comoEl diagrama de flujo consta de símbolos como cuadros, rombos, óvalos, etc. que representan acuadros, rombos, óvalos, etc. que representan a cada uno de los pasos a seguir durante uncada uno de los pasos a seguir durante un proceso.proceso. Estos símbolos están conectados por flechas deEstos símbolos están conectados por flechas de un solo sentido y nos indican la secuencia enun solo sentido y nos indican la secuencia en que se van desarrollando las distintas tareas.que se van desarrollando las distintas tareas.

TareaTarea Hacer los 15 ejercicios de algoritmos conHacer los 15 ejercicios de algoritmos con algún simulador de diagramas de flujo,algún simulador de diagramas de flujo, por ejemplo PSEINT, DFD u otro quepor ejemplo PSEINT, DFD u otro que conozcan.conozcan.

Add a comment

Related presentations

Related pages

Algoritmo - Wikipedia, la enciclopedia libre

Como medida de la eficiencia de un algoritmo, se suelen estudiar los recursos (memoria y tiempo) que consume el algoritmo. El análisis de algoritmos se ha ...
Read more

Algoritmos – Dentro de Google – Google

Algoritmos Quieres la respuesta, no billones de páginas web. Los algoritmos son programas informáticos que buscan pistas para ...
Read more

Algorithms, Part II - Princeton University | Coursera

Algorithms, Part II from Princeton University. This course covers the essential information that every serious programmer needs to know about algorithms ...
Read more

Definición de algoritmo - Qué es, Significado y Concepto

Según los expertos en matemática, los algoritmos permiten trabajar a partir de un estado básico o inicial y, tras seguir los pasos propuestos, llegar a ...
Read more

Algorithm - Wikipedia, the free encyclopedia

Algorithm versus function computable by an algorithm: For a given function multiple algorithms may exist. This is true, even without expanding the ...
Read more

Algorithms – Inside Search – Google

Algorithms are the computer processes and formulas that take your questions and turn them into answers. Today Google’s algorithms rely on more ...
Read more

Jeff Erickson's Algorithms, Etc. - University of Illinois ...

Algorithms, Etc. by Jeff Erickson January 2015 revision. This page contains lecture notes and other course materials for various algorithms classes I have ...
Read more

Spigot algorithm - Wikipedia, the free encyclopedia

A spigot algorithm is an algorithm for computing the value of a mathematical constant such as π or e which generates output digits left to right, with ...
Read more

Fundamentos de programación/Algoritmos y programas ...

¿Qué es un algoritmo? Por algoritmo, se entiende a un conjunto finito de instrucciones que se deben seguir para resolver un problema. No obstante, desde ...
Read more