Introducción al Pensamiento algorítmico.pptx

18
Introducción al Pensamiento algorítmico Dr. Wilian Bravo Escuela de Ciencias Químicas ESPOCH

Transcript of Introducción al Pensamiento algorítmico.pptx

Introduccin al Pensamiento algortmico

Introduccin al Pensamiento algortmicoDr. Wilian BravoEscuela de Ciencias QumicasESPOCH

CONTENIDOQu es un algoritmo?Qu es el pensamiento algortmico?Cmo se comunican los algoritmos?Por qu son importantes los algoritmos?Cules son las propiedades importantes de algoritmos?Un ejemplo - cmo crear un algoritmo Qu es un algoritmo? Un algoritmo es un conjunto de instrucciones paso a paso precisas para la solucin de una tarea. Un algoritmo no resuelve una tarea; ella le da una serie de pasos que, si se ejecuta correctamente, se traducir en una solucin a una tarea. Utilizamos algoritmos cada da, pero que a menudo no hacemos explcitamente pensando acerca de los pasos individuales del algoritmo. Por ejemplo, a partir de su coche, vestirse, iniciando sesin en su ordenador, o para cocinar un plato de comida, estn todos a cabo usando un algoritmo, una serie paso a paso de las acciones. Para un algoritmo sea vlida, cada paso (o instruccin) deben ser: No ambiguo- la instruccin slo puede ser interpretado de una manera nica Ejecutable - la persona o dispositivo de ejecutar la instruccin deben saber cmo llevar a cabo la instruccin sin ninguna informacin adicional. Ordenado - los pasos de un algoritmo deben ser ordenados en una secuencia adecuada para llevar a cabo correctamente la tarea.

EJEMPLO DE ALGORITMO???

Qu es el pensamiento algortmico? Pensamiento algortmico es la capacidad de entender, ejecutar, evaluar y crear algoritmos. Vamos a discutir cada una de estas ideas por separado. Ser un PENSADOR ALGORTMICO necesita la capacidad de comprender y ejecutar algoritmos. Para algunas personas es fcil de seguir una serie de instrucciones precisas, mientras que otras personas les resulta muy difcil. Algunas personas parecen carecer de la paciencia y la diligencia necesaria para seguir un plan paso a paso. Sin embargo, esta es una habilidad valiosa que todas las personas deben dominar. Pensamiento algortmico requiere paciencia debido a que cada instruccin se debe ejecutar en su secuencia correcta sin saltar por delante o "pasando por alto" algunos de la s instrucciones. Adems, pensamiento algortmico requiere diligencia y perseverancia. A menudo es tedioso para seguir los pasos de un algoritmo complejo y la gente a veces no logra completar un algoritmo porque, simplemente, "se dan por vencidos."

El Pensamiento algortmico tambin requiere la capacidad de evaluar algoritmos. Esto implica la determinacin de si un algoritmo realmente resuelve una tarea dada. For example, a "preflight check list" is an algorithm for preparing an aircraft for take off. Suppose you were given the job of determining if a new "preflight check list" for the F35 (Joint Strike Fighter) is correct (checks all systems on the aircraft properly) and complete (does not leave out any important checks). Hopefully you would agree that this is an important job pilot's lives are dependent on getting it right and that getting the check list correct and complete will not be easy. (As a side note, one way to create the preflight check list is to determine the fault of each new aircraft crash and add a new check to the list to prevent future crashes. But the cost in lives and money is too great. We need to get the algorithm correct and complete before the first plane takes to flight to prevent a single aircraft loss!)

Y finalmente, el pensamiento algortmico incluye la capacidad de crear nuevos algoritmos. Este es probablemente el aspecto ms desafiante del pensamiento algortmico. Dada una tarea, se puede crear una serie de precisas, instrucciones paso a paso que siempre resuelve la tarea correctamente? Obviamente, la complejidad de la tarea tiene un gran impacto en la complejidad de un algoritmo que cumplir con la tarea. Las tareas simples puede tpicamente llevarse a cabo con algoritmos simples, mientras que las tareas complejas requieren tpicamente algoritmos ms complejos.

