|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

App inventor 2 en español
Cómo programar los teléfonos móviles con Android.
Tutorial de App inventor 2 - Juan Antonio Villalpando

-- Tutorial de iniciación de App Inventor 2 en español --

Volver al índice del tutorial

____________________________

55A.- Preguntas tipo test. (II)

p55A_preguntas_tipo_test_archivo.aia


- Este ejemplo es la ampliación del anterior.

- La diferencia fundamental es que los datos, en vez de tomarlo de una Lista, la vamos a tomar de un archivo llamado tipo_test.csv

- De esta manera, el realizador del test tendrá más facilidad para construirlo, solo tendrá que poner las preguntas, opciones y respuesta correcta en el archivo tipo_test.csv.

Como ya hemos visto en otra ocasión, los archivos csv (valores separados por coma), son archivo que contienen datos separados por coma y por cambio de líneas. Se pueden considerar como una base de datos. Si en vez de separar los datos por coma, los separamos por punto y coma se abrirán fácilmente con el Excel. (también se pueden abrir con el Excel si están separados por coma, pero puede parecer algo más complicado).

- Creación del archivo de preguntas y respuestas. Cargar el archivo en el móvil.

- Con el Bloc de notas (te aconsejo que bajes de Internet el Notepad ++, es muy bueno), creas en tu ordenador un archivo llamado tipo_test.csv y escribe el siguiente contenido:

tipo_test.csv
Capital de Francia;Roma;París;Berlín;París
Capital de Italia;Londres;Moscú;Roma;Roma
Capital de Portugal;Roma;Lisboa;Atenas;Lisboa
Capital de Alemania;Berlín;Moscú;Roma;Berlín
Capital de Rusia;París;Roma;Moscú;Moscú
Capital de Polonia;Londres;Varsovia;Roma;Varsovia

Establece la codificación en UTF-8 para poder poner los acentos.

En el campo 1 observamos la pregunta: Capital de Francia;
En los campos 2, 3 y 4 las opciones: Roma;Paris;Berlin;
En el campo 4 la respuesta correcta: Paris

Observamos que los campos están separados por punto y coma;

Una vez creado y guardado en tu ordenador, pulsa el archivo con el Excel de Windows, observarás que se abre como una Hoja de Cálculo.

 

- Cuando el usuario quiera cambiar las preguntas solo tendrá que ir al Notepad o al Excell, cambiarlo y volverlo a cargar en la aplicación, de esta manera podremos facilmente tener una biblioteca de archivos con preguntas.

____________________________________

- Diseño.


- Observa que he cargado el archivo tipo_test.csv


____________________________________

- Bloques.

- Cuando pulsamos el Inicio, se lee el archivo tipo_test.csv.

- Se sustituyen los punto y comas por comas, y se asigna a la Lista pregunta. Lo pasamos de formato CSV a formato Lista.

- Los separadores de campo son punto y coma para que el Excel pueda leer directamente el archivo.
- En el código paso los punto y coma a coma, para que pueda ser interpretado como CSV, ya que este Android toma la coma como separador de campo.

- Se podría haber creado desde el principio los separadores con coma, de esta manera nos ahorraríamos el bloque de sustitutir.

- Ya tenemos en la Lista preguntas con la información de preguntas y respuestas.

- Las variables a, b y c serán las opciones. La variable respuesta, la solución.

El Botón btn_Inicio, inicializa las variables y varias Etiquetas además carga el archivo.

Cuando pulsamos el Botón btn_Siguiente...

Añadimos un 1 a siguiente que actuará como índice de la Lista. Tomaremos el índice siguiente de la Lista pregunta:

Capital de Francia, Roma,Paris,Berlin,Paris

Estas las introduciremos en otra Lista llamada opciones, pasará directamente de la siguente manera a
la Lista opciones

1 Capital de Francia
2 Roma
3 Paris
4 Berlin
5 París

El índice 1 es la pregunta que se presentará en la Etiqueta1

Los índices 2, 3 y 4 son las opciones a, b y c que aparecerá sobre los Botones 1 (Roma), 2 (París) y 3 (Berlín).

La variable respuesta tomará el índice 5, en este caso París

 

Cuando pulsamos el Botón 1, 2 o 3, se tomará el texto del botón pulsado y se asignará a la variable texto_botón. Se llamará al procedimiento comprobar.

El procedimiento comprobar, comprobará si el texto del botón pulsado es igual a la respuesta.
En caso que sea igual se sumará uno al acierto.
En caso contrario se restará uno al acierto.

Se presentará en la Etiqueta3 la puntuación de aciertos.

____________________________________

- Mejora. Los textos sobre los botones se colocan de forma aleatoria.

p55A_preguntas_tipo_test_archivo_alea.aia

Las opciones apareceran desordenadas aleatoriamente.

- Cada vez que iniciemos las preguntas, el texto en los Botones aparecerá de la forma en que está en el archivo

tipo_test.csv
Capital de Francia;Roma;París;Berlín;París
Capital de Italia;Londres;Moscú;Roma;Roma
Capital de Portugal;Roma;Lisboa;Atenas;Lisboa
Capital de Alemania;Berlín;Moscú;Roma;Berlín
Capital de Rusia;París;Roma;Moscú;Moscú
Capital de Polonia;Londres;Varsovia;Roma;Varsovia

Vamos a realizar un código para que cada vez que se presenten las opciones estén desordenadas, es decir que una vez aparezca para la misma pregunta (Capital de Francia):

Roma Paris Berlin

y en otra ocasión

Berlin Roma Paris

y en otra

Paris Berlin Roma

por ejemplo.

Se puede realizar de varias formas, como estos son ejemplos de aprendizaje voy a utilizar un algoritmo que creo se puede entender.

Dispongo de tres variables x y z

La variable x obtiene un número aleatorio de 2 al 4
La variable y obtiene un número aleatorio de 2 al 4 y mientras sea igual al de la x, crea otro hasta lograr uno que no sea igual
La variable z obtiene un número aleatorio de 2 al 4 y mientras sea igual al x o al y, crea otro hasta lograr uno distinto a los dos.

De esta manera obtendremos tres números en las variables x y z

Por ejemplo: 234 o bien 243 o bien 324 o bien 342 o bien 423 o bien 432

De tendremos asignado los número 2 3 4 a x y z de manera desordenada y no repetida.

Cambiamos el btn_Siguiente

llamando al procedimiento alea

obtendremos cada vez un valor de x y z

de manera que esos índice aparecerán cada vez desordenados.

__________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información