9. Control de Flujo. 9.1 Clase Console Clase Console, perteneciente al namespace System. ...

Preview:

Citation preview

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;

}

Recommended