Módulo: Programación

Documentos relacionados
Scratch: Técnicas de programación

Programar en TortuBots

Un Lenguaje para Aprender a Programar Jugando

Scratch. Parte 1. Elaborado por: Prof. Miguel Mejía C. Lógica de Programación Didáctica. Fácil y divertida

Tema: Estructuras de Selección en C#.

TEMA 7: INICIO A LA PROGRAMACIÓN CON SCRATCH

mblock y sus bloques de programación

Descripción general del lienzo de programación

Software Software de de Control y Automatización WeDo

El bloque switch (Interruptor) - LEGO MINDSTORMS EV3

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados.

Guía paso a paso para la creación de un proyecto Scratch

Alumnado de 5º y 6º de Primaria de los modelos A/G y D

Scratch. Parte 1. Elaborado por: Prof. Miguel Mejía C. Lógica de Programación Didáctica. Fácil y divertida. (1ª Parte)

PC-01 Introducción al Pensamiento Computacional

Tema: Entorno a C# y Estructuras Secuenciales.

Tema: Entorno a C# y Estructuras Secuenciales.

Se necesita algo que encienda una ampolleta, interruptor o controlador. Se necesita que la ampolleta se encienda y se apague.

Colegio Agustiniano Ciudad Salitre Área de Tecnología e Informática Guía de Apoyo 2017 Bimestre: III Grado: Cuarto Docente: Jorge Torres

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.

Mueve el Objeto hacía adelante o hacía atrás. Rota el Objeto en el sentido de las manecillas del reloj.

Introducción a Scratch

QUÉ ES MBOT? Conectores RJ25

Tipos de Datos de python (2ª parte):

Tema: Estructuras de Selección en C#.

Programación Estructurada

TUTORIAL DE TORTUGARTE

Tema: Estructuras de Selección en C#.

ROBÓTICA EDUCATIVA INTRODUCCIÓN OBJETIVOS

PRÁCTICAS SCRATCH. Vamos a diseñar un acuario con varios peces moviéndose. En este caso la animación muestra dos características interesantes:

Una animación en Scratch, consiste en intercambiar un disfraz, al mezclar varias imágenes de un objeto, este aparenta un movimiento.

Fundamentos para programación y robótica Módulo 2 Programación y robótica Capítulo 1 Conociendo TortuBots

INTRODUCCIÓN A LA PROGRAMACIÓN. 1º Bachillerato

Scratch. Parte 1. Elaborado por: Prof. Miguel Mejía C. Lógica de Programación Didáctica. Fácil y divertida. (2ª Parte)

Bloque 1. Guía paso a paso Scratch 2.0

Clase 2: El Lenguaje Python

Programación Geometría Matemáticas

Sílabo ARDUINO Y SENSORES. Especialista en Robótica Arduino. (24 Horas) INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PRIVADO COORDINACIÓN ACADÉMICA

Robótica y Programación de Videojuegos

Cómo abordamos la enseñanza de la programación?

Unidad Robótica Aplicada I. Sesión 01 Comunícate con Robots

COLEGIO AGUSTINIANO CIUDAD SALITRE AREA DE TECNOLOGÍA E INFORMATICA GRADO OCTAVO PLANEACION PERIÓDICA SEGUNDO BIMESTRE

Expresiones y Operadores

PROGRAMACIÓN CON SCRATCH

MANUAL DE PICOBOARD Y PROGRAMACIÓN CON SCRATCH.

Programando con Eventos y Acciones

El programa en JavaScript debe ir encerrado entre la marca script e inicializada la propiedad type con la cadena text/javascript:

Juego Jarras con Agua Guía del Usuario

FIRST LEGO League (FLL) Workshop de Programación con LEGO Mindstorms EV3

Guía de Robótica LEGO MINDSTORMS NXT

Fundamentos para programación y robótica Módulo 2 Programación y robótica Capítulo 3 TortuBots y NXT

1. Detalle de los Comandos:

Ejemplo de Palabras reservadas del lenguaje C

Introducción a la Ingeniería de sistemas 90013

Guía rápida para manejarse con Pro-Bot

MÁSTER EN DIDÁCTICA DE LA TECNOLOGÍA MODERNA

Tema: CREACIÓN DE FORMULAS Y FUNCIONES EN MICROSOFT EXCEL 2013.

INTRODUCCIÓN A LA MATEMÁTICA DISCRETA PRÁCTICA 1

Butiá. Agenda. Robótica educativa Objetivos Proyecto Butiá Conceptos sobre robótica Conceptos de programación Programando con TurtleBots

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

introducción a la computación

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

4- Creamos a nuestro personaje: el satélite. 5- Le quitamos el fondo, lo achicamos y lo colocamos en la parte superior de la pantalla.

