17
Índice de contenido Índice de contenido 1 Introducción................................................................................................. 2 2 Variables...................................................................................................... 3 2.1 Introducción a las Variables...................................................................... 3 2.2 Gestión de Variables................................................................................ 4 2.3 Ejemplos................................................................................................ 9 3 Bloques Propios........................................................................................... 11 3.1 Creación de Bloques Propios................................................................... 12 3.2 Utilización de Bloques Propios................................................................. 14 4 Ejercicios Propuestos.................................................................................... 17

Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

Índice de contenidoÍndice de contenido

1 Introducción.................................................................................................2

2 Variables......................................................................................................3

2.1 Introducción a las Variables......................................................................3

2.2 Gestión de Variables................................................................................4

2.3 Ejemplos................................................................................................9

3 Bloques Propios...........................................................................................11

3.1 Creación de Bloques Propios...................................................................12

3.2 Utilización de Bloques Propios.................................................................14

4 Ejercicios Propuestos....................................................................................17

Page 2: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

1 1 IntroducciónIntroducción

En las unidades anteriores hemos vistos los 3 elementos fundamentales que se

utilizan en la programación estructurada para poder crear programas:

• La Secuencia

• La Decisión

• La Iteración

Los elementos que vamos a abordar en esta unidad, las variables y los

Bloques Propios, nos van a permitir crear programas mucho más completos,

los cuales van a poder resolver problemas con un mayor grado de dificultad y al

mismo tiempo van a ser más fáciles de entender y de crear

Con respecto a las variables, recordar que ya las mencionábamos cuando

veíamos la Estructura de Decisión en la Unidad 4, las cuales nos van a permitir

almacenar información numérica que luego utilizaremos para . Por ejemplo,

podremos guardar en una variable el número de obstáculos (num_obstaculos)

que detecta el robot con el sensor de ultrasonidos cuando realiza un recorrido. o

bien el número de veces que detecta una línea negra.

Por lo que respecta a los Bloques Propios, comentar que nos van a permitir

redicir el número de elementos con los que cuenta un programa, ya que

podremos reutilizar los elementos definidos dentro del mismo.

2

Page 3: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

2 2 VariablesVariables

2.1 Introducción a las Variables

En la Unidad 4 ya introducíamos de pasada el concepto de variable, recordemos

este concepto:

Tradicionalmente los lenguajes de programación definen una variable,

como un objeto que tendrá un nombre y que nos permitirá almacenar

datos. Normalmente los variables se utilizan para almacenar datos en las

mismas, lo cual implica una operación de escritura, posteriormente

utilizaremos los valores almacenados en las mismas, esto conlleva una

operación de lectura, en expresiones aritméticas, en expresiones

lógicas donde se comparan el valor de una o más variables o bien en

expresiones de visualización del valor de las mismas.

Las variables pueden almacenar datos de diversa naturaleza, pero los más

usuales son los siguientes: números, texto y valores de tipo lógico (verdadero o

falso). La utilización de una variable lleva implícito definir el tipo de datos que

va a almacenar.

Un ejemplo muy sencillo de utilización de variables en un programa, podría ser

el siguiente:

Se solicita al usuario que introduzca dos números, los cuales se almacenarán en

las variables numero1 y numero2, posteriormente se realizará la operación de

la suma de ambos, la cual se almacenará en la variable suma (suma = numero1

+ numero2). Finalmente se visualizará el resultado de la misma.

3

Una variable es un lugar donde podemos almacenar un valor.

Podemos pensar que es un cajón o un bolsillo (lugar) donde solo cabe una cosa (valor). Esta cosa puede ser un número, un texto o un valor lógico (verdadero, falso).

Page 4: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

En este caso se realizan las siguiente operaciones:

• escritura en las variables numero1 y numero, al asignarles el valor

introducido por el usuario

• lectura del valor de numero1 y de numero2, en una expresión aritmética

de suma

• escritura en la variable suma del resultado de la anterior operación

aritmética

• lectura del valor de la variable suma, al visualizar el valor de la misma

En el ejemplo anterior, las 3 variables utilizadas (numero1, numero2 y suma)

almacenarán datos de tipo numérico.

En el software NXT 2.0, las operaciones relacionadas con variables se

encuentran en la Paleta Completa y dentro de ésta en el apartado Datos. El

elemento que representa el concepto de variable, tiene el aspecto de una

maleta. En la imagen de la izquierda, aparece el aspecto que tiene en la paleta

y en la de la derecha, se muestra el elemento Variable una vez que ha sido

insertado en el programa.

2.2 Gestión de Variables

Para poder utilizar las variables en un programa tendremos que realizar los

siguientes pasos:

1. Crear o Definir la variable

2. Insertar un elemento Variable

4

Page 5: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

3. Definir las características del elemento Variable

A continuación explicaremos detalladamente cada uno de estos pasos.

En el primer paso, para crear una Variable accederemos a la opción de menú

Edición / Definir Variables, al seleccionar esta opción nos aparece una

ventana que nos permitirá crear tantas variables como necesitemos.

En la nueva ventana pincharemos en el botón Crear e introduciremos los

siguientes datos: nombre de la variable y el tipo de datos que va a

almacenar (Lógica, Número ó Texto). También vamos a poder eliminar una

determinada variable, seleccionándola de la lista y pinchando en el botón

Eliminar.

En el segundo paso, seleccionaremos el elemento Variable y lo situaremos en

5

Page 6: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

el lugar apropiado del programa.

En el tercer paso, (suponemos que está seleccionado el elemento que

acabamos de insertar en el segundo paso) especificaremos las características o

propiedades del elemento Variable que acabamos de insertar. Para lo cual, en

primer lugar seleccionaremos de la lista de variables que hay definidas, cual es

la variable asociada al elemento Variable, según podemos ver en la siguiente

imagen:

Al seleccionar una determinada variable de la lista, podemos observar como en

el elemento Variable, aparece reflejado en la parte inferior del mismo el nombre

de la variable, en este caso Variable_1.

La segunda característica que tenemos que especificar es la Acción que se va a

realizar con la Variable, tenemos 2 posibilidades: Leer o Escribir que se

corresponden con las operaciones de Lectura y Escritura que veíamos al

principio de este punto. Para especificar la Acción contamos con un grupo de

botones de radio en la parte derecha:

En el caso de que la accion sea Escribir, en el apartado Valor contamos con un

control de tipo Spinner para poder especificar el valor inicial de la variable.

6

Page 7: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

El tipo de Acción también está directamente relacionado con el concepto de

Cable de Datos, el cual representa un flujo de datos o intercambio de

información entre 2 elementos. El Cable de Datos se representa

gráficamente como una linea que unirá 2 elementos y cuyo color dependerá del

tipo de datos de la variable. Así pues, tenemos las siguientes combinaciones de

colores:

• amarillo para datos de tipo numérico

• verde para los datos de tipo lógico

• naranja para los datos textuales

• gris cuando el cable está averiado

Al pinchar en la esquina inferior izquierda de un Bloque, se despliega lo que se

conoce con el nombre de concentrador de datos. En la siguiente imagen

podemos apreciar el concentrador y el cable de datos que se ha establecido

entre los Bloques Potencia_Motor (Variable) y Motor A.

Los concentradores de datos nos permiten configurar la comunicación del

7

Page 8: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

Bloque en cuestión con otros Bloques, de manera que los cables de datos

representan las "carreteras" por donde circularán los datos y los concentradores

permiten especificar que tipo de información se desea enviar/recibir por los

cables. En la imagen de la página anterior, aparece un cable de datos amarillo

que representa datos de tipo numérico, el cual comunica la salida de la

Variable Potencia_Motor con la entrada del Bloque Motor A en la

propiedad Potencia. Esto significa que el Motor A se pondrá en marcha con el

valor de la potencia almacenada en la Variable Potencia_Motor.

Las características o el tipo de información que se puede enviar/recibir en los

concentradores de datos, dependerán del tipo de Bloque, aunque los

concentradores de datos de las Variables sólo tienen una característica

que es el valor. En la siguiente imagen podemos ver estas diferencias

existentes.

Para establecer la comunicación a través de un Cable de Datos, entre un

Concentrador de datos de una variable y el Concentrador de datos de otro

Bloque o viceversa, seleccionamos el elemento inicial, pinchamos en el

concentrador dentro de la propiedad deseada, estableciendo lo que será la

toma de salida y sin dejar de presionar el botón izquierdo del ratón,

arrastramos el cable hasta la propiedad en cuestión en el concentrador de datos

8

Valor

Concentradores de Datos

Page 9: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

del elemento destino, estableciendo la toma de entrada. Como ya hemos

comentado, en el caso del Bloque Variable sólo contaremos con la propiedad

Valor.

2.3 Ejemplos

Ejemplo 1: Suponemos que queremos captar la intensidad recibida por el

sensor de sonido, para almacenar su valor en la Variable Potencia_Sonido.

A continuación, reproduciremos el sonido "Have A Nice Day" con la

intensidad o volumen almacenado en la variable Potencia_Sonido. Es

decir, el sonido se reproducirá con un volumen que dependerá del nivel de

decibelios captado por el sensor de sonido.

Podemos observar como existe un cable de datos que comunica la salida Nivel

Sonido, del concentrador de datos del Bloque Sensor Sonido y la entrada

en el Valor de la Variable Potencia_Sonido. Además, desde la salida del

Valor de esta Variable también existe un cable de datos a la entrada

Volumen del concentrador de datos del Bloque Sonido.

Ejemplo 2: En este segundo ejemplo leemos la distancia a la que se encuentra

un obstáculo a través del Sensor Ultrasónico. El valor de la distancia se

almacenará en la Variable Distancia_Objeto, posteriormente el valor de

9

Salida SalidaEntrada

Entrada

Page 10: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

esta Variable servirá para indicará al Bloque Mover la duración expresada

en segundos que ha de permanecer en marcha este Bloque.

De forma similar a como ocurría con el ejemplo anterior, vemos con existe un

cable de datos que comunica la salida de la Distancia del Bloque Sensor

UltraSónico, con la entrada en el Valor de la Variable Distancia_Objeto.

Por otro lado, la salida del Valor de la Variable mediante el cable de datos,

se convertirá en entrada en la Duración del Bloque Mover.

10

SalidaSalidaEntrada

Entrada

Page 11: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

3 3 Bloques PropiosBloques Propios

Comenzaremos a tratar los Bloques Propios, estableciendo una relación entre éstos y uno de los principios o elementos de la programación estructurada: los Subprogramas o Funciones. Mediante los subprogramas, podremos dividir un problema complejo en partes más pequeñas (Subprogramas), de manera que cada una de estas partes las resolveremos de forma independiente y posteriormente podremos juntarlas para poder resolver un problema mayor. Esta forma de resolver los problemas, lleva implícito que podamos resolver problemas complejos con mayor facilidad que si los resolviéramos como un todo.

Además, otra de las características de los Subprogramas, es que podemos reutilizarlos para resolver otros problemas, siempre que una de sus partes tenga las mismas características que el Subprograma en cuestión.

En este sentido podemos establecer un paralelismo, entre los Subprogramas y los Bloques Propios que utiliza el software NXT 2.0.

Por ejemplo, podríamos crear un Bloque Propio para que el Robot diera media vuelta de 180º hacia la izquierda, recorriera una distancia de 40 centímetros y nuevamente diera otra media vuelta de 180º pero esta vez girando hacia la derecha, con lo cual se quedaría mirando de nuevo en el mismo sentido. En la siguiente imagen podemos ver el esquema de este Bloque Propio.

Este Bloque Propio vamos a poder utilizarlo dentro de un programa NXT siempre que tengamos que realizar una maniobra de este tipo. Por tanto, este Bloque Propio jugaría a todas luces el papel de un Subprograma dentro de un Programa tradicional.

11

Subprograma

40 cmInicio Fin

180º

180º

Bloque Interno

Page 12: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

3.1 Creación de Bloques Propios

En primer lugar veremos como podemos crear Bloques Propios. Los pasos que debemos realizar para poder crear un Bloque Propio son los siguientes:

• El primer paso consiste en crear los elementos que formarán parte del nuevo Bloque Propio, a continuación seleccionamos con el ratón todos los elementos del bloque y pinchamos en el elemento Crear Mi Bloque de la barra de herramientas, tal y como podemos ver en la siguiente imagen:

• A continuación se ejecuta el asistente para la generación de Bloques Propios, en cuya primera pantalla tenemos que proporcionar la siguiente información: el nombre del bloque y opcionalmente una breve descripción del cometido del mismo, tal y como podemos ver en la imagen de la siguiente página. Unavez que hemos introducido los datos requeridos pinchamos tenemos la opción de pinchar en el botón siguiente para acceder a la segunda pantalla del asistente o bien en el botón Finalizar.

12

Page 13: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

• Finalmente, en el tercer paso accedemos a la segunda pantalla del asistente, en la cual seleccionaremos el icono que aparecerá asociado a este nuevo Bloque. Tendremos que seleccionar el icono que deseemos para nuestro Bloque, de un conjunto de iconos prediseñados, tal y como podemos aperciar en la imagen. Seleccionaremos el icono elegido y lo arrastraremos hasta el recuadro blanco de la parte superior de la pantalla. Dentro de este recuadro podremos situar el icono en la posición que deseemos, esto afectará a la apariencia final que tendrá el elemento asociado a este nuevo Bloque.

13

Page 14: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

Todos los elementos correspondientes a Bloques Propios, tienen una parte común y otra que es propia o específica del Bloque en cuestión y que estará formada por el icono seleccionado y la posición elegida dentro del recuadro.

Finalizaremos la creación de un Bloque Propio al pinchar en el botón Finalizar. En el caso de que en el primer paso hayamos pinchado en Finalizar sin seleccionar ningún icono, el icono asigando por defecto será la admiració con el punto hacia abajo.

Por cada Bloque Propio se generará un archivo con la extensión .rbt, la misma que para los programas y se guardará dentro de Mis Documentos en la carpeta por defecto:

Lego Creations\MINDSTORMS Projects\Profiles\Predeterminado\Blocks\Mis bloques

3.2 Utilización de Bloques Propios

Una vez que hemos creado un Bloque Propio, podremos abrirlo como si se tratara de un programa más, para modificarlo, consultar los elementos que forman parte del mismo, etc.

Como podemos ver en la imagen de la siguiente página, en la pestaña de la parte superior aparece junto con el nombre del Bloque en cuestión, un pequeño icono que nos informa de que estamos editando un Bloque. De esta forma podemos distinguir la edición de un Programa y de un Bloque.

14

Parte Común Parte Específica Elemento Bloque Interno Completo

Page 15: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

Todos los Bloques Propios que creemos estarán agrupados dentro de la Paleta Personalizada y dentro de ésta en el apartado Mis bloques.

Ahora pasaremos a comentar como podemos utilizar los Bloques Propios. Desde cualquiera de los programas que realicemos, la forma de hacer referencia a un Bloque Propio es muy sencilla. Basta con insertar el elementos asociado al Bloque Propio, en el lugar deseado del programa, con lo cual accederemos a la paleta Personalizada, dentro de ésta al apartado Mis bloques, elegiremos el bloque apropiado y lo arrastraremos a la ubicación del programa que le corresponda. En la siguiente imagen podemos ver el aspecto que presenta dentro de un programa, la utilización de un Bloque Propio.

15

Page 16: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

En la imagen de la página anterior, podemos obsevar como aparece el Bloque Propio Huida el cual contendría los elementos que hemos visto anteriormente. Como podemos ver, el bloque Huida se encuentra dentro de la rama de bifurcación positiva de una instrucción condicional. Los elementos que aparecen en la imagen son un fragmento del programa, en el cual si el robot detecta un obstáculo emitirá un sonido y ejecutará el Bloque Propio Huida, en caso contrario visualizará una imagen y se moverá en la dirección en la que se encuentra mirando.

Si dentro de un programa, hacemos doble click sobre el elemento que representa un Bloque Propio, automáticamente se nos abrirá una nueva pestaña dentro del entorno sofware NXT 2.0, en la cual se nos mostrarán los elementos que contiene el Bloque en cuestión.

Podemos poner el siguiente ejemplo de creación de Bloques Propios, en la Actividad Evaluable del Baile de la Unidad 5, podríamos identificar que todos los elementos individuales que configuran el paso de baile en forma de T, forman el Bloque Propio Paso_Baile, de manera que el programa de Baile quedará mucho más sencillo, limpio y claro de entender, según se aprecia en la siguiente figura:

Como podemos comprobar, hemos descompuesto un problema más grande en partes pequeñas que hemos resuelto de manera individual (Paso de Baile), las cuales hemos juntado luego para resolver el problema inicial que se ha planteado (Baile).

16

Page 17: Índice de contenido - gva.escefire.edu.gva.es/pluginfile.php/194340/mod... · En el software NXT 2.0, las operaciones relacionadas con variables se encuentran en la Paleta Completa

UD06. Variables y Bloques Propios

4 4 Ejercicios PropuestosEjercicios Propuestos

Ejercicio Propuesto Baile Completo

Este ejercicio consistirá en realizar un baile compuesto por 2 pasos, el primero será la T que ya hemos comentado en esta Unidad y el segundo será otra T pero invertida, es decir la parte superior de la T donde se encuentran los 2 brazos estará en la parte inferior y en la parte superior figurará el palo largo de la T. En la siguiente imagen podemos apreciar como quedará T invertida.

En esta imagen también podemos apreciar cual es el orden de los pasos.

Para la resolución de esta actividad utilizaremos los Bloques Propios: Paso_T_Normal y Paso_T_Invertida. El primero de ellos estará formado por los mismos elementos o bloques que ya veíamos en las Actividades Evaluables de la Unidad 5, Elementos Repetitivos. Mientras que los elementos del segundo, tendrán que realizar los movimientos descritos en la imagen anterior.

El programa será muy sencillo y estará compuesto por las llamadas a los Bloques Propios Paso_T_Normal y Paso_T_Invertida.

17

Inicio

20

cm

10 cm 10 cm

1

2

34

6

5

Fin