Eposodio 150: Vite! Change!

Transcription comique

Panel 1.
Ludd: Alors, quel est l’autre type d’instruction conditionnelle?
Kodu: Le « switch » permet de comparer une variable à un grand nombre de valeurs prédéfinies …

Panel 2.
Kodu: … et exécuter des morceaux de programmes différents en fonction de la valeur de la variable.
Ludd: Que se passe t-il si aucune des valeurs ne correspondent à la variable ?

Panel 3.
Kodu: Comment ça, qu’est ce qui se passe? Pourquoi programmerais-tu quelque chose qui ne corresponde pas?
Baltie: Je crois que Ludd …

Panel 4.
Kodu: Tu m’interromps à nouveau.
Laby: Laisse-le parler, Kodu. Peut-être pourrais-tu apprendre quelque chose. vas-y, Baltie.

Panel 5.
Baltie: Euh … les “Switch” ont habituellement une section qui par défaut gère un ensemble particulier de code si aucun des autres cas sont remplies.

Panel 6.
Kodu: Ah oui, c’est logique … merci, Baltie.
Baltie: Pas de problème!

Masquer la transcription

En langage courant!

Les déclarations «Switch» rendent les instructions conditionnelles plus facile a écrire en éliminant le besoin d’écrire tout un tas de « if » pour vérifier les valeurs d’une variable. Regardons un exemple. Comme auparavant, cet exemple ne représente pas un langage de programmation particulier. Start Program

Int firstNum Int secondNum Int result String operation

Bool answerExists = true

Main {

Print “Enter first number:”
Input firstNum
Print “Enter second number:”
Input secondNum
Print “Enter ‘+’ to add or ‘-‘ to subtract:”
Input operation

result = Calculator(num1, num2, operation)

if (answerExists) {
Print “The result of your calculation is: “ + result
}
Else {
Print “Invalid math operator was entered.”
}

}

Int Calculator(Int num1, Int num2, String operator) {

Int answer = 0

Switch (operator) {

Case « + » :
answer = num1 + num2
break
Case « – » :
answer = num1 – num2
break
Default :
answerExists = false
break
}

Return answer

}

End Program

Jetons un œil sur le code présenté ici. Bool answerExists = true

« Bool » est l’abréviation de Booléen, un type de données que possède l’une des deux valeurs, « true » ou « false » (vrai ou faux). Cette variable peut agir comme un simple interrupteur on / off (allumé/éteint); faire une chose si c’est vrai, faire autre chose si ça ne l’est pas. Ici, la variable est initialisée, ou réglé sur une valeur par défaut du vrai. Ceci peut être changé par le programme plus tard, comme vous le verrez bientôt.

Continuons avec l’exemple, il est plus facile de continuer avec la définition de la fonction « Calculatrice ». Int Calculator(Int num1, Int num2, String operator) {

Peu importe combien de paramètres sont exigées par une fonction, celle-ci ne peut retourner qu’une valeur. (Il existe des types de données, qui peuvent avoir de nombreuses valeurs attachées. Un tableau de nombres entiers par exemple) Cette fonction a besoin de trois paramètres, deux du type de données « Int » et un de type de données « String », et il renvoie une valeur du type de données « Int. »      Int answer = 0

La déclaration d’une variable dans une fonction limite la portée de la variable à cette fonction. Cela signifie que, bien que “answer” est initialisée à une valeur par défaut de « 0 » il ne peut pas être utilisé dans la fonction « main ». Il sera toujours en mesure de passer sa valeur à « Main » via la fonction intégré « Return » comme nous le verrons plus tard.      Switch (operator)

Le bloc de déclaration « Switch » est la deuxième méthode conditionnelle de programmation la plus couramment utilisée. Une variable à tester lui est donné, nommée «operator» dans ce cas et va effectuer certaines tâches basé sur sa valeur.           Case “+” :
answer = num1 + num2
break
Case “-“ :
answer = num1 – num2
break

Ce bloc de code exécute les tâches en fonction de la valeur de la variable «Switch». Si la valeur d’ « operator » est « + » il va ajouter les valeurs de « num1 » et « num2 » passé par la fonction « Calculatrice » à partir de la fonction «Main». Si la valeur est « -« , alors le bloc de code va soustraire « num2 » de « num1 ». Le « break » signifie simplement que si cet ensemble de code est exécuté, et que le programme a trouvé que tout correspondait, ce n’est pas la peine de vérifier l’un des autres cas.           Default :
answerExists = false
break

Si la valeur d’ « opérator » ne correspond pas à l’un des cas de « switch », il passera par défaut à l’exécution de ces instructions de programmation. Remarquez comment cet ensemble de code modifie la valeur de « answerExists » de “true” (défini au début du programme) à “false”. Cela permet de déterminer quelles affirmations dans la section « if » sera exécuté dans la section « Main ».      Return answer

Comme on le voit dans l’exemple précédent, la ligne renvoie la valeur de «answer» à la fonction «Main». Même si le « Switch » exécute la valeur par défaut, et ne donne pas une nouvelle valeur à «answer», il retourne la valeur 0 (zéro) à « main. » Il en est ainsi car nous avions déclaré que « answer » égale à 0 par de faut, et pour satisfaire l’attente d’un nombre entier dans la fonction “calculator. Si ce n’est pas le cas, le programme pourrait se comporter de façon inattendue, ou même se planter.      result = Calculator(num1, num2, operation)

if (answerExists) {
Print “The result of your calculation is: “ + result
}
Else {
Print “Invalid math operator was entered.”
}

La valeur de retour de « calculator » est attribuée à « result ». Si la valeur de « answerExists » ne change pas dans la fonction « Calculator », l’instruction « if » doit exécuter le résultat du calcul. Sinon, il sera imprimé qu’une opération mathématique non valide a été entré.