Taller Uno de Algoritmos

TALLER UNO DE ALGORITMOS JOHN KENY RUIZ INGENIERO MIGUEL ANGEL TOVAR CARDOZO UNIVERSIDAD ANTONIO NARIÑO NEIVA 2016

Views 134 Downloads 18 File size 610KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

TALLER UNO DE ALGORITMOS

JOHN KENY RUIZ

INGENIERO MIGUEL ANGEL TOVAR CARDOZO

UNIVERSIDAD ANTONIO NARIÑO NEIVA 2016

1. QUE ES UN ALGORITMO

Un Algoritmo es una serie ordenada de instrucciones, pasos o procesos que llevan a la solución de un determinado problema. Los hay tan sencillos y cotidianos como seguir la receta del médico, abrir una puerta, lavarse las manos, etc.; hasta los que conducen a la solución de problemas muy complejos. Los Algoritmos permiten describir claramente una serie de instrucciones que debe realizar el computador para lograr un resultado previsible. Vale la pena recordar que un procedimiento de computador consiste de una serie de instrucciones muy precisas y escritas en un lenguaje de programación que el computador. El algoritmo permite partir de un estado inicial y, tras seguir los pasos propuestos, obtener una solución. Los algoritmos suelen estar asociados a las matemáticas (para calcular el cociente de dos números u obtener el máximo común divisor de dos enteros, por ejemplo), aunque no siempre implican la presencia de números. Un manual de instrucciones para el funcionamiento de un electrodoméstico y una serie de órdenes del jefe a un empleado para desarrollar una cierta tarea también pueden ser algoritmos. Esta amplitud de significado permite apreciar que no existe una definición formal y única de algoritmo. El término suele ser señalado como el número finito de pasos para convertir datos de entrada (un problema) en una salida (su solución). De todas formas, algunos algoritmos no tienen final o no resuelven un problema en particular. Existen ciertas propiedades que son comunes a todos los algoritmos, con excepción de los algoritmos paralelos: el tiempo secuencial (los algoritmos funcionan paso a paso), el estado abstracto (cada algoritmo es independiente de su implementación) y la exploración acotada (la transición entre estados queda determinada por una descripción finita y fija).

2. CLASIFICACIÓN Y TIPOS DE ALGORITMOS Se ha clasificado a los algoritmos de diversas formas, de acuerdo con algunos de sus atributos. Por ejemplo: A. Según el sistema de signos con el que describen los pasos a seguir, se reconocen:  

Algoritmos cualitativos: cuando se hace a través de palabras, es decir, las instrucciones son verbales. Sucede, por ejemplo, con recetas de cocina. Algoritmos cuantitativos: cuando se hace a través de cálculos numéricos. Se puede hacer un algoritmo, por ejemplo, para obtener la raíz cuadrada de un número.

B. Según su función, los algoritmos pueden ser:  



Algoritmos de ordenamiento: secuencian los elementos que ingresan a partir de un cierto orden, en general, según un orden numérico o léxico. Algoritmos de búsqueda: al contrario de realizar operaciones o secuenciar elementos, se dedica a encontrar dentro de una lista que ingresa, uno o varios elementos en particular que cumplan con el conjunto de condiciones dadas. Algoritmos de encaminamiento: deciden de qué modo se deberá transmitir algo que llega, y cómo seguirá un conjunto de pasos encadenados. Se dividen fundamentalmente entre adaptativos y estáticos, los primeros con cierta capacidad de aprendizaje y ajuste a la circunstancia, mientras que los segundos funcionan mecánicamente, siempre del mismo modo. Es importante decir que los algoritmos de encaminamiento cuentan con una propia subdivisión, según el camino que se toma para que la transmisión llegue de manera efectiva (ejemplos de estos tipos son: por el camino más corto, de manera óptima, basado en el flujo, etc.).

C. También los algoritmos han sido clasificados según la estrategia que se utiliza para llegar al resultado. Veamos algunos ejemplos: 

Algoritmos probabilísticos: no se puede estar seguro de la exactitud de la respuesta que darán. Se agrupan en distintos subtipos, pero con esa premisa: o bien presentan soluciones aproximadas del problema, o bien presentan soluciones que pueden ser correctas pero también erróneas.



Algoritmo cotidiano: es el que se da en la vida común de las personas, no se aplica en sistemas informáticos ni en nada ajeno al día a día. Muchas de las decisiones que se toman desde que uno se despierta por la mañana pertenecen a este grupo.



Algoritmo heurístico: abandona alguno de los objetivos como recurso para terminar llegando a la solución. En general, son utilizados cuando no existe una solución mediante las vías tradicionales.



Algoritmo de escalada: se comienza con una solución insatisfactoria (que no cumple la entrada y la salida), y se la va modificando aproximándose a lo que se busca. En algún momento, estaremos cerca de (o llegaremos a) la solución correcta.



