En C# tenemos también un tipo de datos llamado "booleano" ("bool"), que puede tomar dos valores: verdadero ("true") o falso ("false"):
bool encontrado;
encontrado = true;
Este tipo de datos hará que podamos escribir de forma sencilla algunas condiciones que podrían resultar complejas. Así podemos hacer que ciertos fragmentos de nuestro programa no sean "if ((vidas == 0) || (tiempo == 0) || ((enemigos == 0) && (nivel == ultimoNivel)))" sino simplemente "if (partidaTerminada) ..."
A las variables "bool" también se le puede dar como valor el resultado de una comparación:
// Ejemplo básico
partidaTerminada = false;
if (vidas == 0) partidaTerminada = true;
// Notación alternativa, sin usar "if"
partidaTerminada = vidas == 0;
// Ejemplo más desarrollado
if (enemigos ==0) && (nivel == ultimoNivel)
partidaTerminada = true;
else
partidaTerminada = true;
// Notación alternativa, sin usar "if"
partidaTerminada = (enemigos ==0) && (nivel == ultimoNivel);
Lo emplearemos a partir de ahora en los fuentes que usen condiciones un poco complejas (es la alternativa más natural a los "break"). Un ejemplo que pida una letra y diga si es una vocal, una cifra numérica u otro símbolo, usando variables "bool" podría ser:
// Ejemplo_03_05a.cs
// Variables bool
// Introducción a C#, por Nacho Cabanes
using System;
public class Ejemplo_03_05a
{
public static void Main()
{
char letra;
bool esVocal, esCifra;
Console.WriteLine("Introduce una letra");
letra = Convert.ToChar(Console.ReadLine());
esCifra = (letra >= '0') && (letra <='9');
esVocal = (letra == 'a') || (letra == 'e') || (letra == 'i') ||
(letra == 'o') || (letra == 'u');
if (esCifra)
Console.WriteLine("Es una cifra numérica.");
else if (esVocal)
Console.WriteLine("Es una vocal.");
else
Console.WriteLine("Es una consonante u otro símbolo.");
}
}
Ejercicios propuestos:
Ejercicio propuesto 3.5.1: Crea un programa que use el operador condicional para dar a una variable llamada "iguales" (booleana) el valor "true" si los dos números que ha tecleado el usuario son iguales, o "false" si son distintos.
Ejercicio propuesto 3.5.2: Crea una versión alternativa del ejercicio 3.5.1, que use "if" en vez del operador condicional.
Ejercicio propuesto 3.5.3: Crea un programa que use el operador condicional para dar a una variable llamada "ambosPares" (booleana) el valor "true" si dos números introducidos por el usuario son pares, o "false" si alguno es impar.