domingo, 29 de marzo de 2009

Estructuras de Control:

El orden de ejecución de las sentencias de un programa determina su flujo de control

Las estructuras de control permiten alterar el orden del flujo de control

Existen dos tipos básicos

* De Selección

* De Repetición o Iteración

Estructuras de Control Selectivas :

Dirigen el flujo de ejecución según el resultado de evaluación de expresiones

IF :

* si expresion_logica

entonces hacer acción A

sino hacer acción B

fin_si

 

Un ejemplo de if en Java:

if (B == A)
         {
            System.out.println("Ejemplo If Java");
         }

else

{

System.out.println("else es igual a -sino-” );

}

CASE:

lsegún_sea selector hacer

C11,C12,…: sentencia 1

C21,C22,…: sentencia 2

…..

[sino sentencia x]

fin_según

 

La sentencia Case se utiliza para elegir entre diferentes alternativas. Una sentencia case se compone de varias sentencias simples. Cuando case se ejecuta, una (y sólo una) de las sentencias simples se selecciona y ejecuta.

Reglas:

-La expresión selector se evalúa y se compara con las listas de constantes; las listas de constantes son listas de uno o más posibles valores de selector separados por comas. Sólo se ejecuta una sentencia.

-La cláusula sino es opcional, como en la sentencia if.

-Si el valor del selector no está comprendido en ninguna lista de constantes y no existe la cláusula sino, nada sucede y el programa sigue su flujo normal. Si el valor del selector no coincide con alguna constante se ejecutan las sentencias a continuación de la cláusula else.

-El selector debe ser un tipo ordinal (número entero, caracter, o booleano). Los números reales no pueden ser utilizados ya que no son ordinales.

-Todas las constantes Case deben ser únicas y de un tipo ordinal compatible con el tipo de selector.

 

Ejemplo Case en Java:

switch (cas) {
        case 'a': if (a[0][0]== 'A'){a[0][0] = 'O'; S = 0;}else{S=3;} break;
        case 'b':if (a[1][0]=='B'){a[1][0] = 'O';S = 0;}else{S=3;} break;
        case 'c':if(a[2][0]=='C'){a[2][0] = 'O';S = 0;}else{S=3;} break;
        case 'd':if(a[0][1]=='D'){a[0][1] = 'O';S = 0;}else{S=3;} break;
        case 'e':if(a[1][1]=='E'){a[1][1] = 'O';S = 0;}else{S=3;} break;
        case 'f':if(a[2][1]=='F'){a[2][1] = 'O';S = 0;}else{S=3;} break;
        case 'g':if(a[0][2]== 'G'){a[0][2] = 'O';S = 0;}else{S=3;} break;
        case 'h':if(a[1][2]=='H'){a[1][2] = 'O';S = 0;}else{S=3;} break;
        case 'i':if(a[2][2]=='I'){a[2][2] = 'O';S = 0;}else{S=3;} break;
        default:System.out.println("La Casilla esta Ocupada o No existe."); S=3; break;
    } //   case seria el nombre de la Variable en cuestion.

No hay comentarios:

Publicar un comentario