Tutorial TIGCC - Chapitre 2 - Boucles - Commandes élémentair | ||||||||||||||||||||||||||||||||||||
Article posté par limmt Chapitre 2 - Boucles - Commandes élémentaires A - Boucle if I) Utilisation simple Une boucle if permet de tester une condition dans un programme. Une condition est une expression renvoyant TRUE ou FALSE. Avec TIGCC, FALSE correspond à la valeur 0, ou NULL et TRUE correspond à toute autre valeur. Vous pouvez donc, contrairement au TI-basic tester directement une variable. Syntaxe générale: if(condition) action; L'action est soit une commande se terminant par un ";", soit un bloc de commandes avec "{" et "}". A partir de maintenant nous appelerons bloc de commandes quelque chose qui est soit un bloc soit une seule commande. ! Ne pas mettre de ";" après un bloc de commandes. La condition peut être un test, une assignation, une variable. Toutes les conditions ci dessous sont valides: a==valeur //Vrai si la variable a vaut valeur a=valeur //Assigne valeur à a dans un premier temps puis teste cette valeur et renvoie a. Si a vaut zéro le résultat sera FALSE sinon il sera TRUE a //Vrai si a vaut TRUE, donc si a est différent de 0 Pour tester une condition en C il existe différents opérateurs, je vais vous les lister:
Exemple de programme utilisant une boucle if:
II) L'instruction else else suivi d'un bloc de commandes permet d'executer ce bloc dans le cas où la condition de if n'est pas remplie. Syntaxe générale: if(condition) action; else action2; Exemple de boucle if...else :
III) L'instruction else if Cette instruction permet de rajouter des conditions à tester dans une boucle if. Syntaxe générale: if(condition) action; else if(condition2) action2; else action3; else if permet de tester une condition et d'executer une action si la première condition de if est fausse. On peut imbriquer plusieurs else if dans une boucle if. Exemple d'une boucle avec des else if :
IV) Conditions logiques En TI-basic, vous pouvez utiliser les opérateurs AND, OR, XOR et NOT pour faire des conditions logiques ; ceci est aussi possible en C.
Quand vous faites des tests conditionnels complexes, il est cependant recommandé d'utiliser les parenthèses car c'est plus facile à relire et on risque moins de faire des erreurs. V) Imbriquation des boucles if Il est parfaitement possible d'imbriquer les boucles if et d'autres. Veillez cependant à respecter l'indentation sinon vous ne vous y retrouverez plus. Exemple:
B - Commande goto et labels goto est une commande permettant de faire un saut inconditionnel dans un programme. Syntaxe générale: nom_label: [...] goto nom_label goto permet de sauter au label nom_label. Pour déclarer un label, on met le nom du label suivi d'un symbole ":". Un nom de label ne doit pas comporter d'espaces. ! Le label peut se situer avant ou après le goto, être ou non dans la même boucle, mais doit ABSOLUMENT appartenir à la même fonction. On a tendance à utiliser goto de moins en moins car il est plus efficace d'utiliser d'autres boucles comme if ou while. En effet:
équivaut exactement à:
La deuxième solution étant plus rapide. Pour la boucle do...while, regardez plus bas. C - Commande return return permet de rendre la main à la fonction appelante. Quand vous apprendrez à déclarer des fonctions, vous pourrez retourner à la fonction qui a appelé une fonction avec return. ! Lorsque vous arrivez à la fin d'une fonction, la main est automatiquement rendue, sans return. Syntaxe générale: return [valeur]; return permet également de renvoyer une valeur à la fonction appelante. Quand vous êtes dans _main, vous pouvez quitter le programme et rendre la main au TIOS. Il n'est pas possible cependant de retourner une valeur au TIOS. Exemple:
D - Boucle while while permet d'exécuter tant qu'une condition est vraie. Syntaxe générale: while(condition) action; Si la condition est fausse au démarrage de la boucle, action ne sera jamais exécutée. ! En C, il n'existe pas de boucle similaire à Loop...EndLoop en TI-basic. Pour créer une boucle infinie, la méthode la plus simple est de faire une boucle while avec une condition toujours vraie: while(TRUE) action; Exemple d'utilisation de while:
E - Boucle do...while Cette boucle est très proche de la boucle while mais diffère en un point: le bloc de commandes est exécuté au moins une fois quoi qu'il arrive, la condition est testée après son exécution. Syntaxe générale: do action; while(condition); ! Contrairement aux autres boucles il faut mettre un ";" à après la boucle. F - Boucle for La boucle for est une boucle qui permet d'effectuer un bloc d'instuctions tout en incrémentant (ou décrémentatn ou autre) une variable à chaque boucle. Syntaxe génrale (! différente du TI-basic): for(initialisation ; condition ; action) bloc_actions; La boucle for exécute initialisation au début et ensuite à chaque passage exécute action, teste condition, si elle vraie, exécute bloc_actions et reboucle. action est dans la très grande majorité des cas une incrémentation/décrémentation et initialisation, l'initialisation d'une varaible à incrémenter. for peut être utilisé pour parcourir un tableau de variables ou bien pour compter jusqu'à un nombre. Exemple:
Ce programme compte de 0 à 9 et affiche le numéro du passage à chaque fois. A noter: utilisation spéciale de printf, qui nous permet d'afficher non seulement une chaîne de caractères à l'écran mais également d'inclure un nombre dans cette chaîne. La partie "%d" veut dire qu'à cet endroit il faut inclure un argument entier (short, int ou long). Nous verrons cette fonctionalité plus en détail dans le chapitre consacré aux chaînes de caractères. Le \n correspond à un retour à la ligne. Limmt Ribeman © 2004 |
>> Vos commentaires [0]
|