NOCIONES BASICAS DE Miguel Iván Bobadilla

Figura Robot Filoguiado

V 1.0. Ing. Juan C. Guarnizo B.

1. Qué es App Inventor 2? 2. Requisitos para utilizar AI2

Robótica. Un robot...

Curso de Java Introducción a la Programación III

Guía de iniciación del. Controlador Crumble. El puente entre Scratch y Arduino

Capítulo 3. Sentencias condicionales

El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan

INSTITUTO SUPERIOR DE EDUCACION RURAL ISER FUNDAMENTOS DE PROGRAMACION

Primeros pasos programando en Python

TURTLEBOTS Guía de uso Mayo 2017

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros

PROPUESTA DE INTEGRACIÓN DE CENTRO DE ROBÓTICA Y PROGRAMACIÓN

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

MALLA CURRICULAR JÓVENES PROGRAMADORES

Tema 3. Estructuras de Datos

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (mientras)

Guía de inicio rápido para profesores

Conocimientos previos

Cómo describir un diagrama de flujo en pseudocódigo?

Propuesta Extraescolares Primaria

Taller de Videojuegos. Pedro J. Camacho

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

Proyectos Primeros pasos

INSTITUTO TECNOLÓGICO

crear con Scratch Materiales de inicio a la programacion creativa

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

Área de Educación Tecnológica. Tecnología de los Procesos Productivos II. 3 Año. Programación de la CIUDAD DIGITAL EL PARQUE DE DIVERSIONES

Transcripción:

Módulo: Programación Desarrollando pensamiento computacional 1. ALGORITMOS a. Lenguajes de Programación Un lenguaje, es un sistema de comunicación dentro de un contexto. El lenguaje humano se realiza a través de la voz, mensajes hablados o escritos, cartas, etc. Cuando se analiza la solución a un problema, se idea un algoritmo, este algoritmo en qué lenguaje es desarrollado? Obviamente cuando vamos pensando en cada paso, lo pensamos en nuestro lenguaje, el español. Pero, las computadoras no entienden español, se necesita un lenguaje especial para poder comunicarnos con ella. Estos lenguajes son los llamados lenguajes de programación [1]. Las personas en el mundo usan lenguajes como español, inglés, chino, portugués, etc. Las computadoras utilizan lenguajes como python, java, etc. 1

Existen otro tipo de lenguajes de programación, que introducen a principiantes al mundo de la programación de una forma más creativa y práctica, los lenguajes gráficos por bloques como el de LEGO WeDo o Scratch [2]. 2. INTRODUCCIÓN A WEDO a. Bloques Software Lego WeDo [3] Bloques de Control de Flujo Bloque de inicio de programa Play Inicio de programa al presionar una tecla Inicio de programa al recibir un mensaje Recibe como valores letras y números. 2

Envió de mensajes Envía como valores letras y números. Tiempo de espera Repeticiones Actuadores Sentido de rotación horaria Sentido de rotación anti-horaria Potencia del motor Recibe números del 1 al 10 Apagar el motor Tiempo de encendido del motor Recibe valores numéricos Sensores Sonido Inclinación Mide la cantidad de sonido del ambiente Detecta 6 posiciones 3

Movimiento Detecta movimiento Tipos de datos Valor en pantalla Muestra el valor almacenado en pantalla Números Texto Número aleatorio Números de 1 al 10 Manejo de datos Emitir sonido Recibe valores del 1 al 20 Mostrar valor en pantalla Recibe números y letras Mostrar fondo de pantalla Recibe valores de 1 al 20 Realizar operaciones matemática en pantalla 4

3. INTRODUCCIÓN A SCRATCH a. Bloques Scratch para Lego WeDo WeDo tiene adaptación de Scratch para programarlo mediante bloques, realizada por el MIT, para poder desarrollar proyectos con el kit educativo LEGO WeDo [2]. Para poder controlar los dispositivos electrónicos del kit LEGO WeDo es necesario tener instalado Scratch 1.4 para Windows. Scratch tiene varios menús para desarrollar programas de hasta avanzado nivel. Bajo el nombre del software se listan todos los bloques de instrucciones disponibles en las siguientes categorías: Movimiento, Apariencia, Sonido, Lápiz, Control, Sensores, Operadores y Variables. Cada instrucción se puede probar individualmente simplemente haciendo doble clic sobre ella. Movimiento Apariencia Sonido Lápiz Control Sensores Operadores Variables Mueve objetos y cambia ángulos. Controla el aspecto visual del objeto, añade bocadillos de habla o pensamiento, cambia el fondo, ampliar o reducir. Reproduce ficheros de audio y secuencias programables. Control del ancho, color e intensidad del lápiz. Sentencias condicionales "if-else", "forever", "repeat" y "stop". Los objetos pueden interactuar con el ambiente que ha creado el usuario. Operadores matemáticos, generador aleatorio de números, sentencias "and" y "or" que comparan posiciones de los objetos. Agregar variables. Valores que son almacenados en memoria 5

