From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

algorithme vers labview

Résolu !
Accéder à la solution

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


0 Compliments
Message 1 sur 13
3 822 Visites

Bonjour,

 

Oui c'est tout à fait possible Smiley très heureux

 

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.

Cordialement,

Simon D.
CLA | Certified LabVIEW Architect
CTA | Certified TestStand Architect
0 Compliments
Message 2 sur 13
3 815 Visites

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.

 

Bench_3.png

 

 

0 Compliments
Message 3 sur 13
3 809 Visites

non, je me suis complètement planté Smiley surpris

 

comme ceci, c'est beaucoup mieux.

 

original5.png

0 Compliments
Message 4 sur 13
3 800 Visites

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.

original5.png

0 Compliments
Message 5 sur 13
3 796 Visites

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

 

 

Tout télécharger
0 Compliments
Message 6 sur 13
3 791 Visites

Rotate Right

 

Palette : Numeric / Data Manipulation

 

0 Compliments
Message 7 sur 13
3 787 Visites

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.

0 Compliments
Message 8 sur 13
3 783 Visites

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)

0 Compliments
Message 9 sur 13
3 772 Visites

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

0 Compliments
Message 10 sur 13
3 762 Visites