Les dix erreurs du débutant
Tous les débutants font les mêmes erreurs. La bonne nouvelle : une fois qu'on les connaît, on les repère en quelques secondes. Voici les dix plus fréquentes.
Les erreurs d'écriture
1. Oublier de fermer un bloc. Chaque si attend son fin si, chaque pour son fin pour, chaque tant que son fin tant que. L'indentation aide à vérifier.
2. Coller le mot de fin. On écrit fin si en deux mots. finsi n'existe pas.
3. Écrire un bloc sur une seule ligne. si x > 0 alors affiche x fin si est refusé. Il faut trois lignes :
x est un nombre vaut 5
si x > 0 alors
affiche x
fin si
4. Oublier un guillemet. Un texte qui s'ouvre doit se fermer : 'Bonjour sans apostrophe de fin provoque une erreur. Et si le texte contient une apostrophe, entoure-le de guillemets doubles : "C'est gagné".
Les erreurs de nombres
5. La virgule décimale. Dans le code, un nombre décimal s'écrit avec un point : 3.14. La console, elle, affiche 3,14, ce qui est normal.
6. La virgule collée entre deux arguments. Mets toujours une espace après la virgule : hasard(1, 6). Écrit hasard(1,6), CoddyRun lirait le nombre décimal 1,6.
7. Confondre = et vaut. vaut range une valeur ; = compare deux valeurs.
score est un nombre
score vaut 10 // on range 10 dans score
si score = 10 alors // on compare score et 10
affiche 'Dix points !'
fin si
Question : Quelle ligne range la valeur 3 dans la variable vies ? — vies vaut 3. vaut range une valeur. = sert uniquement à comparer, dans une condition.
Les erreurs de variables
8. Utiliser une variable sans la déclarer. Toute variable se déclare avant, avec son type : total est un nombre. Une faute de frappe dans le nom (totale au lieu de total) donne la même erreur : « Variable inconnue ».
9. Choisir un nom interdit. Un nom de variable ne peut pas être un mot du langage, comme de, pas, cas, fois, a, nombre ou texte. Il ne peut pas non plus reprendre le nom d'une fonction de CoddyRun : longueur, somme, hasard, cercle, position...
// à la place de « nombre », « somme » ou « position » :
quantite est un nombre vaut 3
totalNotes est un nombre vaut 0
placeJoueur est un nombre vaut 1
affiche quantite + totalNotes + placeJoueur
10. Mélanger texte et nombre. Avec un texte, + colle au lieu d'additionner. Si une saisie doit servir dans un calcul, déclare la variable comme nombre :
age est un nombre
demande 'Ton âge ? ' dans age
affiche 'L’an prochain : ' + (age + 1) + ' ans'
Deux pièges de plus
Les index. Un tableau commence à l'index 0, un texte à la position 1. Le dernier élément d'un tableau est donc à longueur(tableau) - 1.
Les procédures. Une procédure se lance avec appelle : appelle saluer('Léa'). Sans appelle, CoddyRun ne comprend pas la ligne.
Le bon réflexe
Quand une erreur s'affiche :
- Lis le message en entier : il donne le numéro de la ligne et la cause.
- Regarde cette ligne, mais aussi celle juste au-dessus : un oubli se remarque souvent une ligne plus loin.
- Corrige une seule chose à la fois, puis relance.
La commande Analyser la syntaxe de l'éditeur trouve la plupart de ces erreurs avant même d'exécuter le programme.
En résumé
- Fermer chaque bloc, avec
fin si en deux mots, sur sa propre ligne. - Point pour les décimales, espace après les virgules.
vaut range, = compare.- Déclarer chaque variable, avec un nom qui n'est pas déjà pris.
- Lire le message d'erreur jusqu'au bout.