Eposode 150: Quick! Switch!|Eposodio 150: ¡Rápido! ¡Cambio!|Eposodio 150: Vite! Change!|Eposodio 150: Svelto! Accendi!

[lang_en]

Comic Transcript

Panel 1.
Ludd: So, what is the other type of conditional statement?
Kodu: The “switch” statement allows you to check a variable against a large number of values…

Panel 2.
Kodu: …and execute different programming code depending on the value.
Ludd: What happens if none of the values are a match?

Panel 3.
Kodu: What do you mean what happens? Why would you program it not to match?
Baltie: I think Ludd…

Panel 4.
Kodu: You are interrupting again.
Laby: Let him speak, Kodu. Maybe you could also learn something. Go ahead, Baltie.

Panel 5.
Baltie: Umm… switch statements usually have a default section which runs a particular set of code if none of the other cases are met.

Panel 6.
Kodu: Oh yeah, that makes sense… thanks, Baltie.
Baltie: No problem!

In human speak please!

“Switch” statements make writing conditional statements easier by removing the need to write a whole bunch of “if” statements to check the values of a variable. Let’s take a look at an example. As before, this example does not represent any particular programming language.

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

Let’s take a look at the new code presented here.

Bool answerExists = true

“Bool” is short for Boolean, a data type that has one of two values, either true or false. This variable can act as a simple on/off switch; do one thing if it’s true, do something else if it isn’t. Here the variable is initialized, or set to have a default value of true. This can be changed by the program later, as you will soon see.

Moving on with the example, it is easier to continue with the definition of the “Calculator” function.

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

No matter how many parameters a function requires, it can only return one value. (There are data types, which can have many values embedded in them. An integer array is an example.) This function needs three parameters, two of data type “Int” and one of data type “String,” and it returns one value of data type “Int.”

     Int answer = 0

The declaration of a variable inside a function limits the variable’s scope or reach within that function. It means that although “answer” is initialized to have a default value of “0” it cannot be used in the “Main” function. It will still be able to pass its value to “Main” via the built-in “Return” function as we will see later.

     Switch (operator)

The “Switch” statement block is the second most commonly used conditional programming method. It is given a variable to observe, “operator” in this instance and will perform certain tasks based on its value.

          Case “+” :
               answer = num1 + num2
               break
          Case “-“ :
               answer = num1 – num2
               break

This block of code executes tasks based on the value of the “Switch” variable. If the value of “operator” is “+” it will add the values of “num1” and “num2” passed to the “Calculator” function from the “Main” function. If it is “-“ then it will subtract “num2” from “num1.” The “break” simply means that if this set of code is executed then the program has found a match and should not bother checking any of the other cases.

          Default :
               answerExists = false
               break

If the value of “operator” does not match one of the cases of the “Switch” statement, it will default to running these programing statements. Notice how this set of code changes the value of “answerExists” from true (defined at the beginning of the program) to false. This will determine which of the statements in the “If” section is executed in “Main.”

     Return answer

As seen in a previous example, the line returns the value of “answer” to the “Main” function. Even if the “Switch” executes the default value,, and does not assign a new value to “answer,” it will still return the value 0 (zero) to “Main.” The reason for this is that we had set “answer” equal to 0 when we declared it, and we had to do that to satisfy the “Calculator” function’s expectation to return an integer. If it doesn’t, then the program might behave unexpectedly, or even crash.

     result = Calculator(num1, num2, operation)

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

The return value of “Calculator” function is assigned to “result.” Then, if the value of “answerExists” was unchanged in “Calculator,” the “If” statement will execute the result of the calculation. Otherwise it will print that an invalid math operator was entered.

[/lang_en][lang_es]

Transcripción de Comic

Pánel 1.
Ludd: ¿Qué otro tipo de declaraciones condicionales hay?
Kodu: La declaración tipo “switch” te permite verificar una variable con un gran número de valores …

Pánel 2.
Kodu: … y ejecutar un código de programación distinto dependiendo de su valor.
Ludd: ¿Y si no coincide con ninguno de los valores?

Pánel 3.
Kodu: ¿Cómo que qué pasa? ¿Por que lo programarías para que no coincidiera?
Baltie: Creo que lo que Ludd…

Pánel 4.
Kodu: Estás interrumpiendo de nuevo.
Laby: Déjalo hablar, Kodu. Quizá tu también puedas aprendar algo. Continúa, Baltie.

Pánel 5.
Baltie: Eh… las declaraciones tipo “switch” típicamente vienen con una sección predeterminada que corre un conjunto determinado de código si ninguno de los casos coinciden.

Pánel 6.
Kodu: Ah, sí, eso tiene sentido… ¡gracias Baltie!
Baltie: ¡De nada!

¡En nuestra lengua por favor!

