Le Quiz de présidents

Durée estimée: 90 minutes

Version textuelle

Présentation

Le quiz des présidents est représentatif d'applications où les utilisateurs naviguent dans une liste de données.

Vous allez utiliser une variable comme index qui garde en mémoire le numéro ou la position courante dans la liste (i.e. le numéro de la donnée en cours d'utilisation).
Vous allez aussi utiliser plusieurs listes parallèles :
* une liste pour les questions,
* une pour les réponses correspondantes,
* et une pour les images associées à chaque question.

Objectifs: Dans cette leçon vius allez apprendre à

  • naviguer dans une liste en utilisant une variable d'index
  • sélectionner des items dans une liste 
  • vérifier si vous arrivez à la fin de la liste
  • exploiter plusieurs listes en parallèle.

Note: en français, nous avons retenu le terme d'index polutôt que celui d'indice (par souci d'homogénéité avec la terminologie anglaise).

Tutoriel

Pour commencer, ouvrez App Inventor dasn un onglet séparé avec le modèle du quiz des présidents et suivez les quatre étapes du tutoriel qui suit.

1 Faites le Design de votre Interface Utilisateur 2. Programmez le Bouton "suivant"
3. A la fin du Quiz? 4. Vérifier les réponses

Auto-contrôle

Not yet started
1 point
Quel est le nom à l'index 3 de la liste suivante?
Entrez votre réponse dans la case. L'orthographe compte.

Not yet started
1 point
Quelle est la longueur de la liste suivante ?
Entrez votre réponse dans la case.

Not yet started
1 point
Quelle sera la valeur de la variable globale name après avoir cliqué sur Button1 ?
Entrez votre réponse dans la case. L'orthographe compte.

Not yet started
1 point
Quelle sera la valeur de la variable globale name après avoir cliqué sur Button1 ?
Entrez votre réponse dans la case. L'orthographe compte.

Not yet started
1 point
Trouvez le bug.
auand Button1 est cliqué, Label1 devrait être mis à jour avec le nom sélectionné
dans la liste names par la procédure displayName . Mais le texte du label ne change jamais. Pourquoi ?

Not yet started
1 point
Les blocs suivants définissent ce qui doit se apsser quand l'utilisateur clique sur le bouton "Next" dans l'application Quiz:

Il y a une erreur (assez subtile ...) qui fait que le quiz ne va pas marcher comme on le souhaite. Où est le problème ?

Sample AP CSP Exam Question

Not yet started
1 point
Un centre de vacances propose deux activités, une le matin et l'autre l'après-midi.
listeDuMatin est la liste des noms d'enfants inscrits le matin, et
listeApresmidi est la liste des noms d'enfants inscrits l'après-midi.

Les enfants qui participent aux deux activités (matin et après-midi) déjeunent sur place, les autres déjeunent chez eux.
Le directeur du centre veut créer une liste listeDejeuner, qui contiendra le nom des enfants inscrits aux deux activités.

Les lignes de code doivent créer cette liste listeDejeuner, qui est vide au départ.
Elles font appel à la procédure EstDans (liste, nom), qui renvoie
vrai si nom est trouvé dans liste, et
faux sinon.
Note : La fonction AJOUTER (liste, nom) ajoute nom à la liste. Elle correspond à la fonction APPEND en anglais

POUR CHAQUE enfant DANS listeDuMatin
{
  <CODE MANQUANT> 
}

Lequel des codes suivants en remplacement de  <CODE MANQUANT> va donner
le résultat attendu ?

Pour votre Portfolio

Créez une page nommée "Quiz des Présidents" dans la catégorie "Réflexions" de votre portfolio, puis répondez aux questions suivantes :

  1. Décrivez la signification de la variable globale "index". Comment est t'elle utilisée dans cette application ? A partir de cette réponse, indiquez en quoi l'indexation peut être important en programmation ?
  2. A apartir de ce que vous avez appris sur les listes et l'indexation, comment pourriez vous améliorer cette application pour réaliser des Quiz à choix multiples ?