[BlaBla] Topic Piplette 2

svoglimacci

check memory failed but no bug detected
#2 201
Vous croyez que c'est honnête de mettre en vente une Corsair VS450 de 4 ans d'age ? Ou alors je stipule bien que c'est pour de la bureautique et pas de la forte sollicitation ? Ou je la garde bien au chaud dans mon c*l au fond à droite ?
N'empêche qu'elle a deux prises pci-e 6+2 là ou ma Focus Gold 550 n'en a qu'une :D
 

philou21850

Grand Maître
#2 202
Vous croyez que c'est honnête de mettre en vente une Corsair VS450 de 4 ans d'age ? Ou alors je stipule bien que c'est pour de la bureautique et pas de la forte sollicitation ? Ou je la garde bien au chaud dans mon c*l au fond à droite ?
N'empêche qu'elle a deux prises pci-e 6+2 là ou ma Focus Gold 550 n'en a qu'une :D
C'est là bonne place bien sur!!:hap:
Oulalalalalaaaaaaaa, arrête de fumer la moquette, tu es allergique aux acariens grillés :lol:
@philou21850, je n'ai RIEN compris

Et oui, j'ai plus la bite rude pour la moquette!!:love:
J'avais juste envie de me marrer un coup:sneaky:
Des fois je suis vraiment très très CON:hinhinhin:
Et rien à voir avec les vagins:whistle:
 

svoglimacci

check memory failed but no bug detected
#2 203
Et oui, j'ai plus la bite rude pour la moquette!!:love:
J'avais juste envie de me marrer un coup:sneaky:
Des fois je suis vraiment très très CON:hinhinhin:
Et rien à voir avec les vagins
Je t'adore, tu m'emportes dans tes délires <3
 

vince1053

Modérateur
Staff
#2 204
Perso des trucs comme ça je m'en sers pour dépanner , ça évite de mettre un truc neuf sur un vieil ordi ;) et la personne est contente
 

svoglimacci

check memory failed but no bug detected
#2 205
Je vais faire comme ça, tu as raison :)
 

LeeLarant

Speedy Configales, le plus rapide de tout TH
#2 206
@magellan (ou quelqu'un d'autre bien sûr, je suis reconnaissant envers toute aide.;))
Quelle est la différence fondamentale entre if et switch en c#.
Dans Unity des fois je vois des if, d'autres des switch, et ça me laisse perplexe car je me dis que ce n'est pas par hasard, qu'il existe une raison.
Merci. :)
 

svoglimacci

check memory failed but no bug detected
#2 207
Je ne sais pas pour le C# mais en C la différence est simple (j'espère que c'est similaire sinon j'écris pour rien :D )

Le "if" évalue une expression booléenne et effectue le bloc d'instruction qui suit si l'évaluation a renvoyé "vrai".
Exemple :
if( x == 1) {
ecrire("c'est un 1");
ecrire("J'en étais sûr");
}
Après il peut y avoir des "else" et tout ça.

Le "switch" permet de tester plusieurs valeurs, qui ne sont pas forcément des valeurs booléennes.
Par exemple :
switch (x){
case 1 : /* On teste si x vaut 1 */
ecrire("c'est un 1");
ecrire("J'en étais sûr");
break; /* Interrompt le traitement ici et sort du switch */
case 2 :
ecrire("c'est un 2");
ecrire("J'aurais juré que non !");
break;
case 3 :
ecrire("c'est un 3");
ecrire("La grosse cata");
break;
default: /* Si aucun des cas n'a été trouvé */
ecrire("Ni 1 ni 2 ni 3");
ecrire("On est foutus");
}
Mais le switch n'est pas réellement dans l'esprit du C, ne serait-ce que par l'emploi du "break", lequel est une insulte à la propreté algorithmique universitaire, comme l'exécré "goto" :D

On peut remplacer un "switch" par des if.. else if... else if ... else..
if (x == 1) {
ecrire("c'est un 1");
ecrire("J'en étais sûr");
}
else if (x == 2) {
ecrire("c'est un 2");
ecrire("J'aurais juré que non !");
}
else if (x == 3) {
ecrire("c'est un 3");
ecrire("La grosse cata");
}
else {
ecrire("Ni 1 ni 2 ni 3");
ecrire("On est foutus");
}

Si je me souviens bien, le switch permet aussi, si on ne met pas les breaks, que la variable qui a "réussi" un test soit aussi évaluée pour les tests suivants et, pourquoi pas, en réussisse un autre aussi, ce que le if : else if ne permet pas de faire. Je ne sais pas si je suis clair, si nécessaire demander, je monterai un exemple.
 

svoglimacci

check memory failed but no bug detected
#2 210
Ah le bon vieux « go to depending on » du COBOL...
Ah ouais t'es VRAIMENT vieux ! :D (je sens que ça va faire un effet WC ce truc... :lol: )
J'avais développé un petit tout petit sgbd en COBOL je ne me souvenais pas de cette instruction, c'est très ancien dans ma tête et n'a duré que 2 mois de stage.

J'ai ça sur un suivi :)
1593768505041.png
 

SergioVE

Grand Maître
#2 211
Ah ouais t'es VRAIMENT vieux ! :D (je sens que ça va faire un effet WC ce truc... :lol: )
J'avais développé un petit tout petit sgbd en COBOL je ne me souvenais pas de cette instruction, c'est très ancien dans ma tête et n'a duré que 2 mois de stage.
Ben COBOL est vieux, mais existe toujours et est toujours employé à tour de bras dans les mainframes.
Ps. Pour ton colis, si ça se trouve, c‘est du Java...
 

svoglimacci

check memory failed but no bug detected
#2 212
Ben COBOL est vieux, mais existe toujours et est toujours employé à tour de bras dans les mainframes.
Je confirme. Le mari d'une amie, qui est âgé, a prolongé sa carrière avec un salaire de ministre chez un assureur, il restait le seul à connaître le soft ! Ca fait peur ...
 

magellan

Modérâleur
Staff
#2 215
@magellan (ou quelqu'un d'autre bien sûr, je suis reconnaissant envers toute aide.;))
Quelle est la différence fondamentale entre if et switch en c#.
Dans Unity des fois je vois des if, d'autres des switch, et ça me laisse perplexe car je me dis que ce n'est pas par hasard, qu'il existe une raison.
Merci. :)
La différence est enfantine en fait
If est une structure conditionnelle "simple" qui, en principe, donne lieu à un
Si (condition)

sinon

fin de si
Tu peux théoriquement ajouter des "elseif" (mais tous les langages ne le supportent pas), mais ce n'est pas l'idéal. En gros, le if/else c'est un booléen "si j'ai un truc je fais une opération, sinon je fais autre chose"

Le switch case, c'est quand tu as un grand nombre de combinaisons possibles, et cela évite les imbrications dégueulasses de codes.

Par exemple: J'ai une valeur a qui peut aller de 1 à 8
Tu mets
switch (a)
{
case 1:
Console.WriteLine("Case 1");
break;
case 2:
Console.WriteLine("Case 2");
break;
default:
Console.WriteLine("Default case");
break;
}
Si a =1 je fais un truc, si j'ai a=2 je fais un truc... etc etc
Le default c'est si aucune autre des clauses (cas) ne se vérifie.
dans notre exemple si a n'est pas une des valeurs attendues.
 

LeeLarant

Speedy Configales, le plus rapide de tout TH
#2 216
La différence est enfantine en fait
If est une structure conditionnelle "simple" qui, en principe, donne lieu à un

Tu peux théoriquement ajouter des "elseif" (mais tous les langages ne le supportent pas), mais ce n'est pas l'idéal. En gros, le if/else c'est un booléen "si j'ai un truc je fais une opération, sinon je fais autre chose"

Le switch case, c'est quand tu as un grand nombre de combinaisons possibles, et cela évite les imbrications dégueulasses de codes.

Par exemple: J'ai une valeur a qui peut aller de 1 à 8
Tu mets

Si a =1 je fais un truc, si j'ai a=2 je fais un truc... etc etc
Le default c'est si aucune autre des clauses (cas) ne se vérifie.
dans notre exemple si a n'est pas une des valeurs attendues.
Merci @svoglimacci et @magellan pour vos réponses!
Donc si j'ai bien compris en fait la différence est surtout esthétique?
:)
 

magellan

Modérâleur
Staff
#2 217
Merci @svoglimacci et @magellan pour vos réponses!
Donc si j'ai bien compris en fait la différence est surtout esthétique?
:)
Pas du tout:
Le if doit être utilisé pour les sélections de critères "simples", là où le switch permet d'avoir autant d'états que nécessaire.

Quand @drul parle de machine d'états, c'est le principe d'avoir une sorte d'arbre de décisions.

C'est plus propre et efficace en terme de performances d'avoir un seul switch qu'un empilement stupide de if

Prenons un cas

tu reprends ce que je mentionne le switch sur la valeur a
C#:
switch (a)
{
case 1:
Console.WriteLine("Case 1");
break;
case 2:
Console.WriteLine("Case 2");
break;
default:
Console.WriteLine("Default case");
break;
}
En if ça donnerait un truc du genre

