ALGORITMOS
ALGORITMOS
ALGORITMOS
Fecha de Emisin:
FECHA: JULIO
/2011
PERIODO: III
AREA: INFORMATICA GRADO: _______ TIEMPO: 4 HORAS
ASIGNATURA: INFORMATICA DOCENTE: ING WENCEL FRANCO BUELVAS ESTUDIANTE: ________________________________________ GUIA No. _____ TEMA: ALGORITMOS Y DIAGRAMAS DE FLUJO
ELEMENTOS DE COMPETENCIA: * Comprendo y reconozco el concepto de Algoritmo y Diagrama de Flujo, su uso y las caractersticas principales de cada uno. * Identifico los smbolos bsicos en la creacin de Diagramas de Flujo y el Lenguaje utilizado en la elaboracin de un Algoritmo.
En el mbito de la computacin, los Algoritmos son una herramienta que permite describir claramente un conjunto finito de instrucciones, ordenadas secuencialmente y libres de ambigedad, que debe llevar a cabo un computador para lograr un resultado previsible. Vale la pena recordar que un programa de computador consiste de una serie de instrucciones muy precisas y escritas en un lenguaje de programacin que el computador entiende (Logo, Java, Pascal, etc.). EJEMPLO Un procedimiento que realizamos varias veces al da consiste en lavarnos los dientes. Veamos la forma de expresar este procedimiento como un Algoritmo: 1. Tomar la crema dental 2. Destapar la crema dental 3. Tomar el cepillo de dientes 4. Aplicar crema dental al cepillo 5. Tapar la crema dental 6. Abrir la llave del lavamanos 7. Remojar el cepillo con la crema dental 8. Cerrar la llave del lavamanos 9. Frotar los dientes con el cepillo 10. Abrir la llave del lavamanos 11. Enjuagarse la boca 12. Enjuagar el cepillo 13. Cerrar la llave del lavamanos 14. Secarse la cara y las manos con una toalla
EJEMPLO El ejemplo de cambiar una bombilla (foco) fundida es uno de los ms utilizados por su sencillez para mostrar los pasos de un Algoritmo: 1. Ubicar una escalera debajo de la bombilla fundida 2. Tomar una bombilla nueva 3. Subir por la escalera 4. Girar la bombilla fundida hacia la izquierda hasta soltarla 5. Enroscar la bombilla nueva en el plafn hasta apretarla 6. Bajar de la escalera 7. Fin
Dato Curioso
La palabra Algoritmo tiene su origen en el nombre del matemtico Persa "Mohamed ibn Musa al Khwarizmi" (825 d.C.). Su apellido fue traducido al latn como Algorismus y posteriormente paso al espaol como Algoritmo. Khwarizmi fue bibliotecario en la corte del califa al- Mamun y astrnomo en el observatorio de Bagdad. Sus trabajos de lgebra, aritmtica y tablas astronmicas adelantaron enormemente el pensamiento matemtico y fue el primero en utilizar la expresin al-yabr (de la que procede la palabra lgebra). Su trabajo con los algoritmos introdujo el mtodo de clculo utilizando la numeracin arbiga y la notacin decimal. En trminos generales, un Algoritmo debe ser: Realizable: El proceso algortmico debe terminar despus de una cantidad finita de pasos. Se dice que un algoritmo es inaplicable cuando se ejecuta con un conjunto de datos iniciales y el proceso resulta infinito o durante la ejecucin se encuentra con un obstculo insuperable sin arrojar un resultado. Comprensible: D e b e ser claro lo que hace, de forma que quien ejecute los pasos (ser humano o mquina) sepa qu, cmo y cundo hacerlo. Debe existir un procedimiento que determine el proceso de ejecucin. Preciso: El orden de ejecucin de las instrucciones debe estar perfectamente indicado. Cuando se ejecuta varias veces, con los mismos datos iniciales, el resultado debe ser el mismo siempre. La precisin implica determinismo. ACTIVIDA D
Discutir en parejas el ejemplo de la bombilla y proponer algunas mejoras. Luego,un voluntario pasa al tablero y escribe un Algoritmo con participacin de toda la clase. Invitar a los estudiantes a reflexionar sobre el lenguaje que utiliza diariamente para comunicarse con sus padres, hermanos, profesores y compaeros. Utiliza un lenguaje preciso? utiliza vocablos corrientes? A diferencia de los seres humanos que realizan actividades sin detenerse a pensar en los pasos que deben seguir, los computadores son muy ordenados y necesitan que el programador les especifique cada uno de los pasos necesarios y su orden lgico de ejecucin. 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 carnadaal anzuelo ( ) Sacar el pescado del agua ( )
REPRESENTACIN DE ALGORITMOS
Los Algoritmos se puede expresar de muchas maneras, pero en esta gua se tratarn solo dos formas: Seudocdigo y Diagrama de Flujo. En Seudocdigo la secuencia de instrucciones se representa por medio de frases o proposiciones, mientras que en un Diagrama de Flujo se representa por medio de grficos. EJEMPLO Elaborar un Algoritmo para calcular el rea de cualquier tringulo rectngulo y presentar el resultado en pantalla.
SEUDOCDIGO
Paso 1: Inicio Paso 2: Asignar el nmero 2 a la constante "Div" Paso 3: Conocer la base del tringulo y guardarla en la variable "Base" Paso 4: Conocer la altura del tringulo y guardarla en la variable "Altura" Paso 5: Guardar en la variable "A rea"el valor de multiplicar "Base" por "Altura" Paso 6: Guardar en la variable "A rea"el valor de dividir "Area" entre "Div"
D IA G R A M A D E F L U J O
El seudocdigo est compuesto por proposiciones informales en espaol que permiten expresar detalladamente las instrucciones que llevan desde un estado inicial (problema) hasta un resultado deseado (solucin). Los Diagramas de Flujo son una de las tcnicas ms utilizadas para representar grficamente la secuencia de instrucciones de un Algoritmo. Las ventajas de disear un Diagrama de Flujo antes de empezar a generar el cdigo de un programa (Rojas & acato, 1980) son, entre otras: Forzar la identificacin de todos los pasos de una solucin de forma clara y lgica; Establecer una visin amplia y objetiva de la solucin; Verificar si se han tenido en cuenta todas las posibilidades; Comprobar si hay procedimientos duplicados; Representar grficamente una solucin (es ms simple hacerlo con grficas que mediante palabras); Facilitar a otras personas la comprensin de la secuencia lgica de la solucin planteada; Posibilitar acuerdos con base en la aproximacin comn a una solucin de un problema, resolver ambigedades o realizar mejoras; Establecer posibles modificaciones (resulta ms fcil depurar un programa con el diagrama que con el listado del cdigo); Agilizar la codificacin (traduccin) del algoritmo en un lenguaje de programacin; Servir como elemento de documentacin de la solucin del problema.
ACTIVIDA D
Basndonos en la ltima actividad planteada, elaborar un algoritmo en seudocdigo para cada uno de los siguientes problemas:
1. Hallar el permetro de un cuadradocuyo lado mide 5 cm 2. Hallar el rea de un cuad rado cuyo lado mide 5 cm. 3. Hallar uno de los lados de un rectngulo cuya rea es de 15 cm2
cm de apotema.
ACTIVIDA D
Basndonos en la ltima actividad planteada, convertir los algoritmos elaborados en seudocdigo en diagramas de flujo:
1. Hallar el permetro de un cuadradocuyo lado mide 5 cm 2. Hallar el rea de un cuad rado cuyo lado mide 5 cm. 3. Hallar uno de los lados de un rectngulo cuya rea es de 15 cm2
cm de apotema.
Decisin
Indica la comparacin de dos datos y dependiendo del resultado lgico (falso o verdadero) se toma la decisin de seguir un camino del diagrama u otro.
Entrada General
Entrada/Salida de datos en General (en esta gua, solo la usaremos para la Entrada).
Iteracin
Indica que una instruccin o grupo de instrucciones deben ejecutarse varias veces.
Salida Impresa
Indica la presentacin de uno o varios resultados en forma impresa.
Llamada a subrutina
Accin/Proceso General
Indica una accin o instruccin general que debe realizar el computador (cambios de valores de variables, asignaciones, operaciones aritmticas, etc).
Conector
Indica el enlace de dos partes de un diagrama dentro de la misma pgina.
Flujo
Indica el seguimiento lgico del diagrama. Tambin indica el sentido de ejecucin de las operaciones.
Conector
Indica el enlace de dos partes de un diagrama en pginas diferentes.