Las operaciones aritméticas con signos

Resulta muy importante tener en claro las reglas de las operaciones aritméticas con signos (+ - * / < > =), ya que pueden afectar la forma en que Logo lee una instrucción.

Regla 1: Dejar un espacio en blanco a cada lado del signo aritmético.

Sin los espacios, Logo piensa que el signo aritmético es un carácter más. Por ejemplo:

muestra 100/2
No sé cómo hacer 100/2
muestra 100 / 2
50

Regla 2: La multiplicación y la división siempre se calculan antes que la suma y la resta.

Si quiere que Logo haga los cálculos en otro orden, se deben utilizar los paréntesis. Los cálculos que están entre paréntesis se realizan primero.

muestra 3 + 2 * 4
11
muestra (3 + 2) * 4
20

Regla 3: Los cálculos aritméticos siempre se hacen antes que cualquier otro mando Logo.

Por ejemplo, en esta instrucción:

muestra azar 6 + 1

6 + 1 se calcula primero y azar después. Como azar es un reportero que devuelve un número que va entre el 0 y un número menos que su entrada, la intención de esta instrucción es la de evitar el 0 añadiendo 1 al resultado. Pero lo que sucede aquí es que 6 + 1 se calcula primero y luego Logo realiza la operación azar 7, devolviendo un número del 0 al 6.

La instrucción puede ser cambiada para que su resultado resulte útil al simular un juego de dados. Utilice los paréntesis para decirle a Logo en qué orden quiere que se hagan los cálculos.

muestra (azar 6) + 1

También lo siguiente podría funcionar:

muestra 1 + azar 6

Cuando la operación + busca su segunda entrada, encuentra la expresión azar. Para poder evaluar todo, necesita tener el resultado de azar 6. Luego la suma puede ser realizada.

El uso de los paréntesis afecta la forma en que Logo ejecuta una instrucción con el signo = (igual). Suponga que quiere controlar si el primer dígito de un número es igual al de otro. Las instrucciones siguientes no producen el efecto deseado:

muestra primero 3,14 = 3
falso

En el ejemplo anterior, Logo controla si 3,14 es igual a 3 (una operación aritmética) antes de ejecutar primero. Con los paréntesis tenemos el resultado esperado:

muestra (primero 3,14) = 3
cierto

Aquí tenemos otro ejemplo. Vamos a definir un procedimiento para calcular el cuadrado de un número.

para cuadrado :x
reporta :x * :x
fin

Ahora queremos sumar los dos números al cuadrado. Lo que sigue no produce el resultado deseado:

muestra cuadrado 5 + cuadrado 3
196

El resultado no es el esperado ya que queremos que, antes que nada, Logo calcule el cuadrado de cada numero. En lugar de ello, Logo calcula 5 más el cuadrado de 3 (9), y luego calcula el cuadrado de la suma (14). Utilice los paréntesis para evitar el problema:

muestra (cuadrado 5) + (cuadrado 3)
34