No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Condicionales

12/23
Recursos

Aportes 18

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Existe otra alternativa a los condicionales anidados que son los Else if, por ejemplo:

int tieneMascota = 1;
  
  if (tieneMascota == 0) {
    print("No tiene mascota");
  } else if (tieneMascota == 1) {
    print("tiene una mascota");
  } else {
    print("Tiene muchas mascotas");
  }

¿Dónde está la igualdad estricta? ===

Si al igual que yo, venís de programar en JavaScript (sobretodo TypeScript), habrás notado la ausencia de nuestra querida igualdad estricta (===) y te habrá hecho ruido ver la igualdad simple (==). En realidad, en Dart el == funciona igual que el === en JS.

print("1" == 1);
// false

Y si esto no te parece suficiente, también existe la función identical():

int a = 2;
int b = 1 + 1;

print(identical(a, b));
// true
// Solo existe un objeto "2"

He aquí la diferencia entre ambos métodos:

== identical()
Compara si dos elementos son iguales. || Compara si dos elementos son el mismo

Esto es apenas un resumen/traducción de la página oficial de Dart para aquellos que se mueven de JS a Dart-

Les comparto lo que aprendí con if, else y swtich

**If - else: **

**Switch: **

void main() {
// Mascotas
  int mascotas = 2;
  if (mascotas == 0) {
    print('No tienes mascotas');
  } else if (mascotas == 1) {
    print('Tienes una mascota');
  } else {
    print('Tienes muchas mascotas');
  }

  switch (mascotas) {
    case 0:
      print('No tienes mascotas');
      break;
    case 1:
      print('Tienes una mascota');
      break;
    default:
      print('Tienes muchas mascotas');
  }
}

void main() {
int statusMascota = 0;

if (statusMascota == 0) {
print(“no hay mascotassss”);
} else {
print(“tenemos $statusMascota Mascotas!!!”);
}
}


MI aporte!!

Imagen del ejercicio en DartPad

Usando ambos if and switch statements"

Estas serían las condicionales más utilizadas en Dart

void main() {
  int mascotas = 5;

  // If - else
   if (mascotas == 0) {
    print("No tienes mascotas");
  } else {
    if (mascotas == 1) {
      print("Solo tienes una mascota");
    } else {
      print("Tienes muchas mascotas");
    }
  } 

  // If anidado
   if (mascotas == 0) {
    print("No tienes mascotas");
  } else if (mascotas == 1) {
    print("Solo tienes una mascota");
  } else {
    print("Tienes muchas mascotas");
  } 

  // Operador Ternario
  (mascotas == 0)
      ? print("No tienes mascotas")
      : mascotas == 1
          ? print("Solo tienes una mascota")
          : print("Tienes muchas mascotas");

  // Switch
  switch (mascotas) {
    case 0:
      print("No tienes mascotas");
      break;
    case 1:
      print("Solo tienes una mascota");
      break;
    default:
      print("Tienes muchas mascotas");
  }
}
//haciendo uso del operador ternario, nos podemos ahorrar unas cuantas lineas de codigo.

void main() {
  int statusMascota = 0;

  statusMascota == 0 ? print("no hay mascotas") : print("tenemos $statusMascota Mascotas!!!");
}

void main() {
int mascota = 20;
if (mascota == 0) {
print(“No tiene mascotas”);
} else {
if (mascota == 1) {
print(“Tiene 1 amscota”);
} else {
print(“Tiene muchas mascotas”);
}
}

switch(mascota){
case 0:
print(“No tiene mascotas”);
break;
case 1:
print(“Tiene 1 amscota”);
break;
default:
print(“Tiene muchas mascotas”);
}
}

  //Detector de deudas
  //if , else, switch
  void main() {
    int deudas = 0;
    if (deudas == 0) {
      print("No tienes deudas");
    } else{
      print("Tienes deudas");
    }
    switch(deudas){
      case 0:
        print("No tienes deudas");
        break;
      case 1:
        print("Tienes 1 deuda");
        break;
      default:
        print("Tienes varias deudas");
    }
  }

Me esta gustando mucho el curso.

Pd: Muchos if anidados aumenta la complejidad ciclomática.

Control de flujo

✨ Concepto clave
En programación tenemos 3 comportamientos (secuencial, condicional e iterativo), que permiten desarrollar algoritmos con el fin de crear procesos según un sentido.

.
Como en todos los lenguajes de programación, tendremos las siguientes declaraciones para el control del flujo:

  • Condicionales if if .. else switch .. case
  • Iterativo for while do .. while
  • Secuencial break continue

.

ℹ️ Definición
Un flujo es considerado secuencial ya que se ejecuta línea a línea, el cual podemos explícitamente detener o saltar según su estado contextual.

.

Condicionales

ℹ️ Definición
Un flujo se considera condicional cuando deseamos evaluar casos o contextos según sea su origen.

if (isRaining())  you.bringRainCoat();
else if (isSnowing()) you.wearJacket();
else car.putTopDown();

O cuando deseamos evaluar múltiples casos en un mismo bloque de código:

const state = 'OPEN';
switch (command) {
  case 'CLOSED':
    sayGoodBye();
    break;
  case 'OUT':
    saySeeYouLater();
    break;
  default:
    sayHello();
}

Te dejo mi trabajo realizado durante la clase:

void main() {
  // Mascotas

  int mascotas = 0;

  switch (mascotas) {
    case 1:
      print("Solo tienes una mascota");
      break;
    case 2:
      print("Tienes $mascotas mascotas");
      break;
    default:
      print("No tienes mascotas");
  }

  if (mascotas >= 2) {
    print("Tienes $mascotas mascotas");
  } else {
    if (mascotas == 1) {
      print("Solo tienes una mascota");
    } else {
      print("No tienes mascotas");
    }
  }
}

Con el switch tambien se puede evaluar una condición y como devuelve un true o false podemos devolver un resultado a partir de la respuesta.

void main() {
  //mascotas
  
  int cantidadMascotas = 3;
  
  //Evaluando con if
  if(cantidadMascotas == 0) {
    print('no tienes mascotas');
  } else if (cantidadMascotas > 0) {
    print('Tienes $cantidadMascotas mascotas');
  }
  
  //evaluando con switch
  switch(cantidadMascotas > 0) {
      case false: 
      print('no tienes mascotas');
      break;
      
      case true:
      print('Tienes $cantidadMascotas mascotas');
      break;
  }
} 

Mi ejemplo con case;

void main() {
  int cantidad = 0;
  switch (cantidad) {
    case 0:
      print("No tiene mascota");
      break;
    case 1:
      print("Tiene una mascota");
      break;
    default:
      print("Tienes muchas mascotas");
  }
}

Pero es puro c#.