Conceptos avanzados
Ámbito de las variables. Contadores y Acumuladores. Nuevas funcionalidades.
Ámbito de las variables. Contadores y Acumuladores. Nuevas funcionalidades.
Comprender el concepto de ámbito de las variables.
Comprender el uso de variables acumuladores y contadores.
Identificar y crear nuevas funcionalidades en relación al dominio del problema.
En Scratch, las variables se representan con bloques que tienen forma de círculos alargados, que solo puede etiquetar el usuario. Las variables, pueden ser locales o globales. En Scratch, una variable local solo la puede usar un objeto. Por otra parte, una global la pueden usar todos los objetos.
En el caso anterior estamos creando una variable de ámbito global. Es decir que tiene visibilidad para todos los objetos que tenga nuestro desarrollo. Si por el contrario elegimos: "Sólo para este objeto", dicha variable tendrá visibilidad sólo dentro del ámbito del objeto donde la definamos, fuera de él "no existe". En el siguiente ejemplo del auto que interacciona con el semáforo se puede apreciar el uso de una variable local a auto llamada velocidad y la variable global denominada PuedePasar. Puede pasar es accedida desde el auto y el semáforo, mientras que velocidad sólo puede ser accedida por el semáforo.
Muchas veces las soluciones algorítmicas nos requieren que contemos las cantidad de veces que se realizó una determinada acción o conjunto de acciones. Para realizar esta operación de contar existe una técnica de programación que se denomina "Variable contador". La idea es la siguiente: Antes de comenzar el proceso que queremos contar, la variable contador es asociada con el número 0 y cada vez que el suceso en cuestión ocurre o se ejecuta, incrementamos en uno el valor de la "variable contador".
En otras ocasiones es necesario totalizar la suma de n valores (con n tan arbitrario como se quiera). Como ejemplo de esta situación pensemos en cualquier proceso iterativo que necesita acumular un valor. Podría ser el cálculo del promedio de n números, el total a pagar de una factura de supermercado y un largo etc. En todos estos casos se utiliza una técnica llamada variable acumulador. La misma es asociada a 0 antes de comenzar el proceso de suma, por cada iteración se le asocia al valor que ya tiene más una cantidad arbitraria. Veamos un ejemplo concreto del uso de estas técnicas enseñándole al gato de Scratch a calcular el promedio de n números ingresados desde el teclado.
En el programa Scratch anterior tenemos tres variables con funciones claramente definidas como se explica en el siguiente cuadro:
Variable
Función
n
Es la variable contador. Cada vez que sumamos un número incrementamos su valor en 1.
suma
Es la variable acumulador. En ella vamos sumando los números ingresados desde el teclado
número
Esta variable tiene asociado el último número ingresado.
Finalmente veremos como agregar nuevas funcionalidades a los objetos de Scratch. Retomemos el ejemplo que las primeras clases, cuando le enseñamos a Scratch cómo dibujar polígonos regulares. Podemos construir ahora, un bloque que se llame "Polígono" y que reciba como argumentos la cantidad de lados y la longitud del lado. A partir de entonces Scratch podremos utilizar ese bloque para construir los polígonos que necesitemos. CantidadLados y LongitudLado son los parámetros o argumentos de la función Polígono y se comportan como si fueran variables al interior del bloque.
Deberás realizar la simulación del funcionamiento de un cajero automático.
En tal sentido se te solicita que desarrolles en Scratch un escenario que:
Inicialmente te solicite el usuario y la contraseña.
Te permita realizar depósitos, extracciones.
Consultar tu saldo y los últimos 5 movimientos.
Finalmente cerrar la sesión.
Construye una presentación dónde muestres el proceso de construcción y te sirva de soporte para exponer tu trabajo.
Fecha de presentación. Viernes 26/5. Recuperatorio: Viernes 2/5.