Bonjour a tous, je suis débutant en C, et je me demande comment s'écrit le "tant que" en C, si quelqu'un peut m'aider je le remercie
Version imprimable
Bonjour a tous, je suis débutant en C, et je me demande comment s'écrit le "tant que" en C, si quelqu'un peut m'aider je le remercie
while
Ca fait parti des bases de chez bases ca:Code:while ()
Cours vite acheter un livre de C... Des réferences de livres et de tutoriels sur mon site !Citation:
Envoyé par adjii
Merci mais justement non, while c'est pendant, ce que je veux c'est tant que.
Exemple :
tant que (C<N)
faire X='1';
sinon si (C>=N)
faire X='0';
C'est peut etre la base mais je ne programme jamais et je dois écrire ça en C.
Alors c'est quoi le tant que ?
Merci
Où as-tu appris le C ? Tu n'auras pas d'autres réponses à ce sujet, c'est while pour presque tous les langages et rien d'autres !Citation:
Envoyé par adjii
Quelle est la sémantique de tant que et sinon si dans ton pseudo-langage ?Citation:
Envoyé par adjii
Je suis désolé CSlodier, je ne voulais véxer personne, c'est vrai que je ne connais pas grand chose au C. A vrai dire ce que je ne comprends pas comment on peut dire que pendant et tant sont équivalent, mais, c'est pas bien grave.
Ce que je veux c'est simplement écrire le petit programme que j'ai donné comme exemple, je pense que ça m'aidera à comprendre.
En fait, X ne peux prendre que 2 valeurs '1' ou '0' et je veux donc qu'il soit à '1' tant C<N et à '0' le quand C>=N, mais je ne veux pas un if pour faire le programme.
Je pense pas que ça soit compliqué mais je ne sais pas le faire.
EN fait, c'est juste pour faire un organigramme que je veux faire ce programme parce qu'il s'écrit en C avec DAC-C
Code:
1
2
3
4 while(c<n) x = 1; x = 0;
En pseudo langage, je l'écriraisCitation:
Envoyé par adjii
Ce qui se code en C:Code:
1
2
3
4
5
6
7
8
9 BEGIN IF C<N BEGIN X := 1 ELSE X := 0 END END
Maintenant, si c'est autre chose, il faut que ta spécification soit plus précise. 'TANT QUE' en langage algorithmique signifie WHILE et implique une notion de boucle (saut arrière).Code:
1
2
3
4
5
6
7
8
9
10
11 { if (C < N) { X = 1; } else { X = 0; } }
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 BEGIN | +-->| N | <TEST>---+ | |O | | ACTION | | | | +---+ | | +------+ | END
Pour les précisions, en fait, c'est quelque chose de récursif, disons que le programme ne fait que passer de '1' à '0' suivant la valeur de N qui peut être comprise entre 0 et 500, cette valeur de N change et doit être comparée à C (C est un compteur), tout cela se répète indéfiniment. Et j'aimerais faire un bel organigramme en plus de l'explication en français. Je n'ai trouvé que le logiciel DAC-C gratuit pour pouvoir le faire mais il faut écrire en C c'est pour ca que je pose desquestions pour le C.
Récursion infinie ? Laisse tomber, ça n'existe pas. Itération obligatoire.Citation:
Envoyé par adjii
Garce à vous, je suis presque au bout, est ce qu'on peut envoyer des images sur le serveur du forum ?
Oui, en pièce jointe.Citation:
Envoyé par adjii
J'ai tapé le programme de skyrunner(merci a toi) et j'obtiens ton dessin la :
BEGIN
|
+-->| N
| <TEST>---+
| |O |
| ACTION |
| | |
+---+ |
|
+------+
|
END
J'ai mis l'image en pièce jointe, elle est pas belle ?
Par contre, je devrais peut etre mettre une boucle infinie
en fait, il faudrait une flèche qui par du bas qui ermonte tout en haut pour dire que ça se répète toujours
j'ai essayé for(;;) juste après le main(void) mais ça ne marche pas, quelqu'un a une idée ?
Pas mal. Avec quoi tu dessines ?Citation:
Envoyé par adjii
Si tu montrais ce code C qu'on comprenne ce que tu veux faire.
c'est pas appliqué à l'informatique mais à un système, et les profs aiment bien ce genre d'organigramme avec des losanges et tout pour décrire le fonctionnement des sytèmes.
Je dessine pas, c'est le logiciel DAC-C qui dessine au fur et à mesure que j'écris le code en C.
Une idée pour qu'une flèche remonte du bas vers le haut ?
Merci
Une boucle infinie ?Citation:
Envoyé par adjii
Mais bon, tu ferais mieux d'apprendre le C...Code:
1
2
3
4
5 for(;;) { actions... }
DAC-C, c'est un logiciel maison ?
Non, c'est pas un logiciel maison, c'est un outil de développement qui intègre la gestion des organigrammes, il y a une démo gratuite (c'est celle que j'ai), je pense que tu peux la trouver en faisant une recherche sur google ou je pourrais te l'envoyer si tu veux, je regarderais la taille avant quand meme.
Le prend pas mal mais le do while fait pas d'abord l'action puis le test ensuite puis action test action test... Parce que moi, il me faut d'abord le test puis l'action ensuite et ce indéfiniment, pour ce la on faisait des boucles infinis avec des for(;;) ou des while(1) mais bon je me rapelle plus trop et puis la flèche elle ne veut pas se mettre!
désolé j'avais cru voir do while, mais le for(;;) ne marche pas, dac-C met un losange en plein milieu
Voilà comment on peut faire une boucle infinie en C :Citation:
Envoyé par adjii
Code:
1
2
3
4
5
6 do { ... } while (1)
Code:
1
2
3
4
5 while (1) { ... }
Code:
1
2
3
4
5 for (;;) { ... }
Code:
1
2
3
4label: ... goto label;
Est ce que la syntaxe du goto est bonne ? parce que ça ne marche pas non plus.
void main(void)//Description de la manipulation
{
label :E
while(c<n)
{
x = 1;//x=1;
}
{
x = 0;//x=0;
}
goto E;
}
PS : La démo de DAC-C fait 22Mo, je peux uploader si tu veux
:tagcode:
non. J'avais pourtant indiqué la bonne...Citation:
Envoyé par adjii
Mais c'est du C moche... Et les commentaires inutiles, tu peux les enlever...Code:
1
2
3
4
5
6
7
8
9
10
11
12 void main(void)//Description de la manipulation { E: while(c<n) { x = 1; } x = 0; goto E; }
Oui, je veux bien. Mais je préfèrerais une url sur le web...Citation:
PS : La démo de DAC-C fait 22Mo, je peux uploader si tu veux
je te remercie mais il me dessine pas une flèche, je vais le faire avec le logiciel de dessin, c'est pas bien grave.
Les commentaires je suis obligé de les mettre car c'est à partir d'eux que DAC-C écrit dans les carrés losanges les conditions et les actions, sinon c'est vide :cry:
Pour DAC-C je n'ai pas d'url, je n'ai pas du site non plus où je pourrais le mettre. Je pense que tu peu le trouver sur le site officiel vu que c'est une démo et donc pas un truc piraté. Si tu trouves pas recontacte moi jeje00@ifrance.com
Merci a tout le monde pour vos codes et conseils
A bientot
Je n'ai pas trouvé le site officiel. Si tu l'as, merci de le donner.Citation:
Envoyé par adjii
C'est www.ristancase.com/dac
MerciCitation:
Envoyé par adjii
Emmanuel
De rien, je te devais bien ça. Une fois que tu l'auras installé et que tu auras créer le projet, il faudra que tu cliques sur l'icone (voir photo) pour que l'organigramme apparaisse.