Parcours Le bulletin de notes Étape 1
Saisir des notes dans un tableau
Demander combien de notes saisir, les lire une par une en refusant celles qui ne sont pas entre 0 et 20, et les ranger dans un tableau.
Notions :tableauajoutepourtant quejoindre
Un tableau range plusieurs valeurs sous un seul nom. Il est vide à sa déclaration, et ajoute place une valeur à la fin :
notes est un tableau notes ajoute 15 notes ajoute 12.5
Une question qui change à chaque tour
demande peut afficher le contenu d'une variable texte. On fabrique la question avant de la poser :
question vaut "Note n° " + convertir_texte(i) + " (sur 20) : " demande question dans note
Refuser les notes impossibles
Une note de 25 ou de -3 n'a pas de sens. On redemande tant que la note est hors limites :
note vaut -1
tant que note < 0 ou note > 20
demande question dans note
fin tant queOn met note à -1 juste avant, pour être sûr d'entrer dans la boucle au moins une fois.
Afficher le tableau
joindre(notes, " ; ") assemble toutes les valeurs en un seul texte, séparées par « ; ». Les décimales se tapent avec un point (12.5) et s'affichent avec une virgule (12,5).
Ouvrez CoddyRun et partez d'un programme vide : tout commence ici.
Indice 1
Déclarez notes comme tableau, nb et note comme nombres, question comme texte.
Indice 2
La boucle pour i de 1 à nb contient : la question, la boucle tant que de vérification, puis notes ajoute note.
Indice 3
Pour aller vite pendant les tests, saisissez 3 notes seulement.
Voir la solution complète
Essayez d'abord par vous-même : c'est en cherchant qu'on apprend. La solution sert à vérifier ou à se débloquer.
@ Les déclarations
notes est un tableau
nb, note est un nombre
question est un texte
@ La saisie
html("<h2>Le bulletin de notes</h2>")
demande "Combien de notes voulez-vous saisir ? " dans nb
pour i de 1 à nb
question vaut "Note n° " + convertir_texte(i) + " (sur 20) : "
note vaut -1
tant que note < 0 ou note > 20
demande question dans note
fin tant que
notes ajoute note
fin pour
affiche "Notes saisies : " + joindre(notes, " ; ")