Los principales bloques para trabajar con el kit LEGO WeDo los explicamos a continuación, pero no nos limitamos al uso de solo estos bloques. Bloques de Control de Flujo MENÚ CONTROL Bloque de inicio de programa Presionar Bandera Verde Inicio de programa al presionar una tecla Inicio de programa al recibir un mensaje Envió de mensajes Recibe valores como letras y números. Envía valores como letras y números. Tiempo de espera Condicional Si (condición) entonces., sino Las condiciones deben ser igualdades o desigualdades. Repetir infinitamente Repetir un número de veces 6

Actuadores Sentido de rotación horaria Sentido de rotación anti-horaria Potencia del motor Recibe números del 1 al 100. Apagar el motor Tiempo de encendido del motor Recibe valores numéricos. Sensores Sonido Inclinación Movimiento Mide la cantidad de sonido del ambiente. Devuelve un número del 1 al 4. Mide la distancia de 0 a 100. Tipos de datos Scratch acepta tipos de datos numéricos y texto. Manejo de datos En manejo de datos vamos a encontrar muchos otros bloques, los que presentamos en este documento son aquellos que tienen una función equivalente en el software LEGO WeDo. 7

Emitir sonido Menú SONIDO Mostrar valor en pantalla. Recibe operaciones matemáticas o valores tipo texto. Menú APARIENCIA Mostrar fondo de pantalla Realizar operaciones matemáticas Opciones de Escenario. Menú APARIENCIA Menú OPERADORES b. Sentencias Condicionales en Scratch - Condiciones Alguna vez ha escuchado o utilizado frases como Si no terminas la tarea entonces no veras televisión Mientras estés castigado no puedes salir con tus amigos Por cada vez que riegues las plantas obtendrás un sol Siempre hay una condición para esto, otra condición para aquello Cuando se habla de algoritmos también tenemos condiciones que rigen nuestro programa [1]. A = 10 Qué hace este programa?... B = 15 Si A > B es verdadero, entonces: Sino: Mostrar en display 10 Si el valor de A es mayor que el valor de B, entonces en pantalla aparecerá un mensaje con el texto 10. De otra forma aparecerá un mensaje con el texto 9 8

Las condiciones se basan principalmente en la comparación de dos valores, se evalúa si una expresión es verdadera o falsa, utilizamos operaciones de igualdad y desigualdad. En el lenguaje gráfico de Scratch, el equivalente del programa anterior es: El gato dice 9 porque la condición 10 > 15 es falsa. Intente el siguiente programa. Pregunte por un número y verifiquemos si este es mayor que 10. Condición 9

Cuando la condición es verdadera Cuando la condición es falsa En el Software LEGO WeDo las condiciones se trabajan de manera diferente. En WeDo no puedo comparar valores, las únicas condiciones serán en base a los sensores y dentro de un bloque repetir [3], por ejemplo: Repetir mientras sensor de movimiento detecta movimiento, hacer: Mover motor durante 3 segundos. 10

4. SENTENCIAS DE CONTROL DE FLUJO a. Envío de Mensajes En algún momento de su vida ha escrito una carta o un e-mail para comunicar acciones que haya tomado y/o este por realizar. Por ejemplo, anunciar una visita, un viaje, una compra, una venta, etc. muchos pueden ser los motivos; la persona que reciba la misiva también tomará una acción en torno al mensaje recibido. En computación también existe envió de mensajes. En este caso no son personas quienes lo realizan sino programas. Un programa envía un mensaje, y el programa que recibe el mensaje realiza una función según el mensaje que haya recibido. Veamos algunos ejemplos: b. Scratch En Scratch el envío de mensajes es de objeto a objeto, de objeto a escenario y de escenario a objeto. Qué es un objeto? Son todas las imágenes agregadas a nuestro proyecto que cumplan un determinado rol [4]. Un ejemplo sencillo de envío de mensajes en Scratch, sería: La simulación en un ambiente en el que el objeto gato está en un hotel y quiere ir a la biblioteca a leer un libro. Entonces: 1. Se necesita una imagen de fondo de pasillo 2. Se necesita una imagen de fondo de biblioteca 3. Para que el objeto gato cruce el pasillo debe avanzar X pasos. 4. Cuando el objeto gato termine de cruzar el pasillo debe enviar un mensaje para que cambien el fondo 11