et tu serais obligé d'avoir une clause à la con imbriquée pour gérer le "default"
Soit donc comme suit

C#:
if(a=1) {
Console.WriteLine("Case 1");
} else
{
if(a=2) {
Console.WriteLine("Case 2");
} else {
Console.WriteLine("Sinon");
}

}
Et là c'est le drame, plus la complexité/nombre de clauses arrivent plus ta complexité et profondeur de "if/else" va arriver.
Certains langages permettent vaguement la même chose via une astuce qui est

C#:
if (condition)
else if(condition 2)
else if(condition 3)
else // sinon
Ce truc singe le switch avec moins d'avantages!

Le switch permet en plus de valider plusieurs causes quand on a pas le break!

Par exemple

Si je mets
C#:
switch (a)
case 1:
case 22:
faire un truc
là Si a=1 OU a=22 on fera la même chose

Si on met break à la fin d'une étape d'un case, cela sort du switch. Si on l'omet, cela continue dans le switch pour faire éventuellement une étape complémentaire!

C'est tout l'avantage du switch sur le if... même si l'on peut faire la même chose en if.
 

LeeLarant

Speedy Configales, le plus rapide de tout TH
#2 218
Pas du tout:
Le if doit être utilisé pour les sélections de critères "simples", là où le switch permet d'avoir autant d'états que nécessaire.

Quand @drul parle de machine d'états, c'est le principe d'avoir une sorte d'arbre de décisions.

C'est plus propre et efficace en terme de performances d'avoir un seul switch qu'un empilement stupide de if

Prenons un cas

tu reprends ce que je mentionne le switch sur la valeur a
C#:
switch (a)
{
case 1:
Console.WriteLine("Case 1");
break;
case 2:
Console.WriteLine("Case 2");
break;
default:
Console.WriteLine("Default case");
break;
}
En if ça donnerait un truc du genre

et tu serais obligé d'avoir une clause à la con imbriquée pour gérer le "default"
Soit donc comme suit

C#:
if(a=1) {
Console.WriteLine("Case 1");
} else
{
if(a=2) {
Console.WriteLine("Case 2");
} else {
Console.WriteLine("Sinon");
}

}
Et là c'est le drame, plus la complexité/nombre de clauses arrivent plus ta complexité et profondeur de "if/else" va arriver.
Certains langages permettent vaguement la même chose via une astuce qui est

C#:
if (condition)
else if(condition 2)
else if(condition 3)
else // sinon
Ce truc singe le switch avec moins d'avantages!

Le switch permet en plus de valider plusieurs causes quand on a pas le break!

Par exemple

Si je mets
C#:
switch (a)
case 1:
case 22:
faire un truc
là Si a=1 OU a=22 on fera la même chose

Si on met break à la fin d'une étape d'un case, cela sort du switch. Si on l'omet, cela continue dans le switch pour faire éventuellement une étape complémentaire!

C'est tout l'avantage du switch sur le if... même si l'on peut faire la même chose en if.
Merci. :)
 

SergioVE

Grand Maître
#2 219
Par rapport à une imbrication de if simples, le switch est comme l'a dit @magellan, plus efficace, plus propre plus pratique. Et ajoutons que pour la maintenance, c'est bien plus clair.
Seul inconvénient, les vicieux qui font des if du style "if a or b and not c" seront déçus, ils ne pourront pas passer des heures à comprendre pourquoi leur magnifique expression logique ne donne pas les résultats qu'ils attendaient.
 

magellan

Modérâleur
Staff
#2 220
Par rapport à une imbrication de if simples, le switch est comme l'a dit @magellan, plus efficace, plus propre plus pratique. Et ajoutons que pour la maintenance, c'est bien plus clair.
Seul inconvénient, les vicieux qui font des if du style "if a or b and not c" seront déçus, ils ne pourront pas passer des heures à comprendre pourquoi leur magnifique expression logique ne donne pas les résultats qu'ils attendaient.
:lol:
Ou encore des gens qui "s'amusent" à te coller des clauses à la con comme inverser le comportement de la variable

du genre if(not(c)) and (c and d)... bref les cons qui ne comprennent pas l'algèbre de boole pour simplifier les résolutions.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Membres en ligne
Aucun membre en ligne actuellement.
Derniers messages publiés
Statistiques globales
Discussions
868 620
Messages
8 098 786
Membres
1 579 158
Dernier membre
diclau
Partager cette page
Haut