Las declaraciones tipo “switch” (que significa cambio en inglés) hacen que las declaraciones condicionales sean más fáciles de escribir al quitar la necesidad de escribir una serie de declaraiones tipo “if” para validar el valor de una variable. Analizemos un ejemplo. Al igual que antes, este ejemplo no representa ningún lenguaje de programación en particular.

Start Programa

Int primerNum
Int segundoNum
Int resultado
String operacion

Bool respuestaExiste = true

Main {

     Print “Introduzca el primer número:”
     Input primerNum
     Print “Introduzca el segundo número:”
     Input segundoNum
     Print “Introduzca ‘+’ para sumar o ‘-’ para restar:”
     Input operacion

     resultado = Calculadora(primerNum, segundoNum, operacion)

     if (respuestaExiste)
     {
          Print “El resultado de tu cálculo es: “ + resultado
     }
     Else
          {
          Print “Un operador numérico inválido fue introducido.”
     }
}

Int Calculadora(Int num1, Int num2, String operador) {

     respuesta = 0

     Switch (operador) {

          Caso “+” :
               respuesta = num1 + num2
               break
          Caso “-” :
               respuesta = num1 – num2
               break
          Default :
               respuestaExiste = false
               break
     }

     Return respuesta

}

End Programa

Echemos un vistazo en el nuevo código presentado aquí.

Bool respuestaExiste = true

“Bool” es la contracción de Booleano, y se refiere al tipo de datos que tiene uno de dos valores, ya sea true (que en inglés significa verdadero) o false (que en inglés significa falso). Esta variable puede actuar como un simple switch de prendido o apagado; hacer algo si es verdadero (true), o hacer otra cosa si no lo es (false). Aquí la variable es inicializada, o sea que tiene el valor predeterminado de true. Esto puede ser cambiado por el programa más adelante, como verás a continuación.

Siguiendo con el ejemplo, es más fácil continuar con la definición de la función “Calculadora”.

