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?

o inicia sesi贸n.

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(鈥渘o hay mascotassss鈥);
} else {
print(鈥渢enemos $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(鈥淣o tiene mascotas鈥);
} else {
if (mascota == 1) {
print(鈥淭iene 1 amscota鈥);
} else {
print(鈥淭iene muchas mascotas鈥);
}
}

switch(mascota){
case 0:
print(鈥淣o tiene mascotas鈥);
break;
case 1:
print(鈥淭iene 1 amscota鈥);
break;
default:
print(鈥淭iene 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#.