5. Una vez que el fondo haya sido cambiado, el objeto escenario le envía un mensaje a todos los objetos para que gato aparezca nuevamente Veamos cómo funciona nuestro programa. El objeto gato se posiciona en el punto (- 160,100) en la puerta Luego va a avanzar 10 pasos y esperar 0.2 segundos, esto se repetirá 30 veces. Con este pequeño programa ya logramos que el gato llegue al otro lado del pasillo. Inténtalo! Ahora envía el mensaje fondo a todos avisando que ya llego al final del pasillo y que el fondo debe ser cambiado por uno de biblioteca. El gato parece que entró a otra habitación! Hacemos clic sobre escenario y en su zona de programas le decimos: Cuando reciba el mensaje fondo cambia el fondo de pasillo a biblioteca, luego que avise a todos, mediante el mensaje biblio, que ya hizo el cambio y espere. 12

Volvemos a los programas de los objetos y le decimos a gato que cuando reciba el mensaje biblio aparezca nuevamente en su posición inicial. Listo!! Para ver el programa en funcionamiento, puedes descargar el proyecto: EjemploScratch.rar. Abre el programa de Scratch 1.4 y pinchar sobre la bandera verde. c. Software LEGO WeDo En el software de LEGO WeDo, el envío de mensajes es de programa a programa dentro de un mismo proyecto. Recordar que en este software no se puede utilizar operaciones como condiciones [3]. Vamos a utilizar nuestro proyecto de Robot Espacial Curiosity, que debe estar construido previamente. 13

Para hacer el programa de envío de mensajes se necesita un control de mando que le indique al robot cuando ir hacia adelante y cuando retroceder, para esta idea utilizaremos el sensor de inclinación. Se puede tomar como ejemplo, el mando construido en la siguiente imagen: Sensor de inclinación Fuente: Rockbotic Entonces, el algoritmo quedaría de la siguiente manera: 1. Cuando el sensor de inclinación detecte la posición adelante, enviará un mensaje con el texto avanzar. 2. Cuando el sensor de inclinación detecte la posición atrás, enviara un mensaje con el texto retroceder. 3. Programa recibe mensaje avanzar, mueve el motor en sentido horario durante 1segundo. 4. Programa recibe mensaje retroceder, mueve el motor en sentido anti horario durante 1segundo. Se obtiene el siguiente programa: 14

En el software LEGO WeDo, podemos usar el paso de mensajes como un condicional, podemos estructurar nuestro programa como: Si sensor de inclinación detecta posición adelante, entonces: segundo. Mover el motor en sentido horario durante 1 Sino: Mover el motor en sentido anti horario 15

5. ASPECTOS COMUNES DE PROGRAMACIÓN a. Tipos de Datos - La Información y los Datos La computadora procesa y ejecuta y serie de instrucciones, mediante algoritmos. Dentro de un algoritmo, se manipula datos e interpreta información [1]. 5 peras 2 naranjas 1 plátano Ana comió 5 peras, 2 naranjas, y 1 plátano en el recreo de hoy. Estas sentencias no tienen sentido. Solo son un conjunto de palabras. Esto sí tiene sentido. A esto le llamamos información. A esto le llamamos DATOS. Los datos son valores que carecen de sentido. La información es un conjunto de datos que infieren un conocimiento. 16

b. Operadores matemáticos y lógica proposicional Como se describió en secciones anteriores, los menús que posee Scratch son variados, uno de ellos es el menú Operadores, donde encontramos los bloques de suma, resta, multiplicación y división. Los bloques de lógica proposicional también se ubican dentro de este menú. Se tiene el siguiente problema: María Fernanda es profesora de inicial, su sueldo asciende a 850 soles; se requiere calcular su sueldo neto, descontando su aporte al seguro social (9%) y su fondo de pensiones (13%) Datos: Seguro social = 850 * 0.09 Fondo de pensiones = 850 * 0.13 17

Sueldo neto = sueldo - (Seguro social - Fondo de pensiones) Otro ejemplo: En un colegio la nota aprobatoria de un estudiante depende de otras tres notas importantes: teoría, práctica y comportamiento. En el curso de matemática un estudiante obtuvo 13 en teoría, 17 en la parte práctica, y 15 en comportamiento. Un estudiante se considera aprobado, si al menos aprobó teoría o práctica; pero si o si debe aprobar comportamiento. La nota mínima es 14. Datos: Teoría = 13 Práctica = 17 Conducta = 15 18

Bibliografía [1] J. G. Brookshear, Computer Science an Overview, Mexico: PEARSON, 2012. [2] P. Willging, G. Astudillo y S. Bast, «Aprender a programar ( y a pensar?) jugando,» de V Congreso de Tecnología en Educación y Educación en Tecnología, 2010. [3] LEGO, LEGO Education WeDo Guía Rápida, 2009. [4] J. C. L. Garcia, Programación con Scratch, 2011. 19