programe en alice 2.2 - Escuela de Informática UNA

Transcripción

programe en alice 2.2 - Escuela de Informática UNA
PROGRAME
EN ALICE 2.2
TM
PEDRO J. FONSECA SOLANO
PDF Editor
AGRADECIMIENTO
A la Universidad Nacional, a la Escuela de Filosofía y a la Escuela de
Informática, por la oportunidad de enriquecer mi acervo intelectual.
Al Ministerio de Educación Pública de Costa Rica y a la Fundación Omar
Dengo, por las múltiples oportunidades que brindaron a lo largo de muchos
años en mi labor como docente
A Don Slater y Wanda Dann, de la Universidad de Carnagie Mellon, por su
motivación a programar en Alice y su aporte intelectual a mi persona.
Its time to another hello world !!!
Pedro Fonseca Solano
TM
PDF Editor
Contenido
EL MUNDO DE ALICE ...................................................................................................................... 4
MENÚES ........................................................................................................................................ 6
PLAY, UNDO, REDO, BASURERO Y PORTAPALES ............................................................................. 9
EL MUNDO “WORLD” ................................................................................................................... 10
AGREGAR OBJETOS ...................................................................................................................... 11
CREACION DE HUMANOIDES ........................................................................................................ 12
EVENTOS...................................................................................................................................... 13
MI PRIMER MÉTODO: ............................................................................................................... 13
ESTRUCTURAS .......................................................................................................................... 14
CAPTURA DE DATOS EN ALICE 2.2, DESDE EL TECLADO USANDO TIPO NUMÉRICO ....................... 16
COMO CREAR UN TRIVIA, CON LAS CAPITALES DE CENTROAMÉRICA ............................................ 26
JUEGO-HELICOPTERO CON NAVEGACIÓN..................................................................................... 32
MIS EVENTOS HASTA EL MOMENTO: ........................................................................................... 46
CONCEPTO DE FUNCION .............................................................................................................. 57
FUNCIÓN RANDOM NUMBER EN ALICE ....................................................................................... 65
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
EL MUNDO DE ALICE
Para ingresar a Alice, Usted debe hacer doble clic, con el botón izquierdo del
Ratón sobre el acceso directo a la aplicación Alice.
Casi de inmediato le aparecerá en la pantalla la siguiente ventana
Momentos despues llegaráss a ventana de Bienvenida, que nos sugiere, la selección de
un terreno para nuestro mundo, para este ejemplo utilizaremos grass, (pasto, zacate)
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Selecciona el dibujo del grass
y luego has un clic en el botón
De inmediato nos aparece el entorno o ambiente de Alice:
1-MENUS
3. MUNDO ( WORLD)
3.1 CAMERA (CAMERA)
3.2 ILUMINACION (LIGHT)
3.3 PISO (GROUND)
2-BOTONES
5-PANTALLA
6-EVENTOS
7-AGREGAR OBJETOS
4.DETALLES
4.1 PROPIEDADES
4.2 METODOS
4.3 FUNCIONES
8-AREA PROGRAMACIÓN
World.my first method
9-ESTRUCTURAS DE PROGRAMACION
Al principio asusta, se muestrasn muchas cosas, pero vamos a ir poco a poco y paso a paso,
explicando los detalles de las diferentes áreas del ambiente.
1. Menúes, para Edición, Herramientas y ayuda
2. Botones
Botón Play, usado para ejecutar los eventos de nuestro mundo
Botón Undo, recupera última acción realizada hacia atrás
Botón Redo, recupera última acción realizada hacia adelante
Basurero, para arrastrar lo que deseemos borrar en el mundo de Alice
Portapapeles, para copiar los deseemos en el mundo de Alice.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
3. Mundo : Cámara, Iluminación y Tierra o piso del mundo
4. Detalles, nos muestra los detalles de los objetos del mundo, depende del objeto que
tengamos seleccionado, así nos mostrará sus características en cuanto las propiedades del
objeto, sus métodos y funcione
5. Pantalla de visualización, de la ejecución del mundo
6. Agregado de objeto, acceso a galerías y sus clases
7. Área de Eventos, programación de eventos
8. Área de programación (my first method), Drag and drop, arrastre y use
9. Estructuras de programación, estilo arrastre y use
MENÚES
Preferencias Generales:
Muy
importante
el
directorio donde Ud.
Guardará y cargará sus
archivo de proyectos,
obviamente Ud. Elige la
carpeta que desea.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Nos interesa determinar el directorio donde se almacenaran las capturas de pantalla que
realicemos, aquí se indica la carpeta o directorio que usted desee. También se puede elegir el
nombre base de los archivos y el formato del mismo, se recomienda JPEG, no ocupan mucho
espacio de disco.
Esta ventana nos muestra el Numero:
Objetos 3D
Polígonos
Texturas
Memoria
Animaciones definidas por el usuario
Preguntas definidas por usuario
Comportamientos
Llamados definidos por el usuario
TM
PDF Editor
Ai como todas las estructuras de programación
que estemos utilizando en los diferentes
métodos, que tengan los objetos o que
hayamos creado.
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Tutorial
Mundos de ejemplo
Aquí puedes seleccionar los tutoriales y seguir paso a paso,
para que aprendas como se trabaja con Alice, utilizando
Puedes cargar estos mundos de ejemplo y
estos ejemplos. Puedes adelantar o retroceder a tu gusto,
“correrlos”, para que veas como funcionan y
inclusive puedes terminar el tutorial cuando quieras. El te
obviamente puedes accesar los objetos y los
ira explicando en cajas de texto con información y te pedirá
métodos de se composición.
usar el clic del ratón, para su navegación.
Update Software
Cuando la actualización termina, es necesario que reinicie el
Actualización del software, debe tener conexión entorno de Alice, para que la actualización surta efecto.
a internet.
Esta es la ventana, que nos indica que el software Acerca de Alice
se esta actualizando, tarda unos minutos,
dependienco de la velocidad de conexión que
tengas en internet.
Reconocimiento
creadores
TM
patrocinadores
proyecto Alice
PDF Editor
a
los
y
del
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
PLAY, UNDO, REDO, BASURERO Y PORTAPALES
Play lo utilizamos, para ejecutar el “mundo” que hemos construido en Alice, es decir ponemos a
funcionar todo los que hemos construido o ambientado, y los que hemos programado
Para deshacer, la última acción que realizamos, en caso de que sea algo que no deseamos, por
ejemplo, cuando borramos una objeto, método o funciones y no queremos hacerlo, con este
botón lo recuperamos.
Hace los mismo que los anterior, solo que tiene una memoria, que nos permite ir unos cuantos
pasos atrás, pero cuidado, si saturamos su capacidad, las acciones nuevas las registrara en la
memoria y probablemente, perderemos información, porque le caerá encima a la información que
ya teníamos y usamos indiscriminadamente este botón.
El basurero, nos sirve para borrar o eliminar los elementos de que deseemos de Alice, funciona
cuando arrastramos el objeto o elemento, deseado al basurero, con excepción de los objetos en
él la pantalla del visualización del mundo.
El portapapeles, nos permite colocar elementos de Alice, arrastrándolos hasta él, para copiarlos en
la memoria del computador y luego pegarlos en el lugar que deseemos.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
EL MUNDO “WORLD”
Este es el estado del mundo inicial en Alice,
compuesto World (Mundo), Camera (cámara,
light (ilumimación)y Ground (piso o ambiente).
Al parecer estas dos ventanas están separadas
pero son una misma, cada vez que usted
selecciona la cámara, iluminación, piso o
mundo, se mostraran las propiedades del
mismo.
Esto quiere decir, que en el caso de mundo,
que esta seleccionado en este momento, este
mundo tiene: Propiedades, métodos y
funciones, lo mismo ocurre con cámara, la
iluminación y el piso.
Además, cuando agreguemos un objeto al
mundo, este también aparecerá en la ventana
de World y tendrá también, propiedades,
métodos y funciones, que para darles “vida”,
debemos manipularlos y llamarlos por medio
de métodos o eventos.
El mundo siempre tendrá un primero programa
o método, que se llama my first method, es
como el programa principal, donde pondremos,
en orden los programas que usaremos para
resolver los problemas, que nos planteamos en
cada mundo, que construyamos en Alice.
Pantalla de visualización del mundo, cada vez que
hacemos un clic a ejecutar
, se
mostrará el mundo, tal cual lo hayamos trabajado
y aquí veremos el resultado de nuestra
programación,
es
decir
veremos
en
funcionamiento, todos los objetos, las funciones y
los métodos que hayamos creado, los cuales los
accionaremos por medio de los eventos
TM que
hallamos definido y creado.
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
AGREGAR OBJETOS
Nos permite, seleccionar
las galerías locales y
escoger alguna clase, de
dicha galería.
Por
ejemplo la clase Egypt,
(Egipto) está compuesta
por una serie de
elementos, como se
muestra a la derecha.
Elementos de la galería
Egipto
Objetos de Egypt
Anubis, Cleopatra, Isis, Mummy, Pharaoh, Pyramid, Ra y Sphinx
Al seleccionar una clase, se agregara como una instancia al mundo del
Alice, si esta clase tuviese uno o varios métodos, se nos informaría
sobre ellos, ya que podemos utilizarlos en los eventos que
programemos.
TM
Alice tiene alrededor de 35 galerías y cada una de ellas tiene una serie
de clases, también existen galerías donde la clase puede ser
modificada por el usuario. Además se pueden descargar por medio
internet y hay gran variedad, lugares galerías especificas de
transporte, edificios, personas, etc.
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
CREACION DE HUMANOIDES
Se pueden modificar los atributos, para cambiar el cuerpo del o la humanoide, el color de su piel y
de sus ojos. También hay tres tipos de estilo de cabello, respecto a la ropa se pueden seleccionar
vestidos, faldas, pantalones, blusas y zapatos.
Métodos que acompañan los humanoides
TM
PDF Editor
Saludo
Camina
Confundida
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
EVENTOS
Área de Eventos:
Los eventos en Alice, son muy importantes, porque nos
permite hacer muchas cosas, Alice ya trae una serie de
eventos definidos, entre ellos: Cuando el mundo
empieza, cuando una tecla es tocada, cundo hacemos
clic con el ratón en algo, Mientras que algo sea
verdadera, Cuando una variable cambia, Permitir que las
fechas direccionales muevan, entre otros, que nos
ayudan a potenciar nuestra programación. En otras
palabras
nos
permite,
asociar
métodos
o
comportamientos a eventos. Por ejemplo, si deseo que
un helicóptero suba, pues asocio el evento
al
método heliSube, obviamente el método debe crearse
antes, para que pueda ser usado con la fecha arriba, que
sería el evento. (Vea la sección Eventos en Alice)
MI PRIMER MÉTODO:
TM que
Este es el programa principal de Alice, donde haremos los llamados a los diferentes métodos,
su vez llamaran a funciones, para lograr los efectos deseados en nuestro mundo. Tenemos
también, estructuras y elementos de programación, como cualquier otro lenguaje, para que
podamos representar y resolver problemas.
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
ESTRUCTURAS
Ejecutar en orden, este es el principio FIFO, primero en entrar primero en salir, lo cual significa que
las sentencias de programación se ejecutaran en el orden establecido: Por ejemplo:
Hacerlo juntos, se utiliza para procesos paralelos, por ejemplo cuando queremos que un
humanoide camine, al menos debe existir un método que servirá para mover los pies y otro para
que el humanoide avance, si ejecutásemos estos eventos uno después del otro, no tendríamos
una animación o simulación (dependiendo de la complejidad del movimiento) adecuada, haría
primero una cosa y después la otra, en el caso de Alice, se puede trabajar en paralelo y ejecutar los
dos métodos a la misma vez usando la sentencia Do together.
La sentencia if then else, en el caso de Alice, se presenta como If/Else, que se utiliza para evaluar
condiciones, ya sea que sea falsa o verdadera y asi tomar un decisión.
Cuando, necesitamos repetir varias veces un proceso, usamos la sentencia LOOP o CICLO,
recordemos que los ciclos tienen un valor inicial y un valor final, en Alice, podemos hacer un ciclo
infinito (infinity times), que obviamente puede ser detenido por un condición. Esto significa, que
podemos controlar el ciclo como nos guste, ya que podemos usar variables para inicio, incremento
en la veces y el tope del mismo.
While, es también un ciclo, se funcionara mientras un condición sea verdadera o falsa, por
ejemplo: si tenemos un auto y cada vez que le damos ignición, queremos escuchar el sonido del
motor, podemos repetir este sonido, mientras que la variable encendido sea verdadera.
TM
Estas estructuras, se usan para el trabajo con listas o arreglos, la idea es que todos los elementos
de una lista hagan en orden algo, por ejemplo, si tenemos 5 bailarinas egipcias, y deseamos
simular una danza sincronizada, debemos tener métodos para simular el movimiento de la danza,
entonces esta instrucción nos permitirá ejecutar en orden para todas las bailarinas los métodos
deseados.
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Estas estructuras, se usan para el trabajo con listas o arreglos, por ejemplo, tenemos un grupo de
personas o humanoides y deseamos que caminen al mismo tiempo, la instrucción hará que todos
ejecuten en paralelo el método, por caminar, esto nos permite optimizar recursos, ya que usamos
un solo método para todos.
Esta sentencia, nos permite detener por un tiempo la ejecución del programa, por ejemplo, si
deseamos mostrar un rotulo de texto, podemos usar el espera, para que el usuario tenga tiempo
de leer la información. Obviamente, no conviene abusar de esta sentencia, ya que puede provocar
resultados no deseados, o demoras mayores de lo adecuado.
Muy importante, para envió de mensajes, y para ver el valor de variables o banderas que usemos y
así conocer los valores de las variables en momentos precisos.
Esta, sentencia, se usa para documentar los programas, muchas veces después de un tiempo, no
recordamos para usamos una variable en un programa, y un comentario nos ayuda para ello.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
CAPTURA DE DATOS EN ALICE 2.2, DESDE EL TECLADO USANDO
TIPO NUMÉRICO
Recomendaciones & Agradecimientos:
Alice en un ambiente de programación 3D, que nos permite crear animaciones, que podemos
programar mediante su lenguaje de programación al estilo drag and drop, arrastre y suelte. Al
principio como con cualquier otro ambiente, hay un proceso de acomodamiento, que solo con la
práctica vamos superando, hasta sentirnos cómodos con el lenguaje y poder plasmar nuestras
ideas y representarlas en este ambiente.
Place Holder, contenedores, espacios de memoria o campos, este es un concepto muy importante
de Alice, ya que es la forma en que se construyen la mayoría por no decir todas las expresiones.
Desde el punto de vista de la programación, nos enfrentamos a un ambiente gráfico y es una
buena forma de cambiar el concepto del “hello world”, quizás enfrentarse a un ambiente más
amigable, permita que muchas personas tengan mayores oportunidades de aprender a programar,
o al menos tener la oportunidad de probar, pero debemos recordar, que la programación se
aprende programando y que lo lógica se desarrolla con el entrenamiento y la práctica.
La funciones, son otro aspecto muy interesante en Alice, ya que mucho del código que podemos
desarrollar utiliza funciones del lenguaje y las otras definidas por el usuario, por ejemplo, en el
caso de la captura de datos, los inputs son funciones denominadas preguntas al usuario y
tenemosr (ask user for a number, ask user for yes or no, ask user for a string) básicamente.
El uso de parámetros, me parece que es más simple de comprender e implementar en Alice , al
tratarse de un mundo 3D, podemos tener a un personaje que realice alguna función sobre otro y si
la hace para uno, por medio de parámetros podría utilizarse para otros.
Finalmente, debo agraceder a la Fundación Omar Dengo, Andrea Anfossi, a Zeidy Estrada por la
invitación al execelente Taller de programación en Alice 2.2, impartido magistralmente, por Don
Slater y Wanda Dann, profesor de la Universidad de Carnagie Mellon, quienes nos estimularon a
mí a mis compañeros a trabajar con este ambiente de programación y buscar nuevas formas y
oportunidades para que la gente se adentre el mundo de la programación.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Quiero iniciar, diciendo que se trata de una captura de datos, cuando se ejecute el programa en el
ambiente Alice, aparecerá una caja de dialogo, solicitando el número de cédula del usuario, y se
guardara el resultado en un texto 3D, como se muestra:
1:
Queremos hacer la lectura de una variable
tipo numero e imprimir su resultado en texto 3D,
para ello debemos crear una variable global que
se llamará cedula, hacemos un clic en World
2:
, y vamos a la viñeta de propiedades y
hacemos un clic en crear una nueva variable
y aparecerá la caja de
dialogo de la derecha, donde nos pregunta el
nombre (name:), en este caso le pondremos
cedula, el tipo Type, es numérico y el valor por
omisión es 1 y finalmente, hacemos clic en OK
4: Alice no puede imprimir directamente una
3:
variable numérica en un texto, debe utilizarse
Como puedes observar,
vemos la variable creada
la función
, para convertir
el valor de numérico a un string (cadena de
caracteres), what es el tipo de dato que se
TM
convertirá a string.
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Vaya a opción archivo de Alice,
File y seleccione agregar
Texto 3D
y de inmediato
aparecerá la caja de dialogo de la derecha:
The quick Brown fox, este valor es el que
podemos cambiar, aquí enviaremos el dato que
capturemos desde el teclado con la función Ask
for number
Al hacer clic en el botón aceptar, volvemos al
mundo y veremos los siguiente:
1. Aparece 3D TEXT
2. Y en la pantalla aparece the quick
brown…, depende del tamaño de la
pantalla podremos ver el texto completo,
si lo desea haga clic en play para verlo
completamente.
Ahora le cambiaremos el nombre al texto 3D y le
pondremos campo1
Detalle, note que el contenido de objeto texto
3D, es siempre el valor por omisión, la idea es
capturar desde el teclado un valor numérico y
traspasarlo al campo1
Clic
derecho y seleccionamos la opción renombrar,
rename, y editamos el texto y le ponemos
campo1. Asi debe quedar este objeto tipo
texto3D:
TM
PDF Editor
.
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Para hacer la captura de datos del teclado o input Arrástrela dentro del área de programación y
desde Alice, es un poco particular, la variable que observe, que el contorno cambia a verde, lo
creamos llamada cedula, la debemos arrastrar que indica que esta en el lugar correcto.
hasta el área de programación en World.my first
method
Observe, que el contorno de la variable es rojo, lo
indica que no está en la posición correcta.
Recuerde que
para arrastrar, hacemos clic izquierdo en el
mouse sin soltarlo, cuando llegamos al lugar
deseado solo soltamos el clic izquierdo del
mouse y quedará aquí la variable.
, esto ocurre
al soltar la variable, donde nos solicita configurar
o asignar el valor que tendrá. Vaya a set value, y
vera las opciones que Alice ofrece para asignar la
variable. Debemos hacer un alto aquí y explicar el
concepto de “place holder”.
Cuando queremos, asignar el valor inicial,
debemos primero crear el espacio o campos
contenedor “Place Holder”
La traducción litera, no es muy adecuada en
nuestro caso, pero la idea es como un campo,
deposito o contenedor. Se utiliza para poner
abrir campos para que posteriormente podamos
colocar los valores deseados. En nuestro caso
usamos
set
value,
value,
expression,
world.cedula. Porque así lo quisimos, pero pude
haber seleccionado, 0,25 y otro valor.
Ahora procederemos a asignar una función
para el input o entrada de datos por el
teclado.
TM
Asi queda cuando agregamos nuestra variable.
PDF Editor
PROGRAME EN ALICE 2.2
Vaya a funciones, siempre recuerde que debe estar seleccionado el mundo
la función ask user for a number, hasta el campo set value to
Pedro J. Fonseca Solano
y arrastre
Note que se pone en verde, lo cual indica que podemos realizar esta asignación con dicha función,
y es que la captura desde el teclado de realiza de esta manera en Alice.
No podemos obviar el tipo de dato, debemos utilizar la función correspondiente a cada tipo de
dato y recuerde que alice, básicamente tiene:
Ahora debemos seleccionar la opción, Otros (other…) y escribir el mensaje para la lectura del dato
cedula
En este caso el mensaje es “Digite su número de cédula:”
TM
Al hacer clic, en el botón aceptar el programara se mostrará como sigue:
PDF Editor
Al darle clic al botón play esto sucederá:
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Escriba su el número de cédula que aparece en la caja de diálogo, y haga clic en el botón aceptar:
Que ocurrió? Busque el valor de la variable cedula, dependiendo del tamaño que tenga la
pantalla, cuando Ud. Hace clic en play, puede ser que vea la parte de propiedades del mundo y
observe la variable:
TM
Cuando termina haga clic en el botón
, observe que la variable vuelve a su estado incial:
PDF Editor
Pero lo que realmente queremos, es pasar el valor de la variable al texto 3D,
que nombramos como campo1 y parea ello hacemos lo siguiente:
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
1.Vaya al objeto
campo1, que es
un texto 3D
2.Haga clic en
la viñeta de
propiedades
4.Vaya a value y escoja
la opción world.cedula
3.Arrastre la
propiedad text,
hasta el área de
programación
Asi quedara el programa, hasta aquí.
Ahora debemos hacer la conversión de número a string,
1.Seleccione World
2.Haga clic la
viñeta funciones
3.Arrastre la función What as a
string y suéltela sobre el campo
set text to
TM
PDF Editor
Ahora debemos, seleccionar la opción What, expression y finalmente world.cedula
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
La sentencia completa la podemos interpretar como:
Escriba en campo1, que es un texto 3D, el valor de la variable cedula y conviértalo en una palabra,
cadena o string.
Ya tenemos la función lista, ahora podemos hacer un clic en el botón play, para probar lo que
hemos hecho hasta aquí. Si escribes el mismo número,
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
El resultado será siguiente:
Lo que queda ahora, es convertir el valor de la variable en un entero, para eliminar el .0
1.Seleccione world
2.Vaya la
viñeta
funciones
TM
3.Arrastre
la
PDF Editor
función Int a as a
String,
hasta
world.cedula
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Ahora ya terminamos, nuestro trabajo por esta lección, podemos hacer un clic en el botón play,
veremos que el la función int, nos deja el entero del valor, como se muestra en la siguiente figura.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
COMO CREAR UN TRIVIA, CON LAS CAPITALES DE CENTROAMÉRICA
Necesitamos la lista de las capitales, y podemos usar esta
Belmopán-Belice, Guatemala-Guatemala, Managua- Nicaragua, Panamá-Panamá, San JoséCosta Rica, San Salvador- El Salvador, Tegucigalpa-Honduras.
Vamos a crear las variables para almacenar los países y sus capitales 2 dos variables, como se
muestra a continuación:
Vamos a propiedades del World y hacemos clic en
listas.
, recuerde que son d
Escriba el
nombre de
la variable
Tipo Otros, y
será String
Seleccione
crear lista
Por cada clic, agregamos
un nuevo ítem.
Haz clic
TM
PDF Editor
Ahora debemos crear la lista de nuestros países y debería quedar así:
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Utilizando la misma metodología, Ud. Deberá crear la lista capitales y el resultado final deberá ser
como el que se muestra en la lista capitales.
La variable azar tomara un valor entre 1, hasta 7, ya que ítem no puede recuperar el elemento
1.33, la función toma la parte entera, por ejemplo, 0,33 = 0, 9,99 0 0, 1.77 = 1 y asi
suscesivamente. Por ejemplo si azar vale 5, entonces el elemento 5 de países es Costa Rica y el
elemento 5 de capitales es Costa Rica.
TM
PDF Editor
Aquí le asignamos al texto 3D textopaises un valor entre 0 y 7 de la lista países
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Recordemos que Belice es 0, Guatemala 1, Mangua2 y así sucesivamente, y se carga el objeto
textopaises aleatoriamente.
Si haces clic en
y si el valor aleatorio es de 5, veras algo como esto,
La siguiente línea de código, es idéntica a la anterior, solo que usamos la variable capitales,
obviamente si la variable azar vale 1, la capital será Belmopán y así sucesivamente.
Haz clic en
y si el valor aleatorio es de 5, veras algo como esto,
Prueba haciendo clic en Restart, y
verás los nombres de los diferentes
países centroamericanos y su
capitales
Para mejorar la presentación en la pantalla, por la duración, la podemos dejar en 0.
TM
PDF Editor
Estamos pensando en lo mismo?, podemos a partir de aquí crear un trivia sobre las capitales de
Centroamérica, podemos preguntarle a los usuarios, cuales la capital del azar de las lista países y la
respuesta correcta será el zar de la lista capitales. Veamos como lo hacemos.
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Vamos a crear 2 nuevas variables, para almacenar lo ya conocemos, nombres de los países y
nombre de las capitales, pregunta guarda el nombre del países y respuesta almacenará la
respuesta que el usuario escribirá a la pregunta, cual es la capital de:
Asignáremos a estas variables una función para captura de datos desde el teclado de tipo string o
cadena, como se puesta a continuación.
Ya está funcionando, ahora lo que tenemos que hacer es la evaluación de la respuesta, si la
respuesta que da el usuario es igual al azar de lista de capitales, la respuesta es correcta.
TM
Recordemos, que cuando hacemos una pregunta ask, lo hacemos por medio de una función y para
invocarla, debemos asignar a una variable la pregunta, el resultado de la pregunta, quedara en la
variable a la que le asignamos la pregunta. Por lo tanto, el valor final de world.Pregunta, será lo
que el usuario haya escrito como respuesta.
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Esta evaluación plantea, si world.Pregunta es igual al número aleatorio que contiene azar de la
lista capitales, lo tenemos, es correcto.
Por ejemplo, el azar vale 5, por eso la pregunta es sobre Costa Rica, obviamente la respuesta
correctas es el elemento no. 5 de la lista capitales, que es San José.
Cuando hacemos
debería aparecer lo siguiente (asumiendo que azar es una valor
de = 5.. hsta 5.99), esto muestra lo siguiente:
Entonces, si world.Pregunta = San José y world.Respuesta = San José
Entonces, la respuesta es correcta, se viene a ejecutar la instrucción que esta inmediatamente
después del If
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
De otra manera, si respondo otra cosa, por ejemplo San Pedro
Bien ahora, si world.Pregunta = San José y world.Respuesta = San Pedro
Significa que la respuesta es incorrecta, y se viene por el lado del Else (sino), no toca nunca la
instrucción después del If.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
JUEGO-HELICOPTERO CON NAVEGACIÓN
Este ejemplo, muestra como programar un juego en Alice, donde un helicóptero se podrá
desplazar el “mundo”, utilizando las fechas de navegación
Ingrese en Alice:
Haga un clic al botón verde de ADD OBJECTS
Busque la galería de imágenes de vehículos, hacia la derecha
TM
PDF Editor
Esta es la galería que tiene el helicóptero que necesitamos.
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
, haga un clic y veras las figuras de esta galería de imágenes:
Este es el helicóptero que queremos (fondo amarillo), haga un clic en él.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Haga clic en ADD instance to world
Y le aparecerá en el mundo (World) lo que sigue:
Ya tenemos el Helicóptero, y démosle clic en
Ahora haga un clic en
the arrow key move
<subject>,
.
Deje
, crear un nuevo evento, elija la opción let
que la fechas muevan al sujeto.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Le aparecerán la flechas direccionales para mover, y observe que dice camera, debemos cambiar
la camera por el helicopter.
Haga un clic en
, y seleccione helicopter, the entire helicopter.
Así deberá quedar( deje que las flechas muevan al helicóptero)
TM
Ahora, ya podemos probar el helicóptero y desplazarlo por el mundo, vaya a la opción
(Jugar o ejecutar), utiliza la flechas direccionales y veras…
PDF Editor
PROGRAME EN ALICE 2.2
Para terminar, solo haz un clic en
vueltas, sin perderlo de vista.
Pedro J. Fonseca Solano
, divierte un rato y trata de hacer que el helicóptero de
Ahora debemos crear otros métodos, para que el helicóptero parezca más controlable.
TM
PDF Editor
El mundo del helicóptero, se muestra en la figura anterior, es muy importante, que cuando
usemos un método que ya existe o cuando construyamos uno, debe estar asociado siempre a un
objeto del mundo.
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Observe, que el objeto helicóptero, esta seleccionado
, y en la ventana inferior
(helicopter´s details = Detalles del helicóptero), aparecen las opciones properties, methods y
functions (propiedades, métodos y funciones). Si tuviésemos más objetos, el que este seccionado
va presentar los detalles del mismo. En este caso observe que en métodos, el helicóptero tiene un
método que se llama heli blade. Que nos va a servir para hacer funcionar el rotor del helicóptero y
así las hélices.
Detalles del helicóptero
Nombre
Evento
Evento
Método
Tipo
heli on
Tecla E
heli
blade
local
Heli off
Tecla A
DPU
Heli sube
Tecla S
DPU
Heli baja
Tecla B
DPU
Tabla de eventos
Tabla de Eventos y métodos, los métodos “locales”, ya vienen con el objeto, y los métodos DPU
(Definidos por el usuario), son los que tenemos que hacer nosotros.
Construyamos el método heli on, vaya a crear nuevo evento: y seleccione When a key is typed
(cuando una tecla es digitada o tocada).
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Esta opción genera al final del área de eventos lo siguiente,
recuerde que cuando tenemos varios eventos, algunas veces no los vemos y debemos utilizar el
ascensor hacia abajo para ubicarlos.
Haz clic en any key selecciona las opciones letters y E.
Haz clic, en la opción
y selecciona la
opción letters, y luego seleccionamos la letra E,
para asociar el método heli blade, a la letra E.
El evento completo debe de quedar así:
Cuando la letra E, sea digitada, se ejecutará el
método heli blade, que hará que las hélices del
helicóptero se muevan.
TM
Ud. puede ver este método, si lo desea,
seleccionándolo y haciendo clic, en la opción Edit.
PDF Editor
Programación de tecla E
Explicación del método y evento
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Ahora vamos a crear el método definido por el usuario, heli Sube, para que el helicóptero puede
subir, Recuerde que el helicóptero debe estar seleccionado
contrario, nunca podríamos encontrar el método, en el objeto helicopter.
, pues en caso
Ahora haga clic en la el botón (Crear nuevo método)
Creación del método
Nombrado del método
Aquí se muestra el área de programación, debemos arrastrar hasta donde dice Do Nothing, las
diferentes comandos de programación, de acuerdo con las acciones que deseamos haga nuestro
método.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Arrastre la instrucción
, hasta el área del programa la instrucción para hacer
que el helicóptero suba un metro hacia arriba:
Note que la opción se pone con el contorno en color verde, eso significa que si lo puedes poner en
el área de programación, si esta en rojo, indica que esa no es el área de programación,
Así debe quedar el método heli Sube
TM
PDF Editor
Ahora vamos a crear el evento asociado a la tecla S, para que cada vez que se toque la tecla S, el
helicóptero suba.
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Vaya a crear nuevo evento y seleccione When a key is typed, cuando una tecla es tocada
Haz un cli en la opción any key, seleccionemos letters y escojamos la letra S, para asociar el
método heli Sube . Cada vez que presiones la tecla S, el helicóptero subirá 1 metro hacia arriba.
Bien, así debe aparecer ya la tecla S, asociada, ahora
lo que sigue es la opción do (hacer o ejecutar).
Haz clic en Nothing, luego en helicopter y finalmente
el método heli Sube.
Así se completa el evento, S que llama al método heli
Sube.
TM
Haz clic en
y ve a volar el helicóptero.
PDF Editor
Asignación del evento a la tecla S.
Opción do Nothing
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Creación del método, para controlar el helicóptero, haciendo que este baje cuando tocamos la
tecla B. Bueno es exactamente el mismo procedimiento para el método heli Sube, solo que la
instrucción será:
Y la asignación del evento a la tecla B, será como sigue:
Bien, así debe aparecer ya la tecla B, asociada, ahora
lo que sigue es la opción do (hacer o ejecutar).
Haz clic en Nothing, luego en helicopter y finalmente
el método heli Baja.
Así se completa el evento, S que llama al método heli
Sube.
TM
PDF Editor
Haz clic en
Asignación del evento a la tecla S.
y ve a volar el helicóptero.
Opción do Nothing
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Sonido, ahora vamos a agregar el sonido de un helicóptero, busque en internet y descárguelo,
guárdelo en una careta que usted decida, para que a la hora de utilizarlo, lo podamos hacer sin
problemas.
¿Cuál será el evento que active el sonido del helicóptero?, Bueno como nunca he manejado un
helicóptero, imagino que cuando se le da ignición o se enciende, el motor inicia su sonido, esto
significa que de los eventos que tenemos, el evento más adecuado es E, que en realidad llama al
método heli blade (este método hace que las hélices se muevan), por lo tanto vamos a analizar
este procedimiento, para poder determinar cuál es el mejor lugar para llamar al sonido. Recuerde,
que cuando la nave enciende, el sonido deberá sonar hasta que se apague.
Veamos cómo está hecho el método heli blade, diríjase a
y haz un clic en edit,
y aparecerá los detalles del método, normalmente aparecen cerrado y haz un clic en el
, para
abrirlo.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Vamos a introducir la instrucción de play sound, debajo del primer ciclo Loop, arratre el icono que
representa la instrucción:
hasta que llegue debajo de la primera instrucción helicopter.motorwing, como se muestra en la
siguiente figura:
De inmediato aparecerá la siguiente ventana, seleccione la
opción import sound file, la cual le mostrara un ventana de
exploración para que usted busque el archivo de sonido, con el
sonido del motor del helicóptero.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Acerque el curso al extremo derecho de esta ventana y cuando
aparece la flecha con puntas en los extremos, haga clic sin
soltarlo y amplíe el tamaño de la ventana, para que pueda ver
el botón de import y cancelar.
Busque la carpeta donde se
encuentra el archivo .wav,
con el sonido, haga un clic
en
el
archivo
paea
seleccionarlo, en nuestro
caso el archivo se llama
helicoptar.wav, y luego haga
clic en importar.
Después de este proceso, aparecerá
TM
Ya se agrego al método, la instrucción para que cada vez que se encienda el helicóptero, suene el
motor, ahora vaya a probarlo, verifique que tenga los parlantes conectados al computador y que el
volumen no esté pausado, buen viaje…
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
MIS EVENTOS HASTA EL MOMENTO:
La sentencia if then else, en el caso de Alice, se presenta como If/Else, que se utiliza para evaluar
condiciones, ya sea que sea verdadera o falsa y así tomar un decisión. Por ejemplo, queremos
hacer una adivinanza, con colores, entonces vamos a seleccionar un color y le vamos a preguntar a
algún amigo (a), para ver, si adivina el color. Por tanto, necesitamos 2 variables, miColor y
amigoColor, para poder comparar una variable con la otra.
Creamos una variable, y ponemos el nombre miCcolor
1.Damos el
nombre de
la variable
2.Tipo es
Other,
String
3. Y el valor
será
morado
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
1. Clic en World
2.Clic en Properties
3.Clic en crear una
nueva variable
Aquí aparece, nuestra primer variable creada,
como podemos ver, identificamos su
nombre:________________________ y su
contenido:______________________.
Que tipo de datos es? ____________________
Ahora crearemos la segunda
variable, y su contenido lo
dejaremos en blanco., porque
no sabemos que color va
decirnos nuestra amiga (o),
cuando le preguntaremos.
Modifiquemos, la opción value
de la variable, y seleccionamos
other y sustituimos default
string por un espacio en blanco
y hacemos clic en aceptar.
TM
Ahora vamos a necesitar una función, para solicitarle a usuario que nos conteste una pregunta, en
este caso le interrogaremos con: Adivina en que color estoy pensando?, para ello usamos la
funciones ASK USER, preguntarle al usuario y seleccionamos. Pero primero debemos arrastrar la
variable amigoColor al área de programación
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Al saltarla, nos pedirá que le asignemos el valor y este caso, usamos el “place holder” (modo
contenedor) y le asignamos default string (cadena o palabra por omisión), como se muestra en la
siguiente figura:
Asignación de espacio para el
contenedor,
en
este
caso,
seleccionemos default string.
Clic en funciones
Buscamos
las funciones
ASK USER, y
escogemos:
Ahora debemo agregar o insertar la función en el lugar
donde esta default string, o lo que es lo mismo, dar el
valor a set value to.
Esta función
, nos
permitirá, hacer la pregunta al usuario, para
que adivine el color que seleccionamos,
obviamente se supone que el usuario no sabe
que nosotros, escogimos el color morado. Y es
de esta manera por medio de la instrucción
IF/THEN, hacemos la evaluación
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Arrastramos, la función hasta el set value to
:
Al soltar la función, nos da varias opciones, en este caso vamos a seleccionar Enter a String:
Bien, lo que sigue es, hacer un clic en Enter a String y nos dejara entrar no modo edición, para
escribir nuestra pregunta: Adivina en que color estoy pensando?
Así deberá quedar, después de dar enter, para insertar la pregunta:
Excelente, ya tenemos la captura de datos, si quieres puedes hacer un clic en play, para que veas
la pregunta, deberá aparecer algo como lo que sigue:
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Claro está, que aún, no evaluamos nada aún, nos hace falta usar la instrucción
, recuerda
que esta función, nos permitirá comparar el valor de la variable amigoColor, con nuestra variable
miColor, que le asignamos el valor morado.
Entonces vamos a hacer la evaluación, para ello debemos arrastrar la sentencia
de programación, como se muestra en la siguiente figura:
, al área
Arrastre de la parte inferior el world.my first La instrucción, le solicitara si va a evaluar falso
method, la instrucción If/Else
o verdadero, en nuestro caso, lo haremos con
el verdadero
Seleccionemos entonces, la opción true como se muestra
en la figura de la izquierda. Y nos deberá aparecer, en el
área de programación la sentencia If/Else, lista para que
podamos realizar la comparación de variables
TM
PDF Editor
OK, Ahora debemos arrastrar la variable amigoColor hasta el área de true del If/Else
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Al soltarlo, nos preguntara sobre el tipo de
comparación, en este caso queremos comparar
que amigoColor, sea igual a miColor
El operador igual es, representando por un
doble igual, ==. Selecciónalo y ve a expresiones
(expressions), para poder seleccionar la
variable con que vamos a comparar
amigoColor.
Recuerda que, una expresión es una forma
valida en el lenguaje de programación para
plantear operaciones.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Aquí construimos la expresión,
que leemos:
Si amigoColor es igual a
miColor,
entonces,
sino
Asi queda la expresión completa en la
estructura If/Else, lo que sigue, es enviar un
mensaje, para el caso en que colorAmigo sea
igual a miColor, que sería Correcto, adivinaste y
en el Else, el caso contrario.
Al dar
, podrás evaluar la pregunta,
TM
PDF Editor
PROGRAME EN ALICE 2.2
si contestas morado, deberá aparecerá mensaje
Pedro J. Fonseca Solano
, en caso contrario, el
mensaje será:
Prueba, cambiando este programa, y pregunta por un número, en vez de un color, para que te
familiarices con la sentencia If/Else.
Hacerlo juntos, se utiliza para procesos paralelos, por ejemplo cuando queremos que un
humanoide mueva los brazos a la misma vez, al menos debe existir un método que servirá para
mover los brazos derecho e izquierdo, si ejecutásemos este método, se moverá, primeroTM
un brazo
y después el otro, por lo tanto, se trata de un proceso en paralelo, y lo hacemos con la sentencia
Do together, veamos el siguiente ejemplo:
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Coloquemos 3 figuras iguales, vamos a la opción
Luego, vamos a la galería de
imágenes llamada PEOPLE, es
la que se muestra en Figura 2.
Si Ud. Lo desea puede escoger
cualquier
figura,
pero
recuerde
que
queremos
mover los brazos y debe
constatar que la figura que
seleccione lo permita.
,
Seleccionamos a la clase Alicia, Luego vamos renombrarla, yo
como se muestra en la Figura le pondré Alicia, como se
3. y la insertamos en el muestra en la Figura 4.
mundo, como lo muestra la
figura 4.
Figura 1
Figura 2
Figura 4
Figura 3
Bien ahora queremos, crear un método en Alicia para mover las manos, para ello hacemos un clic
en Alicia y nos vamos a la propiedad Métodos y creamos un nuevo método y lo llamamos,
moverBrazos, como se muestra en la figura 5.
Figura 6
Figura 5
Selecciona a Alicia, y haz un Clic en la Además debemos seleccionar el brazo
opción create a new method.
derecho de Alice, como se muestra en la
figura 6.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Recuerde que debemos usar la estructura Do Together, entonces la insertamos en al área de
programación, como se muestra en la figura 7.
Figura 7
Ahora debemos arrastrar la instrucción rightArm roll, hasta el do together, como se muestra en la
figura 8, y soltarlo.
Figura 8
Seleccionamos el movimiento hacia la
izquierda del brazo derecho y la cantidad
será de un ¼ de revolución, como se indica
en la figura 9.
Ahora debes seleccionar, el brazo izquierdo
y hacer los mismo
Figura 9
Así debería quedar nuestro método de moverBrazos
TM
PDF Editor
Ahora, asignémoslo al evento principal, llamado: when the world start
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Así, queda ya el método asignado al evento,
Haz un clic en el triangulo del
y
dale play y veras a Alicia moviendo los brazos.
selecciona Alicia y luego el método que
acabamos de crear moverBrazos
Ahora puedes agregar al método, el procedimiento inverso, para
los brazos vuelvan a la posición inicial, y entonces le habras
enseñado a Alice a mover los brazos, prueba este código:
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
CONCEPTO DE FUNCION
Pedro J. Fonseca Solano
Una función es una expresión compuesta por varias expresiones, que nos permite resolver el
problema de realizar un cálculo o cómputo de un fenómeno medible. Desde el punto de vista
computacional, las funciones en algunos casos vienen ya preestablecidas dentro de los lenguajes
computacionales, como extensiones del mismo, para hacer más fácil la labor de programación de
soluciones a problemas, por ejemplo: en la mayoría de lenguajes existe la función Square root, sqr
o raíz cuadrada, sin embargo los lenguajes serian sumamente extensos, si incluyeran todas las
funciones. Por ello existen las funciones definidas por el usuario, para que los usuarios puedan
crear sus propias funciones, para resolver problemas.
En el caso de Alice 2.2, existen propiedades, métodos y funciones, para el mundo y para cada
elemento de insertemos en el mundo.
Las porpiedades, nos muestras los diferentes
valore o estados, de las variables dem
ambiente, dependiendo de donde nos
situemos, en el caso del World, como se puede
observar, tenemos el color de la atmosfera,
que es azul, pero que podemos cambiar de
acuerdo a nuestras necesidades.
En el caso de los métodos, world presenta:
Las funciones del Mundo, son todas aquellas
disponibles en Alice, desde que iniciamos el
programa, aquí se presentan las 9 categorías
principales, entendiendo cada categoría tiene
varias funciones.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
En el caso de la funciones definidas por el usuario, prácticamente cualquier expresión matemática
puede ser escrita en dicho lenguaje y construida paso a paso como una función, por ejemplo, la
suma resta y multiplicación, pueden convertirse en funciones. Si deseo crear una suma,
obviamente, debo conocer cuántos son los valores que quiero sumar y a partir de aquí, puedo
construir un método que describa paso a paso la sumatoria de N valores y una vez, 𝑖=1
𝑛 𝑖 = 𝑖 + 1.
Para que sea más representativo, usaremos 5 valores y los sumaremos 12 + 3 + 6 + 14.5 + 10.
Dichosamente, en el computador, podemos crear un programa para que sume cualquier cantidad
de valores.
En Alice, iniciamos creando las variables y declarándolas con el valor de cero. Eto lo hacemos en
World.
La variable cantidadNumeros, se utilizara para determinar cuantos valores vamos a sumar, en
nuestro ejemplo, le daremos el valor de 5.
n el caso de la variable Resultado, la utilizaremos para acumular la suma de los valores leídos (12,+
3, 6, 14.5 y 10).
La variable valor, la usaremos dentro de un ciclo, para ir introduciendo en el programa los 5
Valores
La función completa, que hace dicha
sumatoria, se presenta a continuación, y
procederemos a explicar detalladamente sus
partes. Ahora bien, para escribir la función
debemos primero que nada, hay que ir a
World y seleccionar functions y luego crate a
new functions
TM
Le asignamos el nombre sumatoriaN y es de
tipo numérico, como se muestra en el
cuadro de derecha. Haz un clic en OK, y
estaremos listos para iniciar con la creación
de nuestra función.
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Este es el área para escribir nuestra función, note que toda función siempre al final tiene un valor
de retorno, aquí podemos retornar el valor o resultado de nuestra función, no importa lo compleja
que sea nuestra función, al final nos dará un único valor, aunque podamos usar otros valores si
fuese necesario, en el caso de la sumatoria, lo que nos interesa de momento es el resultado final.
1
2
3
4
5
6
TM
Como se muestra en la primera línea de código de la función, a la variable cantidadNumeros,
solicitará al usuario que digite la cantidad de números que queremos sumar, es el usuario el que
dará este valor, se utiliza la función ask user for a number, que al final dejará en la variable el valor
que el usario digite, como se muestra en la siguiente figura:
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Aquí, se nos pregunta sobre cuantos valores deseamos sumar, pues el programa suma N valores,
lo que ocurre es que si deseamos sumar 1000 o más, tardaremos mucho digitando los mil números
o más, por lo que probaremos el programa con 5 valores.
Observe, que los valores de las variables, se muestran con la idea de seguir el programaTM
y ver los
cambios conforme se va ejecutando dicho programa.
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
A la interrogante, Digite el valor No:0, digitamos el valor 12 y hacemos clic en aceptar
Observe, que la variable resultado ahora tiene el primer valor que fue el número 12 y ahora
debemos escribir el segundo valor, el número 3 y hacer clic en aceptar.
TM
Note, ahora como los valores cambian, pues la variable valor, tendrá siempre el último valor
digitado de los N valores, que decidimos sumar, además el resultado va acumulando la suma de lo
que tiene la variable resultado más lo que tienen la variable valor, es decir 12 + 3 = 15.
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Ahora escribimos el tercer valor, y digitamos el número 6, después de hacer clic en aceptar,
tendremos las variaciones del caso, es decir, resultado será igual a _____ y valor será igual a ____.
TM
Puedes, verificar los valores de las variables, que pusiste en los espacios anteriores, donde te
solicitamos los valores y verificar que todo va bien.
PDF Editor
Excelente, el cuarto valor será 14.5
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Y finalmente, el último valor será el número 10, pues hemos sumado 5 números y el resultado
final es:
Pues tenemos; 12 + 3 + 6 + 14.5 + 10 = 45.5, como se muestra en la pantalla final
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
FUNCIÓN RANDOM NUMBER EN ALICE
El uso de números aleatorios o al azar, en cualquier lenguaje de programación es importante, para
crear variables, que no sabemos qué valor van a tomar en un momento determinado. Sabemos
cuál es su valor mínimo y máximo, pero cuando invocamos la función random no sabemos cual
valor se va a producir.
Ejemplo: Primero aprenderemos como carear una variable en Alice
Seleccionamos el mundo
en crear una nueva variable
, haciendo un clic y nos vamos a properties y hacemos un clic
Clic
Le damos el nombre azar a la variable, aue sea de tipo numérico y con valor inicial de 1, como se
muestra en la siguiente figura.
Nombre
Clic en
OK para
crearla
Tipo
Valor
Si observamos los detalles el mundo, notamos que ya la variable azar esta creada como se muestra
en la siguiente figura.
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Para ver dicha variable los podemos hacer de varias formas, la primera, que personalmente me
parece mas simple es: hacer un clic derecho en la variable
opción watch this variable, mostrar esta variable.
y seleccionar la
y al darle play, se mostrara dicha variable con el valor de 1, que fue
el valor que inicialmente se le asigno.
La otra forma es utilizando la instrucción
world.my first method.
Arrastre la instrucción
contorno esta en verde.
(imprimir), en el área de programación
, hasta el área de programación y suéltela cuando el color de su
TM
PDF Editor
al soltarlo aparecerá:
donde
debemos seleccionar objetos y buscamos nuestra variable, como se muestra en la siguiente figura:
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
y a hacer clic en world.azar, aparecerá los siguiente:
Al darle
, se mostrara al final de la pantalla lo siguiente
Cuánto vale la variable azar?, 1 o 1.0, parece algo sin importancia, pero en los lenguajes y
ambientes de programación, esas representaciones hacen referencia a dos tipo de valores,
enteros y fracciones, donde 1 es un entero (integer) y 1.0 es una fracción (real), en el caso de Alice
los números enteros los trata como reales, por esa razón, existe la función int
,
que tomo el valor numérico y lo convierte en entero (int) y finalmente lo convierte o pasa como un
string, o cadena para imprimirlo. Probémoslo: Vaya a
, seleccione la pestaña de
, vaya hasta el final de las funciones de matemática avanzada (advanced math) y
seleccione la función
figura se lo muestra:
y arrástrela hasta
, la siguiente
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Ahora, debemos seleccionar expresión y luego world.azar
Haga un Clic
Haga un Clic
Excelente !!!, ahora ya tenemos la variable azar con la función int, como se muestra en la siguiente
figura:
Haga clic en el botón
y vea lo que ocurre:
, de lo anterior,
deducimos que la instrucción
, para los números, los toma como reales y en el caso del
clic derecho a la variable con la opción
, muestra al darle play el valor como
entero, sin embargo cuando afectamos la variable con cualquier valor, también lo muestra como
un real, parece que solo lo hace cuando la variable se declara en 1, al inicio y esta no toma ningún
otro valor.
Lo importante es que Ud., recuerde
que si quiere la parte entera de una
variable
usa
la
función:
TM
PDF Editor
Reto, que hace entonces la función
, pruébalo.
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Para continuar y utilizar la instrucción RANDOM, borremos el área de programación, haz un clic
derecho en la parte anaranjada de la instrucción print y seleccione borrar (delete). Y el área de
programación world.my first method, nos queda limpia.
Ahora vamos a arrastrar hasta el área de programación, la variable azar, para asignarle su valor,
arrastre la variable, como se muestra en la siguiente figura:
1. Arrastre
AZAR
2. Seleccione VALUE
(Valor)
3. Seleccione
EXPRESSIONS y escoja world.azar
Una realizado, las instrucciones anteriores, nos quedará la siguiente expresión:
Ahora vamos a arrastrar la función random hasta el set value to
TM
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
Bien, y insertamos la función, y se interpreta de la siguiente manera, la variable azar tiene
asignado el valor de un número aleatorio.
Pero ahora debemos, establecer el rango de los valores aleatorios que queremos, en este caso
vamos a fija el mínimo como 1 y el máximo como 5:
1. Haga clic en
, note que es
el triangulo del
random.
2. Haga clic en,
minimun e
introduzca el valor
de 1
3. Seleccione
máximum e
introduzca el valor
de 5
TM
PDF Editor
4. Finalmente,
seleccione solo enteros
y los fija como true, o
sea verdadero
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
El resultado será la siguiente expresión:
La variable azar, se le asigna como valor el rango de 1 a 5, de número enteros, por lo tanto la
salida será siempre un número entre 1 y 4, porque al máximo valor del rango, se le resta 1.
,
.. y así sucesivamente las veces que hagamos clic en
Restart, obviamente sólo los valores de 1 a 4, nunca saldrá el valor máximo 5.
Si deseamos generar los números al azar del 1 al 5, debemos establecer el rango del mínimo 1 y
máximo 6., por ejemplo:
Si hacemos clic en el botón
, anote, cual es el valor de azar, y luego haga clic 4
veces en el botón
, anote el valor de azar en
compare los valores con sus compañeros.
Veces: 1
2
3
, cada vez que hace clic en restart,
4
5
1. Explique que es un numero al azar o aleatorio?
2. Cuál es la diferencia entre usar el IntegerOnly como True (Verdadero) o False (Falso) en la
función que sigue:
3.
, esta función sirve para?
Amigas y Amigos, espero que este manual les sea de utilidad, y puedan tenerlo como referencia
TM
para su trabajo docente, les agradezco cualquier, comentario o sugerencias y me pueden escribir a
la siguiente dirección : [email protected], y pueden
visitar la página
pfonsecalice.jimdo.com, donde seguiré compartiendo el trabajo con ustedes. This is a free gift to
you from Pedro J. Fonseca Solano. Febrero 2011.
PDF Editor
PROGRAME EN ALICE 2.2
Pedro J. Fonseca Solano
TM
PDF Editor

Documentos relacionados