Introducci贸n a los algoritmos

1

驴Qu茅 aprender谩s sobre algoritmos y pensamiento l贸gico?

2

La importancia de entrenar tu pensamiento l贸gico

3

驴Qu茅 entiende una computadora?

4

驴Qu茅 es el sistema binario?

5

Metodolog铆a para construir un algoritmo: requerimientos y proceso mental

Tipos de datos y operadores l贸gicos

6

驴Qu茅 son Bits y Bytes?

7

驴Qu茅 son variables, constantes y tipos de datos?

8

Identifica las variables seg煤n los requerimientos de negocio

9

Strings (texto) y concatenaci贸n

10

N煤meros y operaciones matem谩ticas b谩sicas

11

Operaciones matem谩ticas compuestas: par茅ntesis y orden de evaluaci贸n

12

True y false: booleanos y tablas de la verdad

13

Arrays y funciones sobre arrays

14

驴C贸mo dise帽ar algoritmos con diagramas de flujo?

15

Define el tipo de dato seg煤n los requerimientos de negocio

Estructuras de control

16

If y Else: condicionales y comparaciones para proteger tus algoritmos

17

Switch y Case: condicionales en forma de casos

18

Excepciones y errores: Throw y Try Catch

19

驴Qu茅 es un ciclo? While, For y Do While

20

Diagrama de flujo con condicionales

21

Diagrama de flujo con ciclos

22

Tutorial de algoritmos de programaci贸n

23

Dise帽a algoritmos para resolver problemas de tu vida diaria

Encapsula tu c贸digo en funciones

24

驴Qu茅 es una funci贸n?

25

驴C贸mo desarrollar tu l贸gica de programaci贸n?

26

Modularizaci贸n de c贸digo

27

Flujo de funciones para encapsular algoritmos

28

Nomenclaturas de programaci贸n: camelCase, PascalCase, snake_case

29

驴Qu茅 es recursividad? Funciones que se llaman a s铆 mismas

30

Convierte algoritmos con ciclos a funciones recursivas

31

Resolviendo acertijos

Traduce tus algoritmos a lenguajes de programaci贸n

32

Diferencias entre lenguajes de programaci贸n

33

C贸mo escribir c贸digo en cualquier lenguaje de programaci贸n

34

C贸mo programar en JavaScript, Python y PHP

35

Introducci贸n al ejercicio en JavaScript

36

Programando en JavaScript

37

Introducci贸n al ejercicio en Python

38

Programando en Python

39

Introducci贸n al ejercicio en PHP

40

Programando en PHP

41

C贸mo programar en Java y Lenguaje C

42

Introducci贸n al ejercicio en Java

43

Programando en Java

44

Introducci贸n al ejercicio en C

45

Programando en Lenguaje C

46

Traduce diagramas de flujo a c贸digo en lenguajes de programaci贸n

Conclusiones

47

Pr贸ximos pasos para aprender programaci贸n profesionalmente

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Switch y Case: condicionales en forma de casos

17/47
Recursos

Qu茅 es Switch y Case

Es una estructura de control, que nos permite evaluar m煤ltiples casos que puede llegar a cumplir una variable y realizar una acci贸n en esa situaci贸n.

Estructura del condicional switch.

Aportes 115

Preguntas 13

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

El switch/case es una estructura un poco鈥 controversial鈥 Algunos la aman, otros la odian, pero lo importante es saber cu谩ndo es que tenemos que usar esta estructura, ya que si realmente soluciona el problema sin que afecte nuestra legibilidad entonces est谩 bien usado 馃槃
.
El switch/case viene a arreglar uno de los problemas que podemos llegar a tener con el if cuando evaluamos muchos casos鈥 el if hell:
.

.
Como pueden ver, el c贸digo empieza a ser menos legible y m谩s hacia la derecha, por eso el switch/case es importante 馃槃
.
Algo curioso, 驴qu茅 pasa si seme olvida el break?
.
Descuida, tu computadora no va a explotar ni nada por el estilo, lo 煤nico que pasar谩 es que cuando termine de ejecutar un caso, si no se encuentra ning煤n break; entonces tambi茅n ejecutar谩 el siguiente caso y as铆 hasta que encuentre un break; o hasta que se acabe el switch/case 馃槃

switch (variable){
	caso 1: // intrucciones
		break;
	caso 2: // intrucciones
		break;
	caso 3: // intrucciones
		break;
	deafult: // instrucciones
}

Caracter铆sticas principales

Case: Cuando se cumpla la condici贸n o el valor del caso ejecutamos la instrucci贸n dentro de este
Default: Si no se cumple ninguna condici贸n de los case pasara autom谩ticamente aqu铆.

Importante Usar IF y ELSE solo cuando tenemos hasta dos condicione, si tenemos 3 o mas condiciones lo mejor es utilizar la estructura Switch

馃搶 Switch y Case es una estructura de control, que nos permite evaluar m煤ltiples casos que puede llegar a cumplir una variable y realizar una acci贸n en esa situaciones.

break it until make it 馃挌

Este seria un tipo de switch en Python, ya que en este lenguaje no existe algo como el 鈥榮witch鈥.

if dia == 1:
print(鈥榣unes鈥)
if dia == 2:
print(鈥榤artes鈥)
if dia == 3:
print(鈥榤i茅rcoles鈥)
if dia == 4:
print(鈥榡ueves鈥)
if dia == 5:
print(鈥榲iernes鈥)
if dia == 6:
print(鈥榮谩bado鈥)
if dia == 7:
print(鈥榙omingo鈥)
if dia < 1 or dia > 7:
print(鈥榚rror鈥)

**Switch **

Permite crear casos, escenarios dependiendo del valor de una variable. Recorre todos los
casos hasta encontrar una coincidencia. Si no encuentra, ejecuta un caso por defecto.

Ejemplo pr谩ctico: Si tienes 22 a帽os eres millennial, si tienes 47 eres baby boomer, si tienes 60 eres boomer鈥 y as铆.

Sintaxis:

switch(edad){
case 22:
	console.log(鈥渕illennial鈥)
break;
case 47:
	console.log(鈥渂aby boomer鈥)
break;
default:
	console.log(鈥渘i millennial ni baby boomer鈥)
}

break, 驴Qu茅 hace? Detiene la ejecuci贸n del switch y nos quita de 茅l para as铆 continuar con la ejecuci贸n natural del c贸digo, en caso de que un escenario coincida con lo ingresado.

este un ejemplo, es parte de un codigo. cada vez que se presiona las flechas de arriba, abajo, etc鈥 se mostrara en la pantalla laaccion de la misma. aqui lo importante son los datos del mensaje en negrita, es lo que se vio en la clase. si son mas de tres condiciones se usa switch como en este caso.

switch (evento.keycode)
{
case teclas.UP:
console.log(鈥渁rriba鈥)
break;

case teclas.DOWN:
console.log(鈥渁bajo鈥)
break;

case teclas.LEFT:
console.log(鈥渋zquierda鈥)
break;

case teclas.RIGHT:
console.log(鈥渄erecha鈥)
break;

deafult:
console.log(鈥淣O鈥)

En Python no tenemos 鈥渟witch鈥, tenemos 鈥渆lif鈥

if x == 1:
	print("uno")
elif x == 2:
	print("dos")
elif x == 3:
	print("tres")
else:
	print("El valor no es 1, 2 o 3")

La profesora Ana me ense帽贸 m谩s que mi profesora de primer semestre de Ingenier铆a en Sistemas Computacionales. 馃く

Lo que yo entend铆 es que si se tiene una situaci贸n de m谩s de 2 opciones o 鈥渃asos鈥 en vez de usar la variable IF / ELSE se debe mejor usar la variable SWITCH / CASE, en donde se pueden manifestar m谩s opciones de respuesta a posibles casos y un 煤ltimo caso final: DEFAULT para todas aquellas que no correspondan al resultado a alguno de los resultados esperados.

Para el ACTUAL PARO NACIONAL Colombiano

switch (nombre) {
case Duque:
"Aqui no pasa nada"
break;
case Uribe:
"Diga que aqui no pasa nada"
break;
case Uribistas:
"Todo es un montaje de Petro"
break;
default:
鈥淵a basta Petro鈥
}

En una ocasion lo use para jugar piedra papel o tijera.

Aca les comparto

var question= prompt("Vamos a jugar. Elige piedra, papel o tijera")
var user= question.toLowerCase();
var info=["piedra","papel","tijera"]
var pc= info[Math.floor(Math.random()*3)];

switch(true){
  case(user=== "piedra" && pc=== "tijera"):
  console.log("Felicidades, jugaste "+ user + " y la pc jugo " + pc + " asi que ganaste");
  break;

  case(user=== "papel" && pc=== "piedra"):
  console.log("Felicidades, jugaste "+ user + " y la pc jugo " + pc + " asi que ganaste");
  break;

  case(user=== "tijera" && pc=== "papel"):
  console.log("Felicidades, jugaste "+ user + " y la pc jugo " + pc + " asi que ganaste");
  break;

  case(user=== pc):
  console.log("Lo siento, jugaste " + user + " y la pc jugo " + pc + " asi que es un empate");
  break;

  default:
  console.log("Lo siento, has perdido. Jugaste "+ user + " y la pc jugo " + pc + " Vuelve a intentarlo")
}

驴Qu茅 es Switch?

馃憠 Es una alternativa a las sentencias if - else if -else, ya que es una estructura de control para considerar m谩s de 2 posibilidades.
.
Ejemplo y comparaci贸n:


Aunque faltar铆a el default para completar mejor el ejemplo del switch 馃槃
Pueden chequear el video fuente de mi aporte:
https://www.youtube.com/watch?v=9YYb6i_XPgg

Reci茅n estoy comenzando en este proceso de aprendizaje y aqu铆 va un ejemplo con lo que fui entendiendo de esta herramienta. Son mas que bienvenidas sus correcciones y sugerencias.

switch/case
Permite realizar diversas evaluaciones y si se cumplen ejecutan una acci贸n. Podemos adicionar un bloque default que se ejecutar谩 en caso de que no se haya cumplido ning煤n caso.
Sintaxis

switch (variable){
case <caso1>:
	<instrucciones>
break;
case <caso2>:
	<instrucciones>
break;
...
default:
	<instrucciones>
}

nota:
La instrucci贸n break nos permite salir del bloque, si no la colocamos ejecutar谩 las acciones de la siguiete condici贸n sin importar si se cumple o no hasta toparse con un break o finalice el bloque switch

Switch nos dice que c贸digo ejecutar de acuerdo a multiples condiciones. La estructura de control switch es recomendada cuando se va a evaluar una variable multiples veces.

Usamos switch y comparando el valor de la que le damos expresi贸n con una instancia case, si cuando compara la expresi贸n con case es verdadero ejecutara el c贸digo dentro de case y para dejar de ejecutar ese c贸digo se escribe break. Cuando ninguno de los casos es verdad podemos usar default.

RESUMEN DE LA CLASE;

  • La declaraci贸n switch eval煤a una 鈥淣umero鈥, comparando el valor de esa 鈥渘umero鈥 con una instancia case, y ejecuta declaraciones asociadas a ese case, as铆 como las declaraciones en los case que siguen.
<switch(numero)
{
case 1:
"El numero es 1"
break;
case 2:
"El numero es 2"
break;
case 3:
"El numero es 3"
break;
default:
鈥淓l numero es moyor a 3鈥
}> 
  • "numero"
    Es una expresi贸n que es comparada con el valor de cada instancia case.

  • default:
    es cuando ninguno de los valores coincide con el valor de la de 鈥渘umero鈥 y como resultado imprime el valor que se le otorgo a default.

Dejo mis apuntes por aqui, espero les sirva 馃槂

y les dejo un ejemplo para entender mejor 馃槂

SWITCH nos permite evaluar o hablitar condiciones en forma de casos (CASE), en el momento en que estas situaciones o eventos ocurran, a diferencia de IF/ELSE que evalua y habilita mas condiciones en el caso de que deje de cumplirse la primera condicion.

switch(numero)
{
case 1:
"El dia es lunes"
break;
case 2:
"El dia es martes"
break;
case 3:
"El dia es miercoles"
break;
case 4:
"El dia es jueves"
break;
case 5:
"El dia es viernes"
break;
case 6:
"El dia es sabado"
break;
case 7:
"El dia es domingo"
break;
default:
鈥淓se dia no existe鈥
}

El switch/case: es una estructura de control que nos sirve para delegar o dirigir procesos en un momento de nuestro c贸digo cuando sea necesario evaluar condiciones parecidas en tanto a su concepto y a las que corresponder谩 a cada una un proceso distinto.

Esta condicional me encanta 馃槃, pero nunca hay que abusar demasiado de las condicionales, es decir, hay programadores que para todo ocupan Switch, otros que para todo ocupan IF/ELSE, no quiere decir que est茅 mal, simplemente hay que aprender cu谩l es m谩s optimo y sobre todo, cu谩l es m谩s f谩cil de entender para los dem谩s

En este link pueden ver la explicacion de la estructura de control 鈥渟witch鈥 mas detalladamente 馃槃
https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/switch

En c seria mas o menos as铆

#include<stdio.h>
int main() {
	char ch;

	printf("Introduzca una vocal: "); 
	ch=getchar();  	
	switch(ch) {
		case 'a': puts("Se ha pulsado una a.");
			break;
		
		case 'e': puts("Se ha pulsado una a.");
			break;

		case 'i': puts("Se ha pulsado una a.");
			break;

		case 'o': puts("Se ha pulsado una a.");
			break;

		case 'u': puts("Se ha pulsado una a.");
			break;

		default: puts("Error");

		}
	return 0;
} 

investigando encontre este resumen.

// Declaraci贸n de switch
switch(expresi贸n)
{
// declaraci贸n case
// los valores deben ser del mismo tipo de la expresi贸n
case valor1 :
// Declaraciones
break; // break es opcional

case valor2 :
// Declaraciones
break; // break es opcional

// Podemos tener cualquier n煤mero de declaraciones de casos o case
// debajo se encuentra la declaraci贸n predeterminada, que se usa cuando ninguno de los casos es verdadero.
// No se necesita descanso en el case default
default :
// Declaraciones
}

switch y If/Else
en ambos casos nos permite evaluar diferentes condiciones PERO no funcionan de la misma manera en If contamos con el Else y en Switch nos da la opci贸n de diferentes casos que pueden ser muy espec铆ficos a partir de un misma condici贸n.
馃槂

B谩sicamente, el funcionamiento de la estructura de control Switch se facilita cuando tenemos m谩s de tres opciones a ejercutar en nuestro c贸digo, es una estructura de selecci贸n m煤ltiple utilizada para crear men煤s.
Importante
Si nos encontramos el caso donde tengamos que ejecutar dos opciones o menos es preferible usar If/Else

el switch es buena herramienta pero me gusta mas el if y else

Considero que el switch es mejor utilizarlo en caso que se requiera hacer un men煤 de opciones

ejemplo

Men煤 de opciones
Ingrese o digite el n煤mero

  1. Funciones
  2. Variables
  3. Contantes

Interesante. Necesito estudiarlo para dominarlo. 馃挌

Switch verifica el caso que est谩 ocurriendo, y de acuerdo a ello ejecuta una operaci贸n.

switch(opci贸n) //opci贸n es la variable que vamos a comparar
{
    case valor1:
	 //Bloque de instrucciones 1;
    break;
    case valor2:
	 //Bloque de instrucciones 2;
    break;
    case valor3:
	 //Bloque de instrucciones 3;
    break;
    default: //Bloque de instrucciones por defecto;
    //default, es el bloque que se ejecuta en caso de que no se de ning煤n caso

Una instrucci贸n switch permite que un programa eval煤e una expresi贸n e intente hacer coincidir el valor de la expresi贸n con una etiqueta** case**. Si la encuentra, el programa ejecuta la declaraci贸n asociada.

switch(meses_en_platzi){
case 1:
	"Estuviste 1 mes en platzi"
break;
case 2:
	"Estuviste 2 meses en platzi"
break;
case 3:
	"Estuviste 3 meses en platzi"
break;
default:
	"Estuviste mas de 3 meses en platzi"
}
//Y tu cuantos meses estuviste en platzi?
function fktMonatErmitteln(strMonat){ 
   switch (strMonat){
    case 'Januar':
      return 1;
    case 'Februar':
      return 2;
    case 'Maerz':
      return 3;
    case 'April':
      return 4;
    case 'Mai':
      return 5;
    case 'Juni':
      return 6;
    case 'Juli':
      return 7;
    case 'August':
      return 8;
    case 'September':
      return 9;
    case 'Oktober':
      return 10;
    case 'November':
      return 11;
    case 'Dezember':
      return 12;
    case '1':
       return 'Januar';
    case '2':
       return 'Februar';
    case '3':
       return 'Maerz';
    case '4':
       return 'April';
    case '5':
       return 'Mai';
    case '6':
       return 'Juni';
    case '7':
       return 'Juli';
    case '8':
       return 'August';
    case '9':
       return 'September';
    case '10':
       return 'Oktober';
    case '11':
       return 'November';
    case '12':
       return 'Dezember';
   }
}

El switch es una buena opcion cuando tenemos muchas condiciones diferentes para una variable, y para darle un valor por default en el caso que ninguna de esas condiciones se cumpla.

El switch/Case ejecuta una evaluaci贸n pasando por distintos caso. Iniciamos definiendo el switch.
switch (numero)
Comenzamos a ejecutar el case definiendo el tipo de caso
case 1 :
"El n煤mero es 1"
break ;
case 2 :
"El n煤mero es 2"
Ejecutamos los case, hasta que encuentre el break, o asignamos un "caso contrario"
default :
"El n煤mero es x"
La condici贸n se ejecutara hasta que encuentre el break o caso contrario, seguir谩 con lo siguiente en nuestro c贸digo.

<coswitch (eleccion=getchar()) {
case 'r':
case 'R':
printf("ROJO");
break;
case 'b':
case 'B':
printf("BLANCO");
break;
case 'a':
case 'A':
printf("AZUL");
break;
}de> 

Eval煤a m煤ltiples casos, un ejercicio practico es solicitar un numero romano que tenga unidades decenas y centenas, de esta manera cada caso debe tener unidades, decenas y centenas.
Regularmente dicen los programadores el el break es la manera mas chambona de cortar un caso.
En esta caso como se esta empezando es bueno saber que hace cada elemento.

Switch y Case es una estructura de control, la cual podemos implementarla en un menu de opciones ejemplo:
en c++
int main()
{
int a, b, total;
int Opcion;

cout<<"operaciones aritm茅ticas" << endl;
cout<<"sobre 2 cantidades que escribas" << endl << endl;
cout<<"Escribe el primer n煤mero: ";
cin>>a;
cout <<"Escribe el segundo n煤mero: ";
cin>>b;

cout<<"Indica el n煤mero de la operaci贸n que desees realizar: " <<endl;
cout<<"(1) Suma" << endl;
cout<<"(2) Resta" << endl;
cout<<"(3) Producto" << endl;
cout<<"(4) Divisi贸n Entera" << endl;
cout<<"(5) M贸dulo" << endl;
cin>>Opcion;


switch (Opcion) {
    case 1: 
        cout << "La suma es: " << a + b << endl;
        break;
    
    case 2: {
        cout << "La resta es: " << a - b << endl;
        break;
    }
    case 3: {
        cout << "El producto es: " << a * b << endl;
        break;
    }
    case 4: {
        cout << "La divisi贸n es: " << a / b << endl;
        break;
    }
    case 5: {
        cout << "El m贸dulo es: " << a % b << endl;
        break;
    }
    default: {
        cout << "Opci贸n no v谩lida" << endl;
        break;
    }
} //Fin de switch


return 0;

}

Con el switch, se tienen los casos en que la variable sea igual a la condici贸n que se pide para darle valor a este. Ponemos un break para que llegue hasta el caso deseado y no se ejecuten los dem谩s.

14. Switch y case: condicionales en forma de casos

El switch lo que hace es permitirte establecer **cases (**casos) en base a una condici贸n, puedes tener n cantidad de casos, pero la estructura b谩sica es definir cada caso que necesites, establecer qu茅 sucede, y poner un break luego de cada caso 驴por qu茅? Porque sino el c贸digo se sigue ejecutando (al menos en JavaScript).

Les pongo un ejemplo:

let note = "DO";
switch (note) {
	case "DO":
		console.log("DO note.");
		break;
	case "RE":
		console.log("RE note.");
		break;
	default:
		console.log("Incorrect note, try again please");
}

.
Pues qu茅 hace este c贸digo:

  1. Primero declaramos una variable llamada note con su valor establecido como 鈥淒O鈥 que es del tipo string.
  2. Luego iniciamos nuestro switch, que recibe como condici贸n nuestra variable note.
  3. 驴Recuerdan cu谩l era el valor de note? Pues s铆, era 鈥淒O鈥, entonces, se ejecuta el caso donde la variable tiene el valor 鈥淒O鈥 e imprime en consola el texto 鈥淒O note.鈥.

Esto lo hice con JavaScript y lo ejecut茅 en la misma consola del navegador 馃槂.
.
Nota: Tal vez se preguntar谩n 驴por qu茅 hice todo el c贸digo en ingl茅s? Pues porque es bueno acostumbrarse, en cualquier rama de la programaci贸n que les gustar铆a tomar se van a topar con el ingl茅s y desde ya es mejor ir us谩ndolo 馃槂.

Yo creo que estas clases son a otro nivel; yo estoy empezando es a desarrollar mi l贸gica no a desarrollar a煤n c贸digos de Javascript que por cierto esta a otro nivel.
Para aprender desarrollo web font-end se ncesita primero desarrollar la l贸gica y luego aprender de las estructuras como son html, css y desp煤es es que viene Javascript.
Si algu铆en no le parece me podr铆a dejar su comentario y el decirme porque no le parece.

Python no tiene implementado la sentencia switch a diferencia de lenguajes como PHP o Javascript o Java, aqu铆 hay una lectura para simular el switch Simular un Switch en Python

La estructura de control switch nos ayuda a evaluar ciertos casos en la ejecuci贸n de nuestro programa, pero es importante tener claro cu谩ndo debemos usarlo como lo menciona @RetaxMaster ya que llegar铆amos al if hell (infierno del if) donde nuestro c贸digo ser铆a muy dif铆cil de entender y por ende el rendimiento de nuestro aplicativo ser铆a afectado.

<code> 
switch(n煤mero) {
case 1 : "instrucci贸n 1"
break; 
case 2 : "instrucci贸n 2"
break; 
case 3 : "instrucci贸n 3"
break; 
case 4 : "instrucci贸n 4"
break; 
default: "instrucci贸n de lo que no deseamos que ocurra"
}

Como sugerencia, practiquen bastante el switch pero no siempre lo vean como una soluci贸n cuando tienes una gran cantidad de condiciones con diferentes respuestas, podr铆a serte m谩s optimo utilizar un dato tipo objeto donde guardes cada condici贸n identificandola a trav茅s de un atributo, y de esta forma el atributo ser谩 que contenga la soluci贸n que ejecutara.

Ejemplo:
Switch(renderBoton) {
case "rojo"
return 鈥<button class"btn btn-rojo鈥>rojo</button>
case "blanco"
return 鈥<button class"btn btn-blanco鈥>blanco</button>
case "verde"
return 鈥<button class"btn btn-verde鈥>verder</button>
default:
return 鈥<button class"btn btn-gris鈥>gris</button>
}

Este Switch seguir谩 creciendo en el caso de agregar mas botones, pero puede no resultar tan legible, entonces en cambio puedes usar un objeto de la siguiente manera:

const renderButton = {
rojo: () => 鈥<button class"btn btn-rojo鈥>rojo</button>",
blanco: () => 鈥<button class"btn btn-blanco鈥>blanco</button>",
verde: () => 鈥<button class"btn btn- verde鈥>verde</button>"
}

De esta manera cada vez que quieran agregar un nuevo bot贸n, solo deben agregar un nuevo atributo al objeto.

Switch nos permite evaluar un valor y pasarlo por diferentes casos de comparaci贸n hasta que uno de estos casos coincidan y se ejecute un bloque de c贸digo

switch('pepe'){
    case 'jesus':
console.log("Acceso permitido")
break;
    case 'mati':
console.log("Acceso permitido")
break;
    case 'ale':
console.log("Acceso permitido")
break;
    default:
console.log("Acceso denegado")
} 

SOLUCION // "Acceso denegado"

En Pseudoc贸digo:

Seg煤n variable_numerica Hacer
opcion_1:

Escribir 鈥渁cciones1鈥

opcion_2:

Escribir 鈥渁cciones2鈥

opcion_3:

Escribir 鈥渁cciones3鈥

De Otro Modo:

Escribir 鈥渁ccionesSiNoCumpleNinguna鈥

Fin_SegunSea

Justamente utilizo switch cuando son mas de 3 o 4 condiciones e aqu铆 un poco de como uso switch (por cierto vengo del pasado 馃槃)

    Case CBReportes.ItemIndex of
      0:  begin                
	    // Se ejecuta algo	
          end;
      1:  begin              
           // Se ejecuta algo
          end;
      2:  begin
           // Se ejecuta algo
          end;
    else
      ShowMessage('Este reporte no esta disponible'); 

Encontr茅 que Switch se pude usar con otra sintaxis conocida como sintaxis m煤ltiple man o menos funciona como un OR, ya que eval煤a un conjunto de casos y si al menos uno se cumple, esta nos regresa el resultado que establezcamos.

switch(numero)  {
    case 1:
    case 2:
    case 3:
        "El numero esta entre (n > 0 && n < 4) "
     break;
     default:
     "El numero < 1 || numero > 3"
}    

Diferencia entre If - else y Switch
If -else es com煤nmente utilizada para determinar que acci贸n hacer en caso de que una condici贸n sea verdadera o falsa. Mientras que Switch es utilizado para los distintos casos que se puedan presentar.

Es un if compuesto, para evitar el exceso de anidaci贸n de if -else siempre es buscar lo simple y como buena practica es bueno identificar la menos cantidad de cases o if鈥

Este enlace puede ayudar a aclarar la diferencia entre Switch/case e If/else si tienen dudas:
https://es.sawakinome.com/articles/technology/difference-between-if-else-and-switch.html

La estructura de control Switch nos permite evaluar un valor y pasarlos por diferentes casos de comparaci贸n, para que ejecute el c贸digo asignado al caso correspondiente.
By Ssimor

switch ( eleccion)
case 1
eleccion
breack
case 2
formato
breack
case 3
numero
breack
default
se puede tener un SWITCH
formando parte de la secuencia de secuencias de otro
switch incluso si las constantes case del switch interior y del exterior contienen valores comunes, no aparecen conflictos

Aqu铆 lo importante es conocer bien el lenguaje de programaci贸n que estes usando & ver las distintas aplicaciones de un Switch que puedes tener.

Acabo de caer que el elif de Python reemplaza el swich (hasta ahora solo vi niveles b谩sicos de Js y Python)

Excelente clase

no conocia la herramienta, muchas veces anide if鈥 es fantastica y muy simple.

Por si les es m谩s f谩cil entenderlo con dibujos, visualicen el switch as铆:

Este si lo entend铆 completico. 馃槄

Grande

  • Switch

    Nos permite evaluar un valor y pasarlo por diferentes casos de comparaci贸n hasta que uno de estos casos coincida y se ejecute un bloque de c贸digo, sobre el cual nuestro algoritmo debe pasar para realizar la tarea que esperamos que haga.

Me queda en la cabeza el uso del Switch que a nivel de sentencia debe comparar o ejecutar el bloque segun el case que mejor se acople, en casop contrario el bloque defaut鈥 y tratar de no olvidar el 鈥渂reak鈥 en cada bloque鈥 primero para evitar errores y segundo para mantener el codigo legible. 馃槃

El switch lo he visto harto en el lenguaje C para crear m谩quinas de estado

<switch(4){
	case 1:
		"El numero es 1"
	break;
	case 2:
		"El numero es 2"
	break;
	case 3:
		"El numero es 3"
	break;
	default:
		"El numero es mayor a 3"
}
//Ayuda a manejar distintos errores en caso de que no haya abarcado alguna condicion
//Permite evaluar bajo diferentes condiciones como si se tuviera un IF
//Pueden ser casos especificos o generales.> 

Las estructuras de control se ven en el curso de programaci贸n b谩sica

Es una excelente estructura de control, sin embargo el tema de rendimiento es muy variable teniendo en cuenta el numero de condiciones que existan y en caso tal de que no se cumpla la condici贸n, el sistema evaluar谩 todas las posibilidades que est谩n descritas en el Switch lo cual llevar铆a a un retardo.

Ah铆 ser铆a mirar la pertenencia dependiendo de cada caso en el cual nos encontremos.

Switch nos permitira evaluar bajo diferentes condiciones como si tuvieramos un if a pesar de nofuncionar de la misma manera, Switch nos permite evaluar o comparar varias condiciones hasta que uno de los casos coincida y se ejecute un bloque de codigo sobre el cual nuestro algoritmo debe pasar para que sea efectivo y realice la tarea requeridad en nuestra app, en la primera parte tenemos un punto de evaluaci贸n y diferentes pasos de comparaci贸n, al final podras encontrar un default
primero tenemos el numero a evaluar que pasara en distintos pasos de comparaci贸n

case 1:

podemos tener x cantidades de casos pero hay que tener cuidado de no hacerlo tan extenso porque puede colapsar nuestro flujo de trabajo recuerda soluciones simples para problemas simples y complejos en nuestro primer caso vamos a evaluar nuestro numero bajo esa condicion en caso de que est谩 condici贸n se cumpla va a entrar en el siguiente bloque que est谩 en la parte de adentro

"el numero es 1"

esto quiere decir que si nuestro numero a evaluar es igual a 1 entonces va a retornarnos a 鈥渆l numero es 1鈥 tambien podemos guardarlo en una variable o podemos llamar a una funci贸n lo que se necesite se puede colocar en ese lugar para que se realice la l贸gica del flujo de trabajo que necesites realizar.
cuando haya pasado por esta condici贸n y el codigo se haya ejecutado, no necesario que pase por el resto de los casos, si no que se ejecutaria el siguiente codigo que es:

break;

El break indica que es momento de salir de Switch y continuar con la ejecuci贸n natural de nuestro codigo

default:

al final contamos con un valor que es default en un caso donde no haya coincidido con ninguno de los anteriores casos entrar铆a a este bloque de codigo donde por defecto dir铆a 鈥渆l numero es mayor a 3鈥 esto se ejecutar铆a cuando algo no haya sucedido, cuando ninguno de los casos haya coincidido

switch (numero) {   
case 1:
    "El n煤mero es 1" 
break;
case 2:
    "El n煤mero es  2"
break;
case 3:
     "El n煤mero es 3"
break;
default:
      "El n煤mero es mayor a 3"

Una sentencia switch se emplea para efectuar selecciones multiples que bifurcan diferentes segmentos del codigo dependiendo del valor de 1 variable o una expresion entera.

En el ejemplo del switch hacer la observaci贸n que no necesariamente el mensaje de default es correcto. Ya que la variable numero puede tener un valor negativo.

en un video de YT encontr茅 un ejemplo muy pr谩ctico y que la mayor铆a entender谩:
Cuando intentamos acceder a nuestro perfil o pantalla en netflix, tenemos que seleccionar el que nos corresponda.

Conclucion: el Switch toma un valor y verifica cada caso si un caso se cumple entre y ejecuta el codigo que tiene adentro, si no hay ningun caso que coicide entra en el default
ejecutando el codigo que puede aver dentro de esta;
Con el break podemos salir de la estructura de control y seguir con el codigo una vez que halla termino de ejcutar lo que habia adentro

En Programaci贸n B谩sica se us贸 para cumplir un evento en este caso dibujar sobre canvas usando las teclas de direccion del teclado.

switch (evento.keyCode)
{
case teclas.UP:
dibujarLinea(colorcito, x, y, x, y - movimiento, papel);
y = y - movimiento;
break;
case teclas.DOWN:
dibujarLinea(colorcito, x, y, x, y + movimiento, papel);
y = y + movimiento;
break;
case teclas.LEFT:
dibujarLinea(colorcito, x, y, x - movimiento, y, papel);
x = x - movimiento;
break;
case teclas.RIGHT:
dibujarLinea(colorcito, x, y, x + movimiento, y, papel);
x = x + movimiento;
break;
}

Quisiera aportar que tambi茅n existe el operador ternario, el cual funciona como un if else simplificado, sirve para retornar o asignar valores seg霉n una condici貌n:

condici贸n ? exprVerdadero : exprFalso

En este Ejemplo, si el numero es menor o igual que 0, el Switch entrar铆a en el Default, Mostrando al usuario que 鈥淓l numero es mayor que 3鈥濃 no es una critica al c贸digo, solo es para que se tenga en cuanta que las variables enteras tambi茅n trabajan con negativos. es algo que se suele olvidar mucho

Para m铆 que soy nuevo en esto es una funci贸n nueva que no conoc铆a. Interesante.

Buena clase!

<code> 
switch(objeto)  {
case 1: 
     "el objeto es carro"
break;
case 2: 
      "el objeto es arbol"
break;
case 3:
      "el objeto es perro"
break;
default:
        "el objeto es carro	
}

Entendiendo la estructura de un Switch y como debemos utilizarlo si afectar el rendimiento de nuestro aplicativo

Switch/case: permite evaluar un valor y pasarlo por diferentes casos de comparaci贸n hasta que coincida y se ejecute con un bloque de c贸digo sobre el cual nuestro algoritmo debe pasar y se ejecute nuestro resultado.
Importante iniciar en 鈥渃ase鈥 y cerrar con 鈥渂reak鈥

Gracias

Resumen de Switch:

  • Se utiliza cuando hay muchos if

  • Case son los valores que puede tomar el elemento que cambia

  • Default es como else

  • Break es para salir del switch

switch (ElementoQueCambia)
{
	case parametro :
		lo que se ejecuta
	break;
	default:
}

Entendiendo la estructura de un Switch

Aqui un ejemplo de un switch en java:

switch(Departamento) {
	case "Durazno":
	  System.out.println("El departamento es Durazno");
	  break;
		
	case "Flores":
	   System.out.println("El departamento es Flores");
	    break;
		
	case "Florida":
	     System.out.println("El departamento es Florida");
	     break;

		default:	
System.out.println("No ingreso un departamento correcto");		
	}

Es curioso porque los errores ligados a los switchs y sus case, dependen mucho del lenguaje de programaci贸n, por ejemplo en c++ ocurre un bucle infinito al no haber un break en el case que se deber铆a ejecutar, y en otros lenguajes de programaci贸n utilizados en el desarrollo web, puede afectar al rendimiento del navegador.

Gracias!

<code> 
let practica;

practica = prompt("驴Practicas lo aprendido? (Responde: Si o No)")

switch(practica) { 
case "Si": 
       document.write("Excelente sigue as铆");
	break;
case "No": 
	document.write("驴Que esperas? 隆ponte a 	    practicar!");
	break; 
default:
	document.write("D铆gita bien tu respuesta")
}


El switch/case es una estructura un poco鈥 controversial鈥 Algunos la aman, otros la odian, pero lo importante es saber cu谩ndo es que tenemos que usar esta estructura, ya que si realmente soluciona el problema sin que afecte nuestra legibilidad entonces est谩 bien usado
.
El switch/case viene a arreglar uno de los problemas que podemos llegar a tener con el if cuando evaluamos muchos casos鈥 el if hell:
.
Como pueden ver, el c贸digo empieza a ser menos legible y m谩s hacia la derecha, por eso el switch/case es importante

Permite evaluar un valor y pasarlo por diferentes casos de comparaci贸n hasta que uno de estos coincida y ejecute el c贸digo

En el ejemplo pudiera ser que el n煤mero es mayor a 3 o menor a 1

Una aplicaci贸n que encontr茅 relaci贸n a esta condicional es Akinator, te va mostrando opciones que tu descartas o confirmas, hasta que llegas al personaje elegido en mente.

Basicamente este seria el funcionamiento de los condicionales if y switch

switch
evaluaci贸n de casos
aplicado a men煤s