Índice del artículo

Bucles de tipo while

Las estructuras de tipo while pueden sernos útiles en muchas ocasiones. Su forma general es:

while(condición)
{   código a ejecutar mientras se dé la condición    }

La principal diferencia de este tipo de estructura con los bucles de tipo for es que no existe una variable contador. Por tanto, si no necesitamos un contador podemos ahorrarnos trabajar con for y usar una bucle while. A medida que avancemos en la serie iremos viendo ejemplos de este tipo de estructura.


Un nuevo tipo de condiciones. El operador switch.
Con el operador switch, podemos ahorrarnos complejas estructuras compuestas por varios if y else. Fundamentalmente la estructura de tipo switch es utilizada cuando necesitamos realizar una tarea en función del valor de una variable. Por ejemplo, supongamos que deseamos crear un sistema cuyo comportamiento varía en función de la situación en qué esté el mercado. Así, declaramos la variable que toma valores enteros, marketState:

int marketState

Que puede tomar los siguientes valores:

1, si el mercado es alcista
2, si el mercado es bajista
3, si el mercado está sin tendencia


Si ahora creáramos el sistema combinando varios if y else tendríamos que:

if (marketState == 1)   
{      // Estrategia Mercado Alcista    } 
else       if(marketState == 2)       
{          // Estrategia Mercado Bajista        }     
else           if(marketState == 3)           
{              // Estrategia Mercado sin Tendencia            }         
else            {              // Error: no se consideran otras posibilidades            }

Como podemos ver, todas las condiciones dependen de una única variable y en todas se compara su valor con un significado asociado a él. En este tipo de situaciones, las estructuras de tipo switch son mucho más eficaces:


switch(marketState)
{     
case 1:  // Estrategia Mercado Alcista              
break;     
case 2:  // Estrategia Mercado Bajista              
break;     
case 3:  // Estrategia Mercado sin Tendencia              
break;     
default: // Error: no se consideran otras posibilidades              
break;   
}

Obsérvese en el ejemplo anterior que hemos definido previamente la variable de estado marketState.

En general, las estructuras de tipo switch presentan la siguiente forma:

switch(variable de estado)   
{      case [valor de la variable]:      // Código a ejecutar para este caso      
break;          
case [otro valor de la variable]: // Código a ejecutar para este caso     
break;          
default:      // Código para el resto de casos     
break;     }