MIGUELTECNOLOGÍA
I.E.S. JOSÉ SARAMAGO (Humilladero)
Unidad 1: Introducción a la programación
ÍNDICE DE CONTENIDOS Y ACTIVIDADES
SITUACIÓN DE APRENDIZAJE (1)
COMPETICIÓN DE RETOS PARA SOLUCIONAR CON ALGORITMOS
¿Sabes lo que son los algoritmos?
En esta unidad vamos a realizar una competición de resolución de retos con algoritmos.
Previamente, conoceremos el concepto de algoritmo y las distintas estructuras que se pueden utilizar en un algoritmo.
INTRODUCCIÓN A LA PROGRAMACIÓN
Los ordenadores, móviles y otros dispositivos electrónicos funcionan realizando una serie de operaciones en un orden determinado.
A esa lista de órdenes se le llama programa informático.
Para darle esas órdenes al ordenador hay que emplear un lenguaje de programación.
La lista de operaciones que resuelven algún problema paso a paso, se llama Algoritmo.
A menudo utilizamos algoritmos en nuestra vida cotidiana para resolver algunos problemas, realizando un conjunto de tareas ordenadas.
Para hacernos un vaso de leche con cacao seguimos los siguientes pasos:
1º Sacamos la leche de la nevera
2º Cogemos un vaso y una cuchara
3º Cogemos el cacao
4º Echamos leche y cacao en el vaso
5º Removemos con la cuchara
Esta lista de pasos constituye un Algoritmo.
Un programa informático está compuesto de varios algoritmos.
ACTIVIDADES (1)
1. Define los siguientes conceptos: Programa informático, lenguaje de programación, algoritmo.
2. Escribe un algoritmo con los pasos para calentar un vaso de leche con cacao en el microondas.
1.1. Representación de algoritmos
Los algoritmos pueden representarse de varias formas, con frases, como en el ejemplo anterior, mediante gráficos, etc.
Una de las maneras más habituales de representar algoritmos es mediante diagramas de flujo.
Los diagramas de flujo son unos símbolos conectados de arriba a abajo, que representan ordenes que damos al ordenador, según su forma, realizan distintas funciones.
Ejemplo: El diagrama de flujo del ejemplo anterior sería el del margen 👉
ACTIVIDADES (2)
¿Qué es un diagrama de flujo y para qué sirve?
Realiza el diagrama de flujo correspondiente al algoritmo con los pasos a seguir para calentar un vaso de leche con cacao en el microondas.
Para ello, utiliza la siguiente aplicación web: https://app.diagrams.net/
Al iniciar el programa pulsa en "Decidir más tarde", para no tener que registrarte.
1.1.1. El bloque Decisión
Hay veces en las que tenemos que tomar decisiones a lo largo del diagrama, para eso tenemos que utilizar el bloque de Decisión.
En el caso del ejemplo del vaso de leche con cacao, podríamos modificar el final del algoritmo para incluir un bloque de decisión que nos permita decidir si hay suficiente cacao en el vaso o no.
Cuando realizamos un algoritmo, tenemos que tener cuidado de no cometer errores pensando muy bien lo que se hace en cada uno de los bloques o pasos.
Ejemplo: Hemos tenido que separar el bloque "Echamos leche y cacao en el vaso" por dos bloques, "Echamos leche en el vaso" y "Echamos cacao en el vaso", ya que si no hubiese suficiente cacao, añadiríamos más leche, pudiendo llegar a derramarse la leche.
ACTIVIDADES (3)
Modifica el diagrama de flujo correspondiente al algoritmo con los pasos a seguir para calentar un vaso de leche con cacao en el microondas e incluye un bloque de decisión que nos pregunte si la leche está suficientemente caliente o no.
Realiza el diagrama de flujo correspondiente al algoritmo con los pasos a seguir para lavarse los dientes.
Utiliza la siguiente aplicación web: https://app.diagrams.net/
1.1.2. El bloque Entrada / Salida
En algunos algoritmos pedimos datos o sacamos datos por la pantalla, para ello utilizamos el bloque Entrada / Salida.
¿Puedes describir el algoritmo que se representa en el diagrama de flujo del margen? 👉
ACTIVIDADES (4)
Realiza el diagrama de flujo correspondiente al algoritmo con los siguientes pasos:
Te pregunta un número entre 1 y 10
Comprueba si está entre 1 y 10
Te pregunta otro número entre 1 y 10
Comprueba si está entre 1 y 10
Te da el resultado de sumas los dos números
Utiliza la siguiente aplicación web: https://app.diagrams.net/
1.1.3. Estructuras de repetición
A veces necesitamos repetir ciertas acciones varias veces por lo que existen estructuras de repetición o bucles:
Las estructuras de repetición sirven para hacer algoritmos más cortos. Existen dos tipos:
Repetición para siempre
Es el caso del primer ejemplo del margen. 👉
La luz se está encendiendo y apagando indefinidamente.
Este tipo de estructura no tiene bloque de FIN.
Repetición un número de veces
Es el segundo ejemplo del margen. 👉👉
La luz parpadea 10 veces cada segundo y luego el algoritmo termina.
ACTIVIDADES (5)
Realiza el diagrama de flujo correspondiente al algoritmo con los siguientes pasos:
Manda a un robot subir 20 escalones.
Primero tiene que subir la pierna derecha y luego la pierna izquierda.
Cuando llegue al último escalón, el robot tiene que detenerse.
Utiliza la siguiente aplicación web: https://app.diagrams.net/
Hasta ahora hemos visto como crear algoritmos con frases en nuestro lenguaje, pero como dijimos al principio, el lenguaje que entienden los ordenadores y los robots no es el mismo que el nuestro.
El lenguaje que utilizan los equipos para comunicarse entre sí se denomina lenguaje máquina. Este lenguaje consiste en una serie de ceros y unos (datos binarios) que no es comprensible para las personas. Es lo que se denomina lenguaje de bajo nivel.
Cuando una persona escribe un programa, lo hace en un lenguaje de alto nivel, que es comprensible para la misma, pero que tiene que ser transformado en código máquina para que el ordenador pueda interpretarlo.
El compilador o intérprete es el encargado de traducir a código máquina las órdenes que escriben las personas.
2.1. Tipos de lenguaje de programación
Hay muchos lenguajes de alto nivel, unos destinados a un tipo de programas y otros más generales.
Existen lenguajes de programación de tipo texto (Los más usados hoy en día son Java, Python y C++) y lenguajes de programación visuales (También llamados lenguajes gráficos o lenguajes pro bloques).
En el siguiente tema vamos a estudiar un lenguaje visual muy utilizado en el ámbito educativo llamado Scratch.
Entorno de programación de Python
Entorno de programación de Scratch
ACTIVIDADES (6)
1. ¿Qué diferencia hay entre un lenguaje de bajo nivel y un lenguaje de alto nivel?
2. ¿Qué es un compilador?
3. Enumera 5 lenguajes de alto nivel.
En el siguiente vídeo de Youtube podemos ver un resumen del tema:
SITUACIÓN DE APRENDIZAJE (1)
COMPETICIÓN DE RETOS PARA SOLUCIONAR CON ALGORITMOS
Ahora que conocemos los algoritmos y para qué sirven, vamos a realizar una competición de retos para solucionar con algoritmos.
Estas son las reglas de la competición:
ABRE EN CLASSROOM LA ACTIVIDAD LLAMADA "RETOS PARA SOLUCIONAR CON ALGORITMOS"
CUANDO EL PROFESOR LO INDIQUE, REALIZA CADA UNO DE LOS 5 RETOS DE ALGORITMOS QUE SE PROPONEN.
CUANDO TERMINES CADA UNO DE LOS RETOS, INDÍCASELO AL PROFESOR PARA QUE ANOTE TU POSICIÓN EN LA COMPETICIÓN.
LUEGO VEREMOS LAS SOLUCIONES A CADA UNO DE LOS RETOS.
GANARÁ LA COMPETICIÓN QUIEN MÁS RETOS HAYA RESUELTO CORRECTAMENTE EN MENOS TIEMPO.