9. Control de Flujo
9.1 Clase Console
Clase Console, perteneciente al namespace System.
Representa la entrada y salida estándar para aplicaciones de Consola.
Podemos escribir sin santo de línea:◦ Console.Write(“Holi,”);◦ Console.Write(“ teni”);◦ Console.Write(“ polili?.\n”);
Podemos escribir con salto de línea:◦ Console.WriteLine(“Holi, tení pololi?”);
Podemos escribir variables dentro de la salida:◦ Console.WriteLine(“El cuadrado de largo {0} tiene area
{1}”, largo, area);
Cada variable que queramos insertar en la salida, debe ir después del texto separadas por comma.
Y para visualizarlas debemos colocar el número de la variable entre llaves.
Podemos leer un carácter como entero.◦ int dato = Console.Read();
Podemos leer una línea.◦ String linea = Console.ReadLine();
La conversión se hace con los métodos Parse de los objetos que representan a los tipos de datos básicos.◦ Double.Parse(Console.ReadLine() );◦ Double.Parse(Console.ReadLine() );◦ Double.Parse(Console.ReadLine() );
9.2 Control de Flujo
Son tipos de datos que representan SÓLO 2 valores: true o false.
Tipo de datos: bool.
Ejemplos:bool continuar;bool muerto;bool pause;
Un programa NO ES SOLO una secuencia de sentencias que se deben realizar en un orden específico:◦ Colocarse los pantalones.◦ Colocarse los calcetines.◦ Colocarse los zapatos.◦ Abrocharse los zapatos.◦ Caminar.
Un programa tiene decisiones o iteraciones, y según ciertas características que sucedan en un momento determinado, se va a ejecutar una sentencia.
Un enemigo, necesita decidir si atacar o no. En base a ciertos datos que recopila del mundo, y del jugador.
9.3 Control de Flujo de Selección
Permiten decidir entre distintos cursos de acción en función de ciertos valores.
if (<condicion>) { <sentencia1>;}
else { <sentencia2>;}
Permiten decidir entre distintos cursos de acción en función de ciertos valores.
if (<condicion>) { <sentencia1>;}if else(<condicion>) { <sentencia1>;}…else { <sentencia2>;}
Se puede administrar un fármaco X a un paciente ?
Qué transporte utilizo para viajar ?
¿En qué viajar?
¿Voy al Instituto?
¿Voy a juntare con una mina?
¿Voy a carretear?
¿Estoy atrasado?
¿Estoy justo?¿Estoy con
tiempo?¿Estoy
atrasado?¿Estoy justo?
¿Estoy con tiempo?
¿Mis amigos están cerca?
¿Mis amigos no están cerca?
Colectivo
Metro
Micro
Taxi
Colectivo
Metro
Auto
Metro
Si
Si
No
Si
Si
No
No
No
SiSi
Si
Entonces viaja en:
==, !=, >, <, >=, <=
== Igual a
!= No igual a
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
==, !=, >, <, >=, <=
!, &&, ||
a b a && b a || b
true true true true
true false false true
false true false true
false false false false
a !a
true false
false true
Sirve para tomar decisiones. En videojuegos típicamente usado para la IA de
enemigos.
if( enemigo.distancia( protagonista ) < dist_min)enemigo.atacar();
elseenemigo.patrullar();
int mayor;
if (a > b) { mayor = a;}else { mayor = b;}
Console.WriteLine(“el numero mayor es: {0}”, mayor);
int mayor;
mayor = (a > b) ? a : b;
Console.WriteLine(“el numero mayor es: {0}”, mayor);
<condicion> ? <sentencia1> : <sentencia2>;
!, &&, ||
Su objetivo es comprobar varios posibles valores constantes de una expresión.
switch (<variable>) {
case <expresión_constante>: [<sentencias>] [break;]
. . . [default : [<sentencia>]]
}
switch(letra) {
case 'a':case 'e':case 'i':case 'o':case 'u':
EsVocal = true; break;
default: EsVocal = false;break;
}
Usado cuando se tiene un número finito de valores para una variable.
Típicamente usado para el diseño de menús.
Típicamente usado para el manejo de estados. (usando enum)
switch(tecla){
case W:protagonista.MoverUp();break;
case A:protagonista.MoverLeft();break;
case D:protagonista.MoverRight();break;
case S:protagonista.MoverDown();break;
case ESPACE:protagonista.Disparar()break;
case ESC:continuar = false;break;
default:break;
}
Top Related