You are on page 1of 29

Conceptos fundamentales de Java

2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

Objetivos
En esta leccin se abordan los siguientes objetivos:
Correlacionar sentencias de guin grfico con tareas de
ejecucin del programa
Agregar una sentencia de control al editor de cdigos
Utilizar nmeros aleatorios para definir aleatoriamente el
movimiento

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

Desarrollo del programa mediante un


enfoque en sentido descendente
Al igual que un constructor utiliza un juego de planos y sigue
una serie de pasos, un programador utiliza un plan y sigue
una serie de pasos para crear un programa.
Los constructores trabajan con un propsito y definen
objetivos especficos durante la construccin: Que las
habitaciones cuenten con eficiencia energtica, que la casa
cumpla con los cdigos de construccin, etc.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

Desarrollo del programa mediante un


enfoque en sentido descendente
Los programadores tambin trabajan con un propsito y
definen objetivos, porque sin ellos, no se puede medir el
xito.
Otra condicin para el objetivo o propsito de una animacin
es un escenario de alto nivel, una historia con un propsito.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

Pasos para utilizar un enfoque en sentido


descendente de la programacin
Definir el escenario de alto nivel (el propsito o meta del
programa).
Documentar las acciones paso a paso en un guin grfico
textual.
Esto ayuda a comprender totalmente las acciones que se
deben programar.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

Pasos para utilizar un enfoque en sentido


descendente de la programacin
Crear una tabla para alinear los pasos del guin grfico con
las instrucciones de programacin.
Revisar la tabla durante el desarrollo de la animacin para
asegurarse de que cumple las especificaciones.
Revisar la tabla segn sea necesario.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

Ejemplo de storyboard textual


Programar las siguientes acciones en orden:

El conejito camina.
Alice dirige la mirada al conejito.
El conejito dice: "Is this the party!".
Alice dice: "Oh, no!".
El conejito gira a la izquierda.
Programar las siguientes acciones
conjuntamente:
El conejito se aleja rpidamente.
Alice mueve la cabeza.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

Alineacin del guin grfico con las


instrucciones de programacin
Orden de las
instrucciones

Accin del guin grfico

Instrucciones de
programacin

Do in order

El conejito camina.

El conejito avanza 2 metros.

Alice dirige la mirada al


conejito.

Alice se gira hacia el conejito.

El conejito dice: "Is this the


party!".

El conejito dice: "Is this the party!".

Alice dice: "Oh, no!".

Alice dice: "Oh, no!".

El conejito gira a la izquierda.

El conejito gira a la izquierda 0,25.

El conejito se aleja
rpidamente.
Alice mueve la cabeza.

El conejito avanza 4 metros en


1 segundo.
Alice gira la cabeza de izquierda a
derecha y otra vez a la izquierda.

Do together

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

Movimiento de objetos
El movimiento de objetos es egocntrico: Los objetos se
mueven en funcin de la direccin hacia la que estn
colocados.
Un objeto se puede mover en seis direcciones:

Hacia arriba
Hacia abajo
Hacia adelante
Hacia atrs
Hacia la derecha
Hacia la izquierda

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

10

Ejemplos de procedimientos de rotacin


Procedimiento

Descripcin

Turn

Gira un objeto hacia la izquierda, derecha, adelante o atrs


respecto a su punto central. Giro a la izquierda y a la
derecha sobre el eje vertical del objeto; giro hacia delante y
hacia atrs sobre el eje horizontal del objeto.

Roll

Un objeto rueda a la izquierda o a la derecha sobre el punto


central con el eje horizontal del objeto.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

11

Comparacin de los procedimientos


Turn and Roll
El objeto gira a la izquierda y a la derecha
sobre su punto central con un eje vertical.

El objeto rueda a la izquierda y a la


derecha sobre su punto central con un
eje horizontal.

El objeto gira hacia delante sobre su


punto central con un eje horizontal.

El objeto gira hacia atrs sobre su punto


central con un eje horizontal.

(La carta ya estaba


orientada hacia la
izquierda. El giro hacia
delante ha hecho que se
incline hacia delante)
JF 2-4
Rotacin y asignacin aleatoria

(La carta estaba


orientada hacia la
izquierda. El giro hacia
atrs ha hecho que se
incline hacia atrs)
Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

12

Ejemplo de rotacin de subpartes


Algunos objetos tienen subpartes mviles que pueden girar y
rodar.
El reloj de bolsillo tiene manecillas de horas y minutos que
pueden rodar sobre el punto central del reloj.
La clave de una rotacin correcta es conocer el punto central de
un objeto.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

13

Pasos para programar un objeto para


que gire
Seleccionar la instancia del objeto que
desea girar.
Arrastrar un procedimiento turn o roll al
editor de cdigos.
Definir el argumento de direccin.
Definir el argumento de cantidad (1,0 =
un giro o vuelta completo).
*Nota: Se mostrar un indicador de posicin
verde para ayudarlo a alinear la sentencia
de programacin en la posicin deseada.
JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

14

Rotacin de subpartes
Algunos objetos tienen subpartes mviles.
Por ejemplo, las manecillas del reloj pueden girar o rodar.
La rotacin se puede aplicar a un objeto completo o
seleccionar subpartes del objeto.
Las subpartes de un objeto muestran anillos que indican su
rango de movimiento.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

15

Pasos para programar las subpartes de


un objeto que desea girar
Seleccionar la instancia de la subparte del objeto que desea girar.
Arrastrar un procedimiento turn o roll al editor de cdigos.

Seleccionar el valor de direccin para el argumento de direccin.


Seleccionar un valor de rotacin para el argumento de cantidad
(1,0 = un giro o vuelta completo).
JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

16

Sentencias de control
Las sentencias de control definen cmo se ejecutan las
sentencias de programacin en el programa.
myFirstMethod se crea con una sentencia de control Do in
order por defecto.
Procedimiento Descripcin
En l, todas las
sentencias de
programacin
se ejecutan
secuencialmente
por defecto.

Do in order

Ejecutar las sentencias que contiene la


sentencia de control en orden
secuencial.

Do together

Ejecutar las sentencias que contiene la


sentencia de control simultneamente.

Count

Ejecutar las sentencias que contiene la


sentencia de control un nmero
determinado de veces.

While

Ejecutar las sentencias que contiene la


sentencia de control mientras que se
cumpla una condicin especificada.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

17

Sentencias de control en el editor


de cdigos
Las sentencias de control se encuentran en la parte inferior del
editor de cdigos.
Representan bloques de cdigo en los que se agrupan sentencias
individuales.
Arrastrar mosaicos de control
al editor de cdigos y, a
continuacin, agregar
las declaraciones a ellos.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

18

Agregar procedimientos a una sentencia


de control
Arrastrar sentencias de programacin nuevas o existentes a la
sentencia de control.
En el ejemplo que se muestra a continuacin, el objeto de
Alice en el objeto se mover hacia delante, girar a la
izquierda y rodar a la
derecha en orden.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

19

Consejo: Crear bloques de programacin


Aunque myFirstMethod contiene una sentencia de control Do
in order por defecto, siempre puede agregar otros mosaicos
Do in order al rea de programacin.
Esto permite mantener las instrucciones de programacin
organizadas en bloques.
Los bloques se pueden copiar fcilmente en el portapapeles o
moverse de un lugar a otro en un programa de gran tamao.
Las sentencias de control Do in order anidadas afectan al
rendimiento de la animacin; facilitan la edicin del programa
al programador.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

20

Sentencias de control Do in order anidadas


A continuacin, se anidan
tres sentencias Do in order
y una sentencia do
together en una cuarta
sentencia Do in order.
Las sentencias anidadas
agregan una estructura
visual a un programa, de
forma muy similar a la que
un esquema incorpora una
estructura a un informe.

JF 2-4
Rotacin y asignacin aleatoria

La anidacin es el proceso por el


que se coloca algo dentro de otra
cosa, como los huevos colocados
unos junto a otros en un nido.
Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

21

Nmeros aleatorios
Los nmeros aleatorios son los nmeros generados por el
equipo con un patrn predecible para su secuencia.
Los nmeros aleatorios se generan dentro de un determinado
rango de nmeros.
Los equipos pueden necesitar nmeros aleatorios para:
Seguridad: Por ejemplo, contraseas generadas aleatoriamente.
Simulacin: Por ejemplo, modelacin de ciencias de la tierra (es decir,
erosin a lo largo del tiempo).

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

22

Ejemplos de nmeros aleatorios


Los nmeros aleatorios se pueden generar dentro de un
amplio rango de nmeros, tanto positivos como negativos, y
pueden incluir nmeros enteros y partes fraccionarias de un
nmero.
Ejemplos de nmeros aleatorios:

15674
-6934022
0,371
-89,763

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

23

Nmeros aleatorios en las animaciones


Los animales no se mueven en lnea recta en lneas geomtricas.
Cambian de direccin ligeramente a medida que caminan,
nadan y vuelan.
Los nmeros aleatorios se pueden utilizar en el argumento de
distancia de un mtodo para que el objeto se mueva de forma
menos previsible, ms como la vida real.
Los nmeros aleatorios se suelen utilizar para crear juegos que
necesitan comportamientos impredecibles.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

24

Pasos para utilizar nmeros aleatorios


Para cualquier argumento numrico, una de las opciones es un
nmero aleatorio.
Seleccionar el argumento en la lista desplegable.
Seleccionar Random.
Seleccionar nextRandomRealNumberInRange.
Seleccionar los valores inferior y superior.
Ejecutar la animacin.
Alice 3 generar de forma
aleatoria un valor dentro del
rango seleccionado al ejecutar
la sentencia.
JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

25

Ejemplo de animacin con nmeros


aleatorios
El conejito avanza una distancia aleatoria hacia arriba y hacia
abajo antes de girar hacia Alice en tiempo de ejecucin.

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

26

Terminologa
Trminos clave que se han utilizado en esta leccin:
Sentencias de control
Anidada
Nmeros aleatorios
Guin grfico textual

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

27

Resumen
En esta leccin, debe haber aprendido a:
Correlacionar sentencias de guin grfico con tareas de
ejecucin del programa
Agregar una sentencia de control al editor de cdigos
Utilizar nmeros aleatorios para definir aleatoriamente el
movimiento

JF 2-4
Rotacin y asignacin aleatoria

Copyright 2015, Oracle y/o sus filiales. Todos los derechos reservados.

28

You might also like