Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
La condition IF / ElSEIF / ELSE
-
Jérémy
Administrateur du site- Messages : 2738
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonjour à tous,
Les conditions sont très souvent utilisées pour effectuer des actions en fonction du résultat de leurs résultats. Elles sont incontournables quelque soit votre programme.
1/ Le IF :
le If se traduit par "Si" en français. Il détermine la condition permettant d’exécuter ou non une portion de code.
Si on prend l'exemple "classique" d'un Bouton poussoir, on pourrait littéralement écrire.
Se traduisant en C par
le == est un signe de comparaison et non d'affectation de valeur, cette erreur est très souvent commise.
Ici la condition est très simple, SI le BP est à 1 et on effectue une action définie. Implicitement, SI il est égale à 0, on ne fait donc rien de plus et on saute directement à la suite du programme.
Les conditions peuvent bien évidemment être plus complexes, par exemple en les combinant avec des fonctions logiques.
Par exemple :
Se traduisant par :
2/ Le ELSE :
Maintenant, si la condition n'est pas remplie peut être que l'on souhaiterai effectuer une action, plutôt que de laisser le programme se déroulé tranquillement. Pour cela il existe le ELSE.
Le ELSE peut se traduire en français par Sinon. Vous comprendrez aisément, le déroulement suivant :
SI la condition est vrai -> une effectue la première instruction
SINON -> On effectue la deuxième instruction (donc la condition n'est pas vrai)
Par exemple :
Se traduisant par:
Dans cette configuration, nous pouvons effectuer un test et seulement deux actions suivant l'état du test. Soit la condition est remplie, soit elle ne l'ai pas. Cela peut être contraignant si l'on souhaite avoir un peu plus de choix dans la condition. tout n'est jamais tout blanc ou tout noir.
Imaginons maintenant que l'on souhaite allumé une led à chaque valeur de tension d'une batterie . si la batterie fait 1V on allume 1 led, 2V -> 2leds...... 5Volts -> 5leds.
Dans ce cas de figure, deux actions ne pourront pas allumer tous les états des leds. Nous allons pour ce faire utilisé le ElSE IF .
3/ Le ELSE IF :
Le Else If introduit une nouvelle condition quand la première n'est pas remplie. Ainsi nous n'aurons plus seulement 2 résultats possibles ( blanc ou noir), mais une multitude de résultats "le GRIS" avec autant de nuances qu'il y a de ELSE IF.
Littéralement cela donnera :
Se traduisant par :
On voit donc qu'a chaque palier de tension correspondra une condition pour détecter le palier. Si vous avez l’œil avertit vous remarquerez un défaut.
Héééé OUIIII , il faut faire attention au résultat, car plusieurs conditions peuvent être remplies.
Contre exemple :
Imaginons maintenant que si à la place du == nous avions un >= et imaginons que la valeur de la tension lue soit de 3Volts. la condition 1 serait remplie, mais la condition 2 aussi , et la condition 3 aussi . dans notre exemple précédent , ce n'est pas gênant car au final c'est la condition 3 qui serait remplit , donc trois DEL d'allumées !. mais suivant votre programme cela peut être très gênant. Il y a des parades à cela, notamment la fonction Switch() que nous verrons ultérieurement, ou un ordre et des conditions mieux définies, pour éviter cet enchevêtrement.
Mais si je vous dis tout, il n'y aura plus de questions à poser sur le FORUM
J'ai peut être omis certaines choses importantes à vos yeux, ou fait des erreurs. Merci de me le signaler à la suite de ce post.
Les conditions sont très souvent utilisées pour effectuer des actions en fonction du résultat de leurs résultats. Elles sont incontournables quelque soit votre programme.
1/ Le IF :
le If se traduit par "Si" en français. Il détermine la condition permettant d’exécuter ou non une portion de code.
Si on prend l'exemple "classique" d'un Bouton poussoir, on pourrait littéralement écrire.
Code : Tout sélectionner
Si (le BP est à 1) {
==> Je fais ceci
}
Code : Tout sélectionner
If (BP==1){
==> Allume une led
}
le == est un signe de comparaison et non d'affectation de valeur, cette erreur est très souvent commise.
Ici la condition est très simple, SI le BP est à 1 et on effectue une action définie. Implicitement, SI il est égale à 0, on ne fait donc rien de plus et on saute directement à la suite du programme.
Les conditions peuvent bien évidemment être plus complexes, par exemple en les combinant avec des fonctions logiques.
Par exemple :
Code : Tout sélectionner
Si ( (le Bp est à 1) ET ( que inter2 est à 0) ET ( que contact3 est à 1){
==> ==> Je fais ceci
}
Code : Tout sélectionner
if ( (BP==1) && (Inter2==0) && (contact3==1) ){
==> Je fais ceci
}
2/ Le ELSE :
Maintenant, si la condition n'est pas remplie peut être que l'on souhaiterai effectuer une action, plutôt que de laisser le programme se déroulé tranquillement. Pour cela il existe le ELSE.
Le ELSE peut se traduire en français par Sinon. Vous comprendrez aisément, le déroulement suivant :
SI la condition est vrai -> une effectue la première instruction
SINON -> On effectue la deuxième instruction (donc la condition n'est pas vrai)
Par exemple :
Code : Tout sélectionner
SI ( le BP est à 1){ // appuyé
-> On allume la LED }
Sinon ( sous entendu que le BP est à 0){ // relâché
-> On éteint la LED }
Se traduisant par:
Code : Tout sélectionner
if ( (BP==1 )
==> { Je fais ceci }
Else
==> { Je vais cela }
Dans cette configuration, nous pouvons effectuer un test et seulement deux actions suivant l'état du test. Soit la condition est remplie, soit elle ne l'ai pas. Cela peut être contraignant si l'on souhaite avoir un peu plus de choix dans la condition. tout n'est jamais tout blanc ou tout noir.
Imaginons maintenant que l'on souhaite allumé une led à chaque valeur de tension d'une batterie . si la batterie fait 1V on allume 1 led, 2V -> 2leds...... 5Volts -> 5leds.
Dans ce cas de figure, deux actions ne pourront pas allumer tous les états des leds. Nous allons pour ce faire utilisé le ElSE IF .
3/ Le ELSE IF :
Le Else If introduit une nouvelle condition quand la première n'est pas remplie. Ainsi nous n'aurons plus seulement 2 résultats possibles ( blanc ou noir), mais une multitude de résultats "le GRIS" avec autant de nuances qu'il y a de ELSE IF.
Littéralement cela donnera :
Code : Tout sélectionner
SI ( la tension vaut 1Volt ){
-> On allume 1 led
SINON , Si (la tension vaut 2V ){
-> On allume 2 leds
|
|
|
SINON , Si (la tension vaut 5V ){
-> On allume 5 leds
Code : Tout sélectionner
If (Tension == 1){
On allume une led ; }
Else If (Tension == 2){
On allume 2 leds ; }
|
|
|
Else If (Tension == 5){
On allume une 5 leds; }
On voit donc qu'a chaque palier de tension correspondra une condition pour détecter le palier. Si vous avez l’œil avertit vous remarquerez un défaut.
Héééé OUIIII , il faut faire attention au résultat, car plusieurs conditions peuvent être remplies.
Contre exemple :
Imaginons maintenant que si à la place du == nous avions un >= et imaginons que la valeur de la tension lue soit de 3Volts. la condition 1 serait remplie, mais la condition 2 aussi , et la condition 3 aussi . dans notre exemple précédent , ce n'est pas gênant car au final c'est la condition 3 qui serait remplit , donc trois DEL d'allumées !. mais suivant votre programme cela peut être très gênant. Il y a des parades à cela, notamment la fonction Switch() que nous verrons ultérieurement, ou un ordre et des conditions mieux définies, pour éviter cet enchevêtrement.
Mais si je vous dis tout, il n'y aura plus de questions à poser sur le FORUM
J'ai peut être omis certaines choses importantes à vos yeux, ou fait des erreurs. Merci de me le signaler à la suite de ce post.
La condition IF / ElSEIF / ELSE
La condition IF / ElSEIF / ELSE
-
Jérémy
Administrateur du site- Messages : 2738
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
sylvain54 a écrit :Source du message c'est switch case.
C'est corrigé !
J'essaye de prendre des exemples simples et parlants pour les plus novices !
La condition IF / ElSEIF / ELSE
La condition IF / ElSEIF / ELSE
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités