miércoles, 28 de diciembre de 2016

Ciclo while

El ciclo while se repite la cantidad de veces que se repite la condición.
Sintaxis:
while(condición){
     //  instrucciones
}

Ejemplo 1: Imprimir números del 1 al 20.
Si queremos mostrar en pantalla los números del 1 al 20 podríamos hacer lo siguiente:
//*********************************************************************
#include <stdio.h>
int main(){
    printf("\n1");
    printf("\n2");
    printf("\n3");
    printf("\n4");
    printf("\n5");
    printf("\n6");
    printf("\n7");
    printf("\n8");
    printf("\n9");
    printf("\n10");
    printf("\n11");
    printf("\n12");
    printf("\n13");
    printf("\n14");
    printf("\n15");
    printf("\n16");
    printf("\n17");
    printf("\n18");
    printf("\n19");
    printf("\n20");
    return 0;
}

//*********************************************************************

Estaríamos repitiendo 20 veces la función printf. También podriamos imprimir todo solo en una línea, de la siguiente forma:
//*********************************************************************
#include <stdio.h>
int main(){
    printf("\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20");
    return 0;

}

//*********************************************************************

El resultado será el mismo, pero en caso de querer modificar la cantidad habría que agregar manualmente más números o por el contrario quitarlos.
Salida:

En este caso sería muy útil usar el ciclo while:
//*********************************************************************
 #include <stdio.h>
int main(){
    int n=1;
    while(n<=20){

        printf("\n%d",n);
        n++;

    }
    return 0;
}

//*********************************************************************

Se declara una variable n con un valor inicial de 1, luego se escribe el ciclo while cuya condición será: que se repita la instrucción mientras la variable sea menor a 20, y la instrucción que va a mostrar es la impresión de la variable. Seguidamente hay un contador que va a modificar el valor de la variable.
La salida es la siguiente:

En caso de olvidar colocar el contador o modificar la variable, la instrucción se repetirá constantemente. Asi:
//*********************************************************************
 #include <stdio.h>
int main(){
    int n=1;
    while(n<=20){

        printf("\n%d",n);
    }
    return 0;
}

//********************************************************************* 
La salida seria la siguiente:
La condición siempre se va a cumplir.

viernes, 2 de diciembre de 2016

Ciclo For

El ciclo for, permite repetir la información que se le indique, la cantidad de veces que una condición se cumpla.

Sintaxis:
for(inicialización,condición,contador){
    //instrucciones a repetir
}

*Inicialización, se inicializa una variable.
*Condición, se escribe la condición que se debe cumplir para que se ejecuten las instrucciones que estan entre las llaves.
*Contador, modificara la variable que se inicializo.

Ejemplo 1: Ciclo for incrementando.
//*********************************************************************
#include <stdio.h>
int main(){
    int var;
    for(var=0;var<5;var++){
        printf("\nVuelta %d",var);
    }
    return 0;
}
//*********************************************************************

Se declara una variable y luego el for, donde la variable es inicializada en 0 y se dice que si var (0) es menor que 5 se ejecute la linea de codigo que muestra un mensaje en pantalla.
* Como se cumple, el mensaje se muestra y la variable incrementa en una unidad, ahora vale 1.
* Se vuelve a revisar en la linea de for y se compara, como nuevamente se cumple, se muestra el mensaje y vuelve a incrementar.
* Continua en la linea de for, var ahora vale 2. Seguidamente se cumple nuevamente la condición y ahora var vale 3.
* Se vuelve a evaluar la linea de for y como se cumple se vuelve a imprimir el mensaje en pantalla y ahora var vale 4.
* Nuevamente se cumple la condición, var vuelve a incrementar y vale 5, pero ahora al volver a la línea de for cuando se evalué la condicion 5<5, no se cumplirá así que no se volverán a ejecutar las instrucciones del for

Nota: para este ejemplo como el bloque de instrucciones del ciclo for tiene solo una línea, no es necesario colocar las llaves.

Salida:

Ejemplo 2: Ciclo for decrementando.
//*********************************************************************
#include <stdio.h>
int main(){
    int var;
    for(var=5;var>0;var--){
        printf("\nVuelta %d",var);
    }
    return 0;
}
//*********************************************************************

El mismo ejemplo pero esta vez decrementando.
Salida:

Ejemplo: Ciclo for para registrar datos de varias personas.
//*********************************************************************
#include <stdio.h>
int main(){
    int var,cant,edad;
    char nombre[20],apellido[20],direccion[40];
    printf("\nCantidad de personas que va a registrar.");
    scanf("%d",&cant);
    for(var=0;var<cant;var++){
        printf("Persona %d:",var+1);
        printf("\n\tNombre: ");
        fflush(stdin);
        gets(nombre);
        printf("\n\tApellido: ");
        fflush(stdin);
        gets(apellido);
        printf("\n\tDireccion: ");
        fflush(stdin);
        gets(direccion);
        printf("\n\tEdad: ");
        scanf("%d",&edad);
    }
    return 0;
}
//*********************************************************************

En este caso el usuario indicará la cantidad de personas que van a registrarse, se esta manera no será necesario escribir varias veces las líneas en las que se piden los datos de las personas.
Salida:

jueves, 1 de diciembre de 2016

Condicional Switch

Switch es usado para situaciones con varias posibilidades.
La sintaxis es:

switch(variable){
    case 'opcion1':
    //instrucciones
    break
    case 'opcion2':
    //instrucciones
    break
    default:
}


Si no se coloca break al finalizar las instrucciones de cada case el programa ejecutará las instrucciones de todos los case que esten después de la que se cumpla.
default se coloca para el caso en que no se cumpla ninguno de los case.

Ejemplo 1: Uso de switch con números.
//*********************************************************************
#include <stdio.h>
int main(){
    int num;
    printf("Ingrese un numero: ");
    scanf("%d",&num);

    switch(num){
        case 1:
            printf("\nNumero 1.");
            break;
        case 2:
            printf("\nNumero 2.");
            break;
        case 3:
            printf("\nNumero 3.");
            break;
        default:
            printf("\nNinguna de las opciones posibles");

    }
    return 0;
}
//*********************************************************************


Salida:
 Ingresando 1.

Ingresando 2.


Ingresando 3.
 

 Ingresando 4.
 

 Ejemplo 2: Uso de switch con simbolos.
//*********************************************************************
#include <stdio.h>
int main(){
    char letra;
    printf("Ingrese una letra: ");
    scanf("%c",&letra);

    switch(letra){
        case 'a':
            printf("\n Vocal a.");
            break;
        case 'e':
            printf("\n Vocal e.");
            break;
        case 'i':
            printf("\n Vocal i.");
            break;
        case 'o':
            printf("\n Vocal o.");
            break;
        case 'u':
            printf("\n Vocal u.");
            break;
        default:
            printf("\nLa letra que ingreso no es vocal");

    }
    return 0;
}
//*********************************************************************


Salida:
Ingresando a:
 

Ingresando e:

Ingresando w: