Está en la página 1de 27

Conceptos fundamentales de Java

2-9
Expresiones

Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados.
Objetivos
En esta lección se abordan los siguientes objetivos:
• Crear una expresión para realizar una operación
matemática
• Interpretar una expresión matemática

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 3
Expresiones

3
Uso de expresiones
• Las expresiones son una combinación de valores que,
organizados correctamente, tienen como resultado un
valor final.
• Por lo general, las expresiones se utilizan en Alice 3 para
solucionar los problemas de temporización y distancia
de los programas.
• Ejemplo: 2 + 2 = 4
– Dos valores (2, 2) y el operador (+) tienen como resultado el
valor
final (4).

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 4
Expresiones

4
Expresiones en Alice 3
Las expresiones se crean en Alice 3 mediante los
siguientes operadores matemáticos:
• Sumar (+)
• Restar (-)
• Multiplicar (*)
• Dividir (/)

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 5
Expresiones

5
Ubicación de los operadores matemáticos
• Los operadores matemáticos están disponibles en los
menús en cascada donde puede seleccionar los valores
de argumento para:
– Cantidad y duración
– Funciones getDistance

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 6
Expresiones

Ya debe estar familiarizado con las expresiones matemáticas que se han presentado en los capítulos
anteriores del curso.

6
Visualización de expresiones en un
argumento de distancia
• Seleccionar la opción Math para ver los operadores
matemáticos disponibles en el argumento de distancia
de un procedimiento.
• Seleccionar uno de los dos juegos diferentes de
expresiones matemáticas.
– El primer juego permite
especificar el valor de un
operador
– El segundo juego permite
especificar los valores de
ambos operadores.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 7
Expresiones

7
Visualización de la función getDistanceTo
• Seleccionar la opción Math para ver los operadores
matemáticos disponibles para el argumento de la
función getDistanceTo.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 8
Expresiones

8
Problema de distancia
• Problema: El objeto PlayingCard se desplaza hacia el
centro de la estantería, en lugar moverse a su lado.
• Esto se debe a que la función getDistanceTo calcula la
distancia desde el centro del objeto Person (persona)
hasta el centro del objeto de destino (estantería).
• Habrá que reducir la distancia de movimiento del objeto
PlayingCard para que no colisione con la estantería.
• Se utiliza un cálculo matemático para reducir la
distancia que recorre el objeto PlayingCard.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 9
Expresiones

Este problema ya se ha analizado en un capítulo anterior, por lo que debe estar familiarizado con el
concepto, si no con el método de ejecución. Un objeto se define según la posición de su punto central. Por
lo tanto, cuando dos objetos se mueven a la misma posición de la escena, se encontrarán en su centro.

9
Pasos para crear una expresión
• Resumir el problema de distribución o distancia en el
programa.
• Determinar la expresión que solucionará el problema.
• Codificar la expresión.
• Probar y depurar la expresión hasta que la animación
funcione según lo esperado.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 10
Expresiones

Una expresión es algo que puede que necesite diseñar aparte del diseño inicial. Si el diseño inicial establece
que un objeto se debe mover a otro objeto, tendrá que acotar más aún para diseñar la expresión real
necesaria para realizar la tarea.

10
Pasos para mover un objeto la distancia
hasta otro objeto
• Arrastrar el procedimiento de movimiento de un objeto al editor
de códigos. Seleccionar la orientación hacia delante y un valor de
marcador de posición de distancia.

• Desde el separador Functions, arrastrar la función getDistanceTo


hasta el marcador de posición del argumento de distancia.

• En el menú en cascada, seleccionar el objeto de destino hasta el


que debe moverse el objeto.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 11
Expresiones

Realice los pasos que se indican en las siguientes diapositivas para garantizar la correcta creación de una
expresión en Alice 3.

11
Pasos para modificar la distancia con un
operador matemático
• En el mosaico getDistanceTo, hacer clic en la flecha más
exterior para abrir el menú de valores de distancia y, a
continuación, seleccionar la opción Math.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 12
Expresiones

12
Pasos para modificar la distancia con un
operador matemático
• Seleccionar getDistanceTo - ???
• Seleccionar un valor por defecto para reducir la
distancia o seleccionar Custom DecimalNumber para
introducir un valor.

• Probar y depurar la expresión según sea necesario.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 13
Expresiones

13
Edición de la expresión
• Durante el proceso de depuración, es posible que tenga
que ajustar el valor de la expresión.
• Haga clic en la flecha situada junto al valor y, a
continuación, seleccione un nuevo valor por defecto o
use el menú Custom DecimalNumber para seleccionar
un valor más definido.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 14
Expresiones

14
Ejemplo de expresión
• Esta expresión reduce la distancia que debe recorrer el naipe
para no colisionar con la estantería.
• Se ha probado y depurado varias veces hasta que se ha
conseguido la expresión correcta.
• Con un valor de 0,25 el naipe todavía estaba demasiado cerca.

• Con un valor de 1,0 la distancia es correcta.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 15
Expresiones

15
Restar profundidad de la expresión
• Restar la profundidad del objeto de destino de la
expresión es una forma más precisa de asegurarse de
que el objeto en movimiento se coloque directamente
junto al objeto de destino sin pasar por el centro.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 16
Expresiones

Aunque la codificación de los valores funciona correctamente para este ejemplo en particular, los valores
codificados no suelen ser buena idea en programación. Si desea crear código que se pueda reutilizar
fácilmente, tendrá que utilizar variables en lugar de valores codificados.

16
Pasos para restar profundidad de la
expresión
• Seleccionar el objeto de destino en el menú de
instancia.
• Desde el separador Functions, arrastrar el mosaico
getDepth hasta el valor de distancia de la expresión.

• Probar y depurar la animación, y ajustar la expresión


según sea necesario.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 17
Expresiones

Es importante probar siempre todo lo que se haga a intervalos regulares.

17
Interpretación de una expresión
• Para comprender una sentencia de programación que
incluye una expresión, normalmente es necesario
interpretar la expresión.
• Para interpretar una expresión, puede:
– Leerla de izquierda a derecha.
– Reconocer las instancias especificadas en la expresión y
describir lo que hace cada una.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 18
Expresiones

La lectura del código puede marcar una importante diferencia en la comprensión del código. Es
recomendable leer el código de otras personas, así como el propio para mejorar su comprensión de los
principios de programación.

18
Construcción de la expresión de ejemplo
• Agregar un procedimiento de marchHare y utilizar un valor de
marcador de posición.

• Arrastrar la función getDistanceTo desde marchHare y seleccionar


la tetera como objeto de destino.

• Hacer clic en la flecha exterior de la expresión

• Seleccionar la opción matemática de la lista y elija el operador de


resta

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 19
Expresiones

Estas diapositivas proporcionan una guía paso a paso para la creación de la expresión especificada en Alice
3.

19
Construcción de la expresión de ejemplo
• Sustituir el valor de marcador de posición por la función
getWidth de la clase teacup

• Hacer clic en la flecha interior a continuación de


getWidth y seleccionar la opción Math, el operador de
división y seleccionar 2 como valor

• Con esto se completa la expresión que debe tener el


siguiente aspecto:

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 20
Expresiones

20
Ejemplo de expresión
• Examinar la visual asociada a esta expresión.
• Las liebres se desplazan hacia la taza de té.
• ¿Cree que se introducirán?

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 21
Expresiones

Utilice sus conocimientos de lectura de código para tomar una decisión sobre la cuestión planteada en la
diapositiva. La respuesta se proporcionará más adelante, pero ¿qué cuál es opinión?

21
Interpretación de una expresión
• Esta expresión nos indica lo siguiente:
– MarchHare avanza hacia la taza de té.
– La distancia entre marchHare y la taza de té se determina
mediante la función getDistanceTo.
– La distancia recorrida se reduce a la mitad del ancho de la taza
de té.
• El ancho de la taza de té se determina mediante la función getWidth.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 22
Expresiones

22
Formulación de la expresión
• Para interpretar una expresión, es útil realizar un dibujo
o escribir los valores que conozca antes de formular la
expresión.
• Ejemplo:
– Z = X – (a / b)
• Z = Distancia recorrida
• X = Distancia desde marchHare hasta la taza de té
• A = Ancho de la taza de té
• b=2

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 23
Expresiones

23
Respuesta de ejemplo de Expresión
• Se le preguntó si pensaba que marchHares se adentraría
en la taza de té.
• La respuesta es: No, se detiene fuera de la taza.
• Esto se debe a que hemos utilizado la expresión para
manipular la distancia entre los objetos.

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 24
Expresiones

Aquí está la respuesta a la pregunta planteada en la diapositiva 21. ¿Ha acertado?

24
Terminología
Términos clave que se han utilizado en esta lección:
• Expresión
• Operador matemático

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 25
Expresiones

25
Resumen
En esta lección, debe haber aprendido a:
• Crear una expresión para realizar una operación
matemática
• Interpretar una expresión matemática

JF 2-9 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 26
Expresiones

26