prg1 clases03
TRANSCRIPT
Análisis y Diseño de algoritmos.
Ing. JoralJuárez
Introducción.
Luego de analizar detalladamente el problema hasta entenderlocompletamente, se procede a diseñar un algoritmo (trazar un plan) quelo resuelva por medio de pasos sucesivos y organizados en secuencialógica. El concepto intuitivo de algoritmo (procedimientos y reglas) sepuede encontrar en procesos naturales de los cuales muchas veces no sees consciente.
Por ejemplo, el proceso digestivo es un concepto intuitivo de algoritmo
con el que se convive a diario sin que haga falta un definición“matemática” del mismo.
Ing. JoralJuárez
Ejemplo.
Consideremos el algoritmo dedos números enteros positivosdados.
Obsérvese que no se especificacuáles son los dos números,pero si se establece claramenteuna restricción: deben serenteros y positivos.
Ing. JoralJuárez
Paso 1: Inicio.
Paso 2: Leer los dos números (“a” y “b”). Avanzar al paso 3.
Paso 3: Comparar “a” y “b” para determinar cuál es mayor. Avanzar al paso 4.
Paso 4: Si “a” y “b” son iguales, entonces ambos son el resultado esperado y termina el algoritmo. En caso contrario, avanzar al paso 5.
Paso 5: Si “a” es menor que “b”, se deben intercambiar sus valores. Avanzar al paso 6; si “a” no es menor que “b”, avanzar al paso 6.
Paso 6: realizar la operación “a” menos “b”, asignar el valor de “b” a “a” y asignar el valor de la resta a “b”. Ir al paso 3.
Ejercicio.
Un procedimiento que realizamos varias veces al día consiste en lavarnos los dientes. Veamos la forma de expresar este procedimiento como un Algoritmo.
Ing. JoralJuárez
El ejemplo de cambiar un foco quemado es uno de los más utilizados por su sencillez para mostrar los pasos de un Algoritmo.
Características de un Algoritmo.
Realizable: El proceso algorítmicodebe terminar después de unacantidad finita de pasos. Se dice
que un algoritmo es inaplicablecuando se ejecuta con unconjunto de datos iniciales y elproceso resulta infinito o durantela ejecución se encuentra con unobstáculo insuperable sin arrojarun resultado.
Ing. JoralJuárez
Comprensible: Debe ser claro lo que hace, de forma que quien ejecute los pasos (ser humano o
máquina) sepa qué, cómo y cuándo hacerlo. Debe existir un procedimiento que determine el proceso de ejecución.
Características de un Algoritmo.
Preciso: El orden de ejecución delas instrucciones debe estarperfectamente indicado. Cuandose ejecuta varias veces, con losmismos datos iniciales, elresultado debe ser el mismosiempre. La precisión implicadeterminismo.
Ing. JoralJuárez
Actividad.
A diferencia de los seres humanosque realizan actividades sindetenerse a pensar en los pasosque deben seguir, loscomputadores son muyordenados y necesitan que elprogramador les especifique cadauno de los pasos necesarios y suorden lógico de ejecución.
Ing. JoralJuárez
Listar una serie de pasos para realizar una tarea y presentarlos a los estudiantes en forma desordenada para que ellos los ordenen.
Por ejemplo, ordenar los pasos para pescar:
• El pez se traga el anzuelo.
• Enrollar el sedal.
• Tirar el sedal al agua.
• Llevar el pescado a casa.
• Quitar el Anzuelo de la boca del pescado.
• Poner carnada al anzuelo.
• Sacar el pescado del agua.
Actividad.
A diferencia de los seres humanosque realizan actividades sindetenerse a pensar en los pasosque deben seguir, loscomputadores son muyordenados y necesitan que elprogramador les especifique cadauno de los pasos necesarios y suorden lógico de ejecución.
Ing. JoralJuárez
Listar una serie de pasos para realizar una tarea y presentarlos a los estudiantes en forma desordenada para que ellos los ordenen.
Por ejemplo, ordenar los pasos para pescar:
• El pez se traga el anzuelo.
• Enrollar el sedal.
• Tirar el sedal al agua.
• Llevar el pescado a casa.
• Quitar el Anzuelo de la boca del pescado.
• Poner carnada al anzuelo.
• Sacar el pescado del agua.