Int Calculadora(Int num1, Int num2, String operador) {

Sin importar cuantos parámetros requiera la función, solo puede regresar un solo valor. (Hay tipos de datos que pueden tener muchos valores dentro de los mismos. Un ejemplo sería un vector de enteros.) Esta función necesita tres parámetros, dos datos tipo “Int” y uno tipo “String”, y regresa un dato tipo “Int”.

     Int respuesta = 0

La declaración de una variable dentro de la función limita el rango de la variable y su alcance dentro de la función. Esto significa que si “respuesta” es inicializada con un valor predeterminado de “0”, no puede ser utilizada en la función “Main”. Sí podrá pasar su valor a “Main” por medio de la función incorporada “Return”, que veremos más adelante.

     Switch (operador)

La declaración “Switch” es la segunda declaración condicional más utilizada en la programación. Tiene una variable qué observar, “operador” en este caso, y ejecutará alguna acción dependiendo de su valor.

          Caso “+” :
               respuesta = num1 + num2
               break
          Caso “-” :
               respuesta = num1 – num2
               break

Este conjunto de código ejecuta la tarea basada en el valor de la variable “Switch”. Si el valor de “operador” es “+”, entonces sumará el valor de “num1” y “num2” ingresados en la función “Calculadora” por la función “Main”. Si es “-”, entonces restará “num2” de “num1”. La instrucción “break” (que significa interrupción o salida en inglés) quiere decir que si la función encuentra un valor que coincide no sigue revisando los otros casos.

          Default :
               respuestaExiste = false
               break

Si el valor de “operador” no coincide con ninguno de los casos de la declaración tipo “Switch”, entonces la función hará lo que haya sido predeterminado (o por “default”). Notarás como este pedazo de código cambia el valor de “respuestaExiste” de “true” (definido al principio del programa) a “false”. Esto determinará cual de las declaraciones tipo “if” será ejecutada en la función “Main”.

     Return respuesta

Al igual que en el ejemplo anterior, la línea regresa el valor de “respuesta” a la función “Main”. Incluso si el “Switch” ejecuta el “default” o el valor predeterminado, y no ha asignado ningún valor a “respuesta”, regresará el valor de 0 (cero) a “Main”. La razón de esto es que habíamos hecho que “respuesta” tuviera un valor igual a 0 cuando la declaramos para que se cumpliera lo que la función “Calculadora” requiere de regresar un entero. De no ser así, el programa podría funcionar de manera inesperada o incluso podría fallar.

     resultado = Calculadora(primerNum, segundoNum, operacion)

     if (respuestaExiste) {
          Print “El resultado de tu cálculo es: “ + resultado
     }
     Else {
          Print “Un operador numérico inválido fue introducido.”
     }

El valor regresado por la función “Calculadora” es asignado a “respuesta”. Así que si el valor de “respuestaExiste” no ha sido cambiado por “Calculadora”, entonces la declaración tipo “if” ejecutará el resultado del cálculo. De no ser así, imprimirá que el operador matemático introducido es inválido.

[/lang_es][lang_fr]

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!

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é.

[/lang_fr][lang_it]

Trascrizione del fumetto

Quadro 1.
Ludd: Quindi, qual è l’altro tipo di istruzione condizionale?
Kodu: L’istruzione “switch” che permette di verificare una variabile rispetto a un gran numero di valori …

Quadro 2.
Kodu: .. ed eseguire una parte o un’altra del codice di programmazione a seconda del valore.
Ludd: Cosa succede se nessuno dei valori corrisponde?

Quadro 3.
Kodu: Cosa vuoi dire con “cosa succede”? Perché dovresti programmarlo?
Baltie: Io penso Ludd…

Quadro 4.
Kodu: Stai interrompendo di nuovo.
Laby: Lascialo parlare, Kodu. Forse anche tu potresti imparare qualcosa. Va avanti, Baltie.

Quadro 5.
Baltie: Umm… l’istruzione “switch” ha di solito una sezione di default che esegue una parte specifica del codice se nessuno degli altri casi viene soddisfatto.

Quadro 6.
Kodu: Oh sì, questo ha senso… grazie, Baltie.
Baltie: Prego!

Nella nostra lingua per favore!

L’istruzione “switch” rende la scrittura di istruzioni condizionali più facile eliminando la necessità di scrivere più istruzioni “if” per verificare i valori di una variabile. Diamo un’occhiata a un esempio. Come in precedenza questo esempio non rappresenta alcun particolare linguaggio di programmazione.

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

Diamo uno sguardo al nuovo codice.

Bool answerExists = true

“Bool” è l’abbreviazione di Booleano, un tipo di dato che può assumere uno dei due valori, vero o falso. Questa variabile può agire come un semplice interruttore on / off; fare una cosa se è vero, fare qualcosa di diverso se non lo è. Qui la variabile viene inizializzata, o impostata su un valore predefinito vero (true). Questo valore può essere modificato dal programma, come si vedrà in seguito.

Proseguiamo nell’esempio, con la definizione della funzione “Calculator “(calcolatrice).

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

Indipendentemente da quanti parametri richiede in ingresso, una funzione può restituire solo un valore. (Ci sono tipi di dati strutturati che possono contenere dati dello stesso tipo. Un array o vettore di interi è un esempio.) Questa funzione ha bisogno di tre parametri, due di tipo “Int” (intero) e uno del tipo “String” (stringa), e restituisce un valore di tipo “Int”.

     Int answer = 0

La dichiarazione di una variabile all’interno di una funzione limita il campo di applicazione della variabile all’interno di tale funzione. Ciò significa che, sebbene la variabile “answer” venga inizializzata al valore predefinito “0” potrà cambiare all’interno della funzione “Calculator” e verrà passata a “Main” attraverso la funzione “Return”, come vedremo in seguito.

     Switch (operator)

Il blocco “Switch” è il secondo metodo più comunemente usato per la programmazione condizionale. Si osserva una variabile, in questo caso “operator” e si eseguono determinate operazioni a seconda del suo valore.

          Case “+” :
               answer = num1 + num2
               break
          Case “-“ :
               answer = num1 – num2
               break

Questo blocco di codice esegue una serie di compiti sulla base del valore della variabile “Switch”. Se il valore di “operator” è “+” si sommano i valori “num1” e “num2” passati alla funzione “Calculator” dalla funzione “Main”. Se è “-” si sottrae “num2” da “num1”. “break” significa semplicemente che, se il programma ha trovato una corrispondenza non deve preoccuparsi di verificare gli altri casi.

          Default :
               answerExists = false
               break

Se il valore di “operator” non corrisponde a uno di quelli specificati, viene eseguita l’istruzione compresa nella clausola default. Si noti come questa parte di codice modifica il valore di “answerExists” da true (vero, definito all’inizio del programma) a false (falso). Ciò determinerà quale delle affermazioni contenute nella sezione “If” del “Main” verrà eseguita.

     Return answer

Come si è visto in un esempio precedente, questa linea restituisce il valore di “answer” (risposta) alla funzione “Main”. Anche se “Switch” esegue il valore di default, e non assegna un nuovo valore a “answer”, verrà restituito il valore 0 (zero) a “Main”. La ragione di questo è che avevamo impostato “answer” uguale a 0 al momento in cui è stato dichiarato. Ciò è stato necessario perchè la funzione “Calculator” deve restituire un numero intero. Se così non fosse, il programma potrebbe comportarsi in modo imprevisto, o addirittura bloccarsi.

     result = Calculator(num1, num2, operation)

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

Il valore di ritorno della funzione “Calculator” è assegnato a “result”. Inoltre, se il valore di “answerExists” è rimasto invariato in “Calculator”, l’istruzione “if” stamperà il risultato del calcolo. In caso contrario verrà stampato la frase ”Invalid math operator was entered” (passata in ingresso un operatore matematico non ammesso).

[/lang_it]

Tags: ,

Comments are closed.