Algoritmo voraz: Con la idea de llegar a una solución óptima definitiva, elige analizar cada paso como único y elegir la solución óptima para ese paso.



Algoritmo determinista: es completamente lineal (cada paso tiene un paso sucesor y un paso predecesor) y por lo tanto predictivo, si se conocen sus entradas y su forma de proceder. El algoritmo de Euclides, que permite averiguar el máximo común divisor entre dos números, responde a este tipo. Se distinguen de los no deterministas, donde el algoritmo tiene un comportamiento en forma de árbol.

3. TALLER UNO DE ALGORITMOS

1. Diseñar un algoritmo que indique la manera de cómo se debe buscar en el directorio de páginas amarillas el nombre de un almacén.

Inicio Paso 1. ¿Cuentas con un directorio? Paso 2. Si tu respuesta en el paso uno fue “No” deberás conseguir un directorio y seguir con el paso 3. Si tu respuesta en el paso uno fue “Si” sigue con el paso 3. Paso 3. Buscar las páginas amarillas. Paso 4. Buscar por la letra A de almacén. Pasó 5. Buscar el nombre del almacén. Paso 6. ¿Lo encontraste? Paso 7. Si tu respuesta en el paso seis fue “No” fin de la búsqueda. Si tu respuesta en el paso seis fue “Si” continua con el paso ocho. Paso 8. Tomar o escribir los datos del almacén. Fin.



Diseño del algoritmo utilizando diagrama de flujo. Buscar el nombre de un almacén en las páginas amarillas de un directorio.

¿Cuentas con un directorio?

Conseguir un Directorio.

Buscar las páginas amarillas

Buscar por la letra A de almacén

Buscar por el nombre del almacén

¿Lo encontró?

Escribir los datos del almacén

Fin de la búsqueda

Fin de la búsqueda

2. Elaborar un algoritmo que indique la manera de como sacar un carro de un parqueadero. Inicio Paso 1. Meter la llave en la puerta del vehículo. Paso 2. Abrir la puerta Paso 3. Sentarse en el asiento del conductor Paso 4. Echar a andar el motor Paso 5. Si el motor arranca: Paso 6. Poner en reversa la palanca de cambios. Pasar al paso 9. Paso 7. Si el motor no arranca, revisar el combustible, nivel de la batería, etc. repetir paso 4 hasta que la respuesta sea afirmativa Paso 8. Si aun así no arranca, buscar solución alternativa, como comprar combustible, llamar a la grúa, etc. Proceder según la solución alternativa Paso 9. Mirar por el retrovisor si el camino está despejado Paso 10. Si el camino está despejado, pisar el acelerador. Pasar al paso 12. Paso 11. Si el camino no está despejado, esperar a que se despeje. Pasar al Paso 12. Una vez el vehículo haya avanzado hacia atrás la distancia suficiente, girar el volante hasta alcanzar la posición deseada Paso 13. Pisar el freno Paso 14. Cambiar a primera Paso 15. Pisar el acelerador mientras se gira el volante. Fin. 3. La presión, el volumen y la temperatura de una masa de aire se relacionan por la fórmula: Masa = (presión * volumen)/(0.37 * (temperatura + 460)) Algoritmo: Paso 1. Inicio. Paso 2. Leer volumen, presión, temperatura. Paso 3. Calcular m = (presión * volumen) / (0.37 * (temperatura + 460)) Paso 4. Mostrar m. Paso 5. Fin

4. Calcular el número de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la fórmula es: Num_. pulsaciones = (220 - edad)/10

Análisis Entrada: Edad Salida: Numero de Pulsaciones Proceso: Calcular Num. Pulsaciones = (220 - edad)/10 Acciones Atómicas. 1. Inicio 2. Leer la edad. 3. Calcular Np= (220 - edad)/10 4. Mostrar resultado. 5. Fin 

Diseño del algoritmo utilizando diagrama de flujo.

5. Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.

Algoritmo: Paso 1. Digite su salario base anterior Paso 2. ¿Desea saber su nuevo salario? Paso 3. Si tu respuesta en el paso dos fue “No” fin. Si tu respuesta en el paso dos fue “Si” siga al siguiente paso. Paso 4. Si, al salario anterior multiplíquelo por 0,25 Paso 5. El resultado será el incremento el cual será sumado a su salario anterior Paso 6. El resultado será su nuevo salario. Paso 7. Fin

6. En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual del hospital se reparte conforme a la siguiente. tabla: Área Porcentaje del presupuesto Ginecología 40% Traumatología 30% Pediatría 30% Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal. Algoritmo: Paso 1. Inicio Paso 2. Digite el presupuesto anual del hospital Paso 3. ¿Desea saber cuánto le corresponde a cada una de las áreas del hospital? Paso 4. Si, para ginecología, multiplique presupuesto anual por 0.40 Paso 5. El resultado, será el dinero que recibirá ginecología Paso 6. Para traumatología, multiplique presupuesto anual por 0.30 El resultado, será el dinero que recibirá traumatología Paso 7. Para pediatría, multiplique presupuesto anual por 0.30 El resultado, será el dinero que recibirá pediatría. Paso 8. Fin

7. El dueño de una tienda compra un artículo a un precio determinado. Obtener el precio en que lo debe vender para obtener una ganancia del 30%. Análisis. Entrada: Precio de compra Salida: Precio de venta Proceso: Pv = (Pc* 30/100) + Pc Acciones Atómicas 1. Inicio 2. Leer el precio de compra 3. Calcular Pv = (Pc* 30/100) + Pc 4. Mostrar el precio de venta 5. Fin

8. Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra los tiempos obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta en una semana cualquiera. Análisis Entrada: Tiempo que tarda el lunes, tiempo que tarda el miércoles, tiempo que tardo el viernes Salida: Tiempo promedio Proceso: Calcular Tp = (T1+T2+T3) / 3 Acciones atómicas 1. Inicio 2. Leer el tiempo que tarda el día lunes, el día miércoles, y el día viernes. 3. Calcular Tp = (T1+T2+T3) / 3 4. Mostrar Tp

9. Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida. Análisis: Salida: El porcentaje que invierte cada persona respecto a una cantidad total invertida Entrada: El dinero que invierte cada persona, y la cantidad total invertida. Proceso: Calculo %P1= D1 * 100 / Dt, %P2 = D1 * 100 / Dt, %P3 = D3 * 100 / Dt Acciones atómicas: 1. Inicio 2. Leer el dinero que aporta cada persona y la cantidad total invertida 3. Calcular %P1= D1 * 100 / Dt, 4. Calcular %P2 = D1 * 100 / Dt, 5. Calcular %P3 = D3 * 100 / Dt 6. Mostrar %P1, %P2, %P3. 7. Fin

10. Un alumno desea saber cuál será su promedio general en las tres materias mas difíciles que cursa y cuál será el promedio que obtendrá en cada una de ellas. Estas materias se evalúan como se muestra a continuación: La calificación de Matemáticas se obtiene de la sig. Manera: Examen 90% Promedio de tareas 10% En esta materia se pidió un total de tres tareas. La calificación de Física se obtiene de la sig. Manera: Examen 80% Promedio de tareas 20% En esta materia se pidió un total de dos tareas. Análisis Entrada: Nota del examen de cálculo, nota del trabajo1 de cálculo, nota del trabajo 2 de cálculo, nota del trabajo 3 de cálculo. Nota del examen de programación, nota del trabajo 1 de programación, nota del trabajo 2 de programación; nota del examen de introducción a la ingeniería, nota del trabajo 1 de introducción a la ingeniería, nota del trabajo2 de introducción a la ingeniería, nota del trabajo 3 de introducción a la ingeniería, nota del parcial 1 de física, nota del parcial 2 de física, nota del parcial 3 de física, nota del examen final de física, nota del trabajo 1 de física, nota del trabajo 2 de física, nota del trabajo 3 de física. Salida: El promedio de calculo, el promedio de programación, el promedio de introducción de ingeniería, el promedio de física y el promedio general de tres de las materias más fáciles que cursa.

Proceso: 1. Calculo el promedio de cálculo Examen 90% (EC) Promedio de trabajos 10% Tres trabajos en total (TC1, TC2, TC3) PC= (EC * 90 / 100) + (10 * ((TC1 +TC2 +TC3)/ 3)/100) 2. Calculo el promedio de programación Examen 80% (EP) Promedio de trabajos 20% Dos trabajos en total (TP1 + TP2) PP= (EP * 80 / 100) + (20 * ((TP1 + TP2)/ 2) / 100)

3. Calculo el promedio de introducción a la ingeniería Examen 85% (EI) Promedio de trabajos 15% Tres trabajos en total (TI1, TI2, TI3) PI= (EI * 85 / 100) + (15 * ((TI1 +TI2 + TI3)/3) / 100) 4. Calculo el promedio de Física Primer Parcial 15% (PF1) Trabajo 1 5% (TF1) Segundo Parcial 15% (PF2) Trabajo 2 5% (TF2) Tercer Parcial 20% (PF3) Trabajo3 10% (TF3) Examen Final 20% (EF) Trabajos 4 10% (TF4) PF = (15*PF1 / 100) + (5*TF1 / 100) + (15*PF2 / 100) + (5*TF2 / 100) + (20*PF3 / 100) + (10*TF3 / 100) + (20*EF / 100) + (10*TF4 / 100) 5.- Calculo el promedio general de tres de las materias más fáciles que cursa (Cálculo, programación e introducción a la ingeniería) PGn = ( PC + PP + PI) / 3