COLEGIO LUIS CARLOS GALÁN SARMIENTO IED
GUIA DE APRENDIZAJE
GUIA N° AREA ASIGNATURA
01 MEDIA INTEGRADA PROGRAMACIÓN
GRADO CONCEPTOS CLAVES FECHA DE ELABORACIÓN
DÉCIMO Programación, Algoritmos, Diagramas Julio 2020
de flujo
COMPETENCIAS A DESARROLLAR
El estudiante identificará los elementos fundamentales de los algoritmos para el desarrollo de soluciones tecnológicas.
RECURSOS Cuaderno, esfero, colores, lápiz, regla, transportador lápiz, computador.
1. Presentación
1.1. ¿QUÉ ES UN ALGORITMO?
Un algoritmo es un conjunto finito de instrucciones o pasos que sirven
para ejecutar una tarea o resolver un problema. De un modo más formal,
un algoritmo es una secuencia finita de operaciones realizables, no
ambiguas, cuya ejecución da una solución de un problema. El término
algoritmo no está exclusivamente relacionado con las matemáticas,
ciencias de la computación o informática. En realidad, en la vida
cotidiana empleamos algoritmos en multitud de ocasiones para resolver
diversos problemas. Ejemplos son el uso de una lavadora (se siguen las
instrucciones), para cocinar (se siguen los pasos de la receta). También,
existen ejemplos de índole matemática, como el algoritmo de la división
para calcular el cociente de dos números, el algoritmo de Euclides para
calcular el máximo común divisor de dos enteros positivos, o incluso el
método de Gauss para resolver sistemas de ecuaciones. Tomado de
www.inf.utfsm.cl
1.2. HISTORIA DE LOS ALGORITMOS
La palabra algoritmo proviene del nombre del matemático llamado Abu Abdullah Muhammad bin Musa al-Khwarizmi (hay
muchas variantes para el nombre al usar el alfabeto latin, tales como Al-Khorezmi, Al-Khwarizmi, Al-Khawarizmi, Al-
Khawaritzmi o Al-Khowarizmi) que vivió entre los siglos VIII y IX. Su trabajo consistió en preservar y difundir el conocimiento
de la antigua Grecia y de la India. Sus libros eran de fácil comprensión, de ahí que su principal valor no fuera el de crear
nuevos teoremas o nuevas corrientes de pensamiento, sino el de simplificar las matemáticas a un nivel lo suficientemente
bajo para que pudiera ser comprendido por un amplio público. Cabe destacar cómo señaló las virtudes del sistema decimal
indio (en contra de los sistemas tradicionales árabes) y cómo explicó que, mediante una especificación clara y concisa de
cómo calcular sistemáticamente, se podrían definir algoritmos que fueran usados en dispositivos mecánicos similares a un
ábaco en vez de las manos. También estudió la manera de reducir el número de operaciones necesarias que formaban el
cálculo.
Por esta razón, aunque no haya sido él el inventor del primer algoritmo, merece que este concepto esté asociado a su
nombre. Al-Khorezmi fue sin duda el primer pensador algorítmico. Ya en el siglo XIX, se produjo el primer algoritmo escrito
para un computador. La autora fue Ada Byron, en cuyos escritos se detallaban la máquina analítica en 1842. Por ello que es
considerada por muchos como la primera programadora, que, desde Charles Babbage, nadie completó su máquina, por lo
que el algoritmo nunca se implementó. La idea de resolver un problema o de disponer de un algoritmo es bastante antigua,
tal es así, que existía la errada creencia que no había problema que no se pudiera resolver y en base a ello, el matemático
David Hilbert quiso descubrir un algoritmo para los algoritmos. Hoy en día gracias a los trabajos de Kurt Gödel, Alonzo Church
(calculo lamba), Alan Turing (máquina de turing), se sabe que, dentro del universo de problemas, una pequeña parte es
computable, luego que el objetivo que perseguía David Hilbert no era computable, es lo que se ha denominado como la
computabilidad de los algoritmos. Tomado de aprendequeesunalgoritmo.com
1.3. ALGORTIMOS Y LA VIDA COTIDIANA
Hay muchas cosas que queremos llegar saber y aprender en nuestras como también hay otras
que a veces nos preguntamos si realmente nos servirán de algo. Pero es que a veces no nos
fijamos que un conocimiento vasto es algo muy bueno y conveniente. Con esto se quiere llegar
al siguiente punto: “Los algoritmos”. Y es que todo lo que aprendemos en esta vida vale para
algo, como también puede cumplir una función especial en esta. Tan claro como lo es enseñar
las matemáticas que lo están en todo, también ocurre lo mismo con los algoritmos, estos están
en todo lo que hacemos. Primero vamos a dejar en claro ¿qué es un algoritmo? Pues la RAE lo define como el “conjunto
ordenado y finito de operaciones que permita hallar la solución de un problema”.
Esto nos quiere decir que podemos presentar un problema y, que, al nosotros buscar una solución, este lo realizaremos en
varias operaciones agrupadas de forma ordenada y que esto lleve a una conclusión, o sea, tenga un número delimitado de
operaciones
Grafico 1: Algoritmo para hablar por teléfono
Ahora la cuestión es, ¿cómo esto nos puede ayudar en nuestra vida diaria? Tan sencillo como el hecho de saber que todos
tenemos problemas y que tengamos bien sabido que estos pueden llegar a tener una o varias formas de solucionarlos, es
ahí donde los algoritmos aparecen. Estos buscaran de forma clara las operaciones que mejor lo representen, y que mejor
forma de hacerlo que por pasos. De esta manera se puede dejar detallada la solución al problema. Tomado de aulatec.com
1.4. CARACTERISTICAS DE LOS ALGORITMOS:
Las características fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada
vez.
Un algoritmo debe ser finito. el algoritmo se debe terminar en algún momento; o sea, debe tener un número finito
de pasos.
Un algoritmo debe ser legibles: El texto que lo describe debe ser claro, tal que permita entenderlo y leerlo fácilmente.
Un algoritmo debe definir tres partes: Entrada, Proceso y Salida. Ejemplo: el algoritmo de receta de cocina se
tendrá:
Entrada: ingrediente y utensilios.
Proceso: elaboración de la receta en la cocina.
Salida: terminación del plato (por ejemplo, Pollo al horno)
1.5. TIPOS DE ALGORITMOS
1.5.1. Pseudocódigo:
En ciencias de la computación, y análisis numérico, el
pseudocódigo (o falso lenguaje) es una descripción de alto
nivel compacta e informal del principio operativo de un
programa informático u otro algoritmo.
Utiliza las convenciones estructurales de un lenguaje de
programación real, pero está diseñado para la lectura
humana en lugar de la lectura mediante máquina, y con
independencia de cualquier otro lenguaje de programación.
Normalmente, el pseudocódigo omite detalles que no son
esenciales para la comprensión humana del algoritmo, tales
como declaraciones de variables, código específico del
sistema y algunas subrutinas. El lenguaje de programación
se complementa, donde sea conveniente, con descripciones
detalladas en lenguaje natural, o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de
entender para las personas que el código del lenguaje de programación convencional, ya que es una descripción eficiente y
con un entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto
y publicaciones científicas que se documentan varios algoritmos, y también en la planificación del desarrollo de programas
informáticos, para esbozar la estructura del programa antes de realizar la efectiva codificación. Tomado de Wikipedia
Ejemplos de pseudocódigo:
Gráfico 2. Tipos de pseudocódigo aplicados.
1.5.2. Diagrama de flujo:
Un diagrama de flujo es una representación gráfica de un
algoritmo. Cada paso del proceso es representado por un símbolo
diferente que contiene una breve descripción de la etapa de
proceso. Los símbolos gráficos del flujo del proceso están unidos
entre sí con flechas que indican la dirección de flujo del proceso. El
diagrama de flujo ofrece una descripción visual de las actividades
implicadas en un proceso mostrando la relación secuencial ente
ellas, facilitando la rápida comprensión de cada actividad y su
relación con las demás, el flujo de la información y los materiales,
las ramas en el proceso, la existencia de bucles repetitivos, el número
de pasos del proceso, las operaciones de interdepartamentales… Facilita también la selección de indicadores de proceso.
Sintaxis
Indaguemos juntos:
1. ¿Cómo se resuelve un algoritmo en pseudocódigo?
2. ¿Cómo se resuelve un algoritmo en diagrama de flujo?
3. ¿Cómo se codifica un algoritmo en PSEINT?
2. Manos a la obra
Elabora a partir de la explicación en clase acerca del desarrollo de algoritmos diseñe el algoritmo y el diagrama de
flujo de datos los siguientes ejercicios:
1. Suma de tres números dividido por la resta de otros dos números.
2. Sumatoria y promedio de la edad de cinco personas.
3. Conversión de dólares a pesos colombianos.
4. Programa para identificar el I.M.C.
5. Programa para liquidar el IVA de un producto.
6. Programa que solicite una contraseña y la muestre en pantalla.
7. Programa para verificar la edad de una persona utilizando su año de nacimiento y el año actual.
8. Programa que halle el área de un triángulo.
9. Programa que lea primer nombre, segundo nombre, primer apellido, segundo apellido y muestre el nombre
completo.
10. Programa que convierta un valor fraccionario a decimal.
3. Analicemos en contexto
- ¿Por qué es importante para ti la programación para la vida diaria? Diseña un mapa de ideas sobre esta
pregunta.
- En equipos: FORO 1: Elaboremos un video explicando las temáticas contenidas en esta guía de aprendizaje.
4. Te reto a… Bonus track.
Resuelve los siguientes algoritmos:
1. Diseñe un algoritmo que calcule la edad a partir del ingreso del año de nacimiento.
2. La Fórmula para calcular cuántos vasos de agua corresponde a tomar el peso en libras y dividirlo en 16, para
este cálculo debe tenerse en cuenta que cada unidad dada en el resultado corresponde a un vaso de 8 onzas.
La idea es saber cuántos litros debe tomar cada persona.
SUBE TU RESPUESTA EN EL FORO2: BONUS TRACK PARTICIPA.
Bibliografía:
- Knuth, D. E. The Art of Computer Programming
- Mamber, U. Introduction to Algorithms. A Creative Approach.
- Sedgewick, R. Algorithms in C (3r ed)