Programmer avec le langage Linotte
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Programmer avec le langage LinotteConnexion

Besoin d'un conseil sur la programmation en Linotte ?

Le Deal du moment :
Pokémon EV06 : où acheter le Bundle Lot ...
Voir le deal

descriptioncasier - clone casier Emptyclone casier

more_horiz
Bonjour,

Dans l'exemple ci-joint, je ne comprends pas où, je fais erreur, l'instruction "vsCar=#vsCarac{n-1}" n'est pas reconnue.

Livre : car
("Spécification 1.2.2")
("Auteur : pat")
Bibliothèque :
Espèces :
Grands rôles :
vsTabcar est un casier de texte depuis "vsTabcar.txt"
vsCarac est un casier de texte valant "r","o"
vsCar est un texte vide

Paragraphe : c
Rôles :
n & Lgm & vsPos & vsId est un nombre
Souffleurs :
Actions :
vsId=0
Lgm=2
Pour n de 1 à Lgm suivant n+1, lis
affiche "carac="+vsCarac{n-1}
vsCar=#vsCarac{n-1}
Cherche vsPos, la position de vsCar dans vsTabcar
affiche "vsPos1="+vsPos
Si vsPos est égal à 0 alors lis
"POSZERO"!
Ajoute #vsCarac{n-1} dans vsTabcar
vsLgtab=vsLgtab+1
vsPos=vsLgtab
ferme
affiche "vsPos="+vsPos
vsPos= logn vsPos
vsId=vsId+ exp (vsPos*logn (1/n))
vsPos=0
ferme

descriptioncasier - clone casier Emptyclone casier

more_horiz
Essaye avec
vsCar=#(vsCarac{n-1})

descriptioncasier - clone casier Emptyclone casier

more_horiz
ça marche,Smile

Toutefois, j'ai encore besoin de votre aide, en effet avec le même livre, avec vsTabcar vide au départ, le message "POSZERO" n'apparaît qu'une fois au lieu de 2 (car il y a 2 caractères à ajouter...), je ne vois pas pourquoi, ce doit être l'effet vacances :;
):

descriptioncasier - clone casier Emptyclone casier

more_horiz
j'ai réglé ce problème, cependant pourquoi doit-t-on maintenant ajouter des parenthèses pour le clonage de casier ? Ca alourdi la syntaxe...

descriptioncasier - clone casier Emptyclone casier

more_horiz
Honnêtement, le message d'erreur n'est pas très clair.
Les parenthèses viennent du fait qu'il y a des priorités au niveau des opérations comme le + et le - sont moins prioritaires au * et /.
Le # est encore moins prioritaires...
Pas facile de trouver la bonne recette !

descriptioncasier - clone casier Emptyclone casier

more_horiz
En fait, le problème était dû à cette partie du livre:

Ajoute #vsCarac{n-1} dans vsTabcar
vsLgtab=vsLgtab+1
vsPos=vsLgtab

où il faut aussi ajouter des parenthèses, alors même que linotte ne signale pas d’erreur, tout ceci n’est absolument pas grave, il me semblait seulement que cette ajoute de parenthèses n’était pas nécessaire dans les versions précédentes, non ?

descriptioncasier - clone casier EmptyRe: clone casier

more_horiz
privacy_tip Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
power_settings_newSe connecter pour répondre