Pág.36 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
EXPRESIONES
Una Expresión está compuesta por valores, funciones,
primitivas, constantes y/o variables, o por una
combinación de los anteriores mediante operadores.
Son Expresiones:
• Un valor (1.3, "Jorge)
• Una Constante o una Variable (divide, base, área)
• Una función (cos 60, arctan 1)
• Una combinación de valores, constantes, variables,
funciones y operadores que siguen reglas de
construcción y orden de evaluación de los
operadores (cos 60 + 7 - :altura)
Las Expresiones pueden ser:
• Aritméticas: Dan como resultado un valor
numérico. Contienen únicamente operadores
aritméticos y datos numéricos (pi * 20 - :X)
• Alfanuméricas: Dan como resultado una serie o
cadena de caracteres.
• Lógicas: Dan como resultado un valor "Verdadero"
o "Falso". Contienen variables y/o constantes
enlazadas con operadores lógicos (A>0 y B<=5).
• De Asignación: Estas Expresiones asignan el
resultado de una Expresión a una Variable o a una
Constante. La Expresión de Asignación (da "área
:base * :altura / 2) asigna (da) el valor resultante de
la Expresión Aritmética (:base * :altura / 2) a la
variable área.
EJEMPLO
Para diseñar algoritmos que posteriormente puedan ser traducidos a
un lenguaje de programación, es fundamental saber manejar muy
bien los operadores y el orden en el que estos se ejecutan. Las
fórmulas deben escribirse en una sola línea para que el computador
las evalúe.
NOTACIÓN
MATEMÁTICA
EXPRESIÓN
(rc (potencia 6 2)+ 7) / (potencia 8 2)
Scratch no tiene el operador potencia, sin
embargo es fácil programarlo:
http://scratch.mit.edu/projects/jualop/752239
(base * altura / 2)
EJEMPLO
Evaluar la expresión muestra ((potencia (5 + 3) 2) - 10) / 3 + 4 * (2 +
4) teniendo en cuenta la jerarquía de los operadores:
R/.
((potencia (5+3) 2) - 10) / 3 + 4 * (2 + 4) = ((potencia 8 2) - 10) / 3 + 4 * 6
((potencia8 2) - 10) / 3 + 4 * 6 = (64 - 10) / 3 + 4 * 6
(64 - 10) / 3 + 4 * 6 = 54 / 3 + 4 * 6
54 / 3 + 4 * 6 = 18 + 24
18 + 24 = 42
42
ACTIVIDAD
Tomando como modelo el ejemplo anterior y utilizando lápiz y papel,
desarrollar paso a paso las siguientes expresiones. Tener en cuenta
la jerarquía de los operadores:
a. (5 + 2) * (4 + 4) = 56
b. 7 + 3 * 2 + (2 - 1) = 14
c. 6 * 2 + 4 * 3 + 5 / 2 = 26,5
d. 5 + 1 * 4 / 2 * 7 - (8 + 2) = 9
e. 8 + (5 * 6) - 6 = 32
f. 9 + 5 * 3 = 24
g. 4 / 2 * (10 - 5) * 3 = 30
ACTIVIDAD
Pedir al estudiante que escriba en el Centro de Mando de
MicroMundos (ilustración 1-2) las siguientes expresiones y anote en
el cuaderno sus observaciones sobre el resultado:
1. muestra 7 + 5 + 6
2. muestra [7 + 5 + 6]
3. muestra [mañana nos vemos en clase de inglés]
4. muestra mañana nos vemos en clase de inglés
Obsérvese que las instrucciones 1 y 2 se diferencian en
que mientras la primera da como resultado un valor
numérico (18), la segunda es una lista y reporta una
cadena alfanumérica de caracteres “7 + 5 + 6”.
La instrucción 4 reporta “No sé cómo hacer mañana”
porque le faltan los corchetes inicial y final para que
MicroMundos la considere una lista de cinco palabras.
En Scratch no son necesarios los paréntesis ya que el
orden de evaluación de las expresiones es inequívoco.
EJEMPLO
Luisa Fernanda quiere llenar 5 cajas de bombones y sabe que en
cada caja hay que incluir 12 bombones de menta, 14 de fresa
intensa y 10 de limón. Encontrar al menos dos expresiones
equivalentes para calcular el número de bombones que necesita
Luisa Fernanda.
R/.
Expresión 1: 5 * 12 + 5 * 14 + 5 * 10
¿Qué significa cada producto?
¿Qué significa la suma de los productos?
Expresión 2: 5 * ( 12 + 14 + 10 )
¿Qué representa la suma del paréntesis?
¿Por qué la suma se debe multiplicar por 5?
¿Las dos expresiones dan el mismo resultado?
Ejercicio adaptado de “Cuenta Jugando 5”; Página 48
(Casasbuenas & Cifuentes, 1998b).
ACTIVIDAD
da “númeroA 5 (asigna el valor 5 a la Constante númeroA)
da “númeroB 8 (asigna el valor 8 a la Constante númeroB)
Utilizando la información de los valores asignados a las Constantes
númeroA y númeroB, evaluar las siguientes expresiones:
1. 20 + :númeroA
2. :númeroA + 3 * :númeroB
3. :númeroA > :númeroB
4. :númeroA + "123
5. 4 + :númeroA - :númeroB