le 05-02-2012 10:28 AM
Bonjour,
Est-il possible de traduire l'algorithme suivant en labview :
n=7
Pour (i=1) à (n+4) faire
Si (i est pair) et (i <=(n+3)) alors
Opération 1
Sinon
Si (i est impair) et (i <=(n+3)) alors
Opération 2
Sinon
Si (i est à (n+4)) alors
Opération 3
Finsi
FinSi
Finsi
Finpour
Merci
Djamel
Résolu ! Accéder à la solution.
le 05-02-2012 11:12 AM
Bonjour,
Oui c'est tout à fait possible
Tu peux utiliser une boucle for, avec une structure case à l'intérieur. Tu peux utiliser directement le i de la boucle, et réaliser les tests dessus.
N'hésites pas à poster du code en fonction de ton avancement, pour que l'on puisse te guider plus précisément.
05-02-2012 11:32 AM - modifié 05-02-2012 11:33 AM
la dernière condition n'est pas claire ... "Si (i est à (n+4)) alors" ... si i 'est quoi"???
mais en supposant que c'est "si i est = à (n+4)" ... alors ça donne un truc comme ça :
J'ai fait ça en 3min ... l'erreur n'est donc pas exclue (je pense qu'il n'y en a pas)
Je n'ai pas le temps de vérifier de suite.
05-02-2012 01:45 PM - modifié 05-02-2012 01:55 PM
non, je me suis complètement planté
comme ceci, c'est beaucoup mieux.
le 05-02-2012 01:59 PM
Le time-out de ce forum est réellement une "*******" (mot censuré par le comité d'éthique)
Obligé de re-poster ... pas moyen de corriger après un certain temps (court)
Donc, voila ... juste une petite erreur de porte, une AND au lieu d'une OR.
le 05-02-2012 03:27 PM
Bonsoir,
Voici le vi que j'avais réalisé, je ne sais pas si l'on peut faire plus simple.
Merci à toi Ouadji pour ta solution mais je ne peux la mettre en oeuvre car je ne vois pas à correpondant un des tes éléments (cf. fichier joint). Ce vi n'est pas disponible sur ma palette (je travaille avec labview 8.2). J'imagine que cela doit être une FIFO.
Bonne soirée.
Djamel
le 05-02-2012 03:31 PM
05-02-2012 03:38 PM - modifié 05-02-2012 03:43 PM
J'ai regardé ta solution.
non, ce n'est pas correct.
Tu as fait la même erreur que celle que j'ai faite dans ma "1ere" solution.
Si Operation_1 est exécuté, alors, quelque soit la valeur de "i", Operation_3 ne le sera jamais.
Les conditions d'execution de "Operation_2" ne sont pas correctes non plus.
Avec ton code, si "i est pair" ET "i > (n+3)" ... alors Operation_2 ok ... ce n'est pas correct.
PS : dans une boucle FOR, i commence à 0, pas à 1.
05-02-2012 03:48 PM - modifié 05-02-2012 03:54 PM
n=7
Pour (i=1) à (n+4) faire
Si (i est pair) et (i <=(n+3)) alors
Opération 1
Sinon
Si (i est impair) et (i <=(n+3)) alors
Opération 2
Sinon
Si (i est à (n+4)) alors si i est xxx à (n+4) ... il manque quelque chose ici !
Opération 3
Finsi
FinSi
Finsi
Finpour
Pourrais-tu me donner cet élément manquant, merci.
EDIT
dans ta solution, tu compares "i" à "3" ...
Ce n'est pas à "3" qu'il faut comparer , mais à (n+3)
le 05-02-2012 04:24 PM
Effectivement, j'ai vu mes différentes erreurs.
Pour répondre à ta question et compléter mon algorithme, la condition manquante est si i >= (n+4).
Cordialement.
Djamel