Cmo se comunican los algoritmos? Cada paso (instruccin) de un algoritmo debe indicarse con precisin. Es muy difcil de explicar algoritmos precisamente utilizando slo el idioma Ingls. Por ejemplo, por favor vuelva a leer el ejemplo algoritmo para la fabricacin de "pastel cuadrado de limn congelado " y luego responder a las siguientes preguntas: La leche vienen en envases de diferentes tamaos? Cunta leche contiene 1 lata"? Importa qu tipos de batidores se utiliza para batir a la leche? Es "cucharadita" una cucharadita o una cuchara de mesa?

Muchos lenguajes de programacin se han desarrollado a lo largo de los aos y cada idioma tiene sus propias caractersticas y beneficios especiales. Usted probablemente ha odo hablar de algunos de estos lenguajes, como C, C ++, Pascal, Basic, Java, Perl, Python, y Ada. Se requiere una cantidad significativa de tiempo para aprender un nuevo lenguaje de programacin. Queremos principiantes para convertirse en mejores solucionadores de problemas al convertirse en pensadores algortmicos. Una de las formas ms comunes para expresar algoritmos sin necesidad de utilizar un lenguaje de programacin que se llama diagramas de flujo . Los diagramas de flujo proporcionan una descripcin visual de un proceso paso a paso. El principal inconveniente de utilizar diagramas de flujo es que son tedioso para dibujar y difcil de modificar si se dibujan mano en papel. RAPTORA computer program called RAPTOR was developed by Dr. Carlisle here at USAFA which allows a person to create an algorithm in flowchart form and then actually execute the flowchart to test its validity. Pretty cool! We will discuss the details of how to use RAPTOR in future lessons. United States Air Force Academy

Cules son las propiedades importantes de algoritmos? La siguiente es una lista de algunas de las propiedades importantes de los algoritmos.Propiedad 1: Para una tarea no trivial dada (o conjunto de tareas relacionadas), hay muchos algoritmos posibles para llevar a cabo la tarea. Esto confunde mucho a muchos estudiantes. "Quieres decir que hay ms de una respuesta correcta?" La respuesta es S! Recuerde, un algoritmo no es la solucin a un problema; es un conjunto de instrucciones paso para encontrar una solucin. Propiedad 2: Un algoritmo no codifica la teora que subyace detrs de los pasos de la INSTRUCCIN. Un algoritmo explica cmo realizar una tarea. Si el algoritmo es correcto, y usted sigue las instrucciones exactamente, usted lograr la tarea. Pero es posible que no entienda el porqu de algunos de los pasos. Propiedad 3: Algunos algoritmos son ms eficientes que otros algoritmos. La ejecucin de un algoritmo requiere una cierta cantidad de tiempo. Si se utiliza un algoritmo menudo, su eficiencia se convierte en un problema. Es comn para crear mltiples algoritmos para llevar a cabo una tarea en particular y luego seleccionar el algoritmo ms rpido para incluir en un producto final. Uno de los RETOS es de desarrollo de software es decidir cunto tiempo y esfuerzo que usted debe gastar en la bsqueda y desarrollo de ms algoritmos eficientes.

Propiedad 4: Programas de ordenador que se utilizan desde hace muchos aos por lo general deben ser modificadas con el tiempo para adaptarse a los cambios en los requisitos de la tarea. Los programas de ordenador no son tpicamente objetos estticos. Ellos requieren de "mantenimiento" para mantenerlos con cambios en los requisitos de la tarea. Por ejemplo, un programa informtico que calcula los impuestos de renta debe cambiar todos los aos a medida que cambian las leyes de impuesto sobre la renta. Algunos estudios han demostrado que hasta un 75% de los costos de desarrollo de software son consumidos por el mantenimiento de los programas informticos existentes.

En conclusin, cuando desarrollamos nuevos algoritmos, tratamos de crear una de las muchas posibles secuencias de instrucciones que va a resolver nuestra tarea en cuestin. Idealmente nos gustara que el algoritmo se ejecute rpidamente, que este bien "comentado" y que puede mantener fcilmente en el tiempo. Practica No 3. Creando Algoritmos bsicosCrear un algoritmo utilizado el software RAPTOR, mismo que debe resolver un problema bsico utilizando ecuaciones.Enviar el archivo junto con el tutorial correspondiente.