jueves, 1 de diciembre de 2011

Video sobre Lenguaje C

Estructuras de control SWITCH


SWITCH EN C ++

La forma general de esta sentencia es:

switch (expresion)
{
    case exp 1:
        sentencia 1;
        sentencia 2;
        break;

    case exp 2:
    case exp N:
        sentencia N;
        break;
    default:
        sentencia D;
}


Figura 3.3: Sentencia switch
\includegraphics[width=10cm]{im/sintaxis/switch.eps}


  • expresion devuelve un valor entero, pero también puede ser de tipo char.
  • exp1, ..., exp N representan expresiones constantes de valores enteros, aunque también pueden ser caracteres.

Un ejemplo de uso de esta sentencia es el siguiente fragmento de programa, que decide si imprime la vocal dada:

letra='e';
switch(letra);
{
        case 'a': 
        case 'A': 
                printf(``Es la vocal a\n'');
                break;
        case 'e': 
        case 'E': 
                printf(``Es la vocal e\n'');
                break;
        case 'i': 
        case 'I':  
                printf(``Es la vocal i\n'');
                break;
        case 'o': 
        case 'O': 
                printf(``Es la vocal o\n'');
                break;
        case 'u': 
        case 'U': 
                printf(``Es la vocal u\n'');
                break;
        default: printf(``Es una consonante\n'');
}

Estructura de control DO WHILE

CICLO DO WHILE C++

Su diferencia básica con el ciclo while es que la prueba de condición es hecha al finalizar el ciclo, es decir las instrucciones se ejecutan cuando menos una vez porque primero ejecuta las instrucciones y al final evalúa la condición;

También se le conoce por esta razón como ciclo de condición de salida.

Su formato general es :

cargar o inicializar variable de condición;

do {

grupo cierto de instrucción(es);

instrucción(es) de rompimiento de ciclo;

} while (condición);

prog8.cpp

#include <stdio.h>

#include <conio.h>

#include <string.h>

void main()

{

clrscr();

// declaracion variables

int x=1;

// instruccion do while

do{

gotoxy(10, x+3); printf("%d GATO",x);

x++; } while(x<=10);

getchar();

}


Corrida prog

image199.jpg

Otra diferencia básica con el ciclo while es que, aunque la condición sea falsa desde un principio el cuerpo de instrucciones se ejecutara por lo menos una vez.

Estructura de control WHILE

CICLO WHILE C++

En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte en falsa el ciclo termina.

Su formato general es :

cargar o inicializar variable de condición;

while(condición)

{

grupo cierto de instrucciones;

instrucción(es) para salir del ciclo;

};

Un error muy comun con el while, es poner un punto y coma(;) despues de la (condición) ejemplo while(condicion); ←-esto es y causa un error.

Prog7.cpp

#include <stdio.h>

#include <conio.h>

#include <string.h>

void main()

{

clrscr();

// declaracion variables

int x=1;

// instruccion while

while(x<=10)

{ gotoxy(10, x+3); printf("%d PATO",x); x++; };

getchar();

}


Corrida:

image198.jpg

While puede llevar dos condiciones en este caso inicializar 2 variables de condición y cuidar que existan 2 de rompimiento o terminación de ciclo.

El grupo cierto de instrucciones puede ser una sola instrucción o todo un grupo de instrucciones.

La condición puede ser simple o compuesta.

Los casos generales de for tambien se aplican a while.

A este ciclo también se le conoce también como ciclo de condición de entrada o prueba por arriba porque este ciclo evalúa primero la condición y posteriormente ejecuta las instrucciones.

Estructura de control FOR

CICLO FOR C++

Instrucciones para ciclos resuelven el problema de repetir todo el programa o cierta parte del programa mas de una vez.

Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.

Su formato general es:

for (inicialización; condición; incremento)

{ instrucción(es); };

ejemplo:

for(x=1;x⇐10;x=x+1)

{ puts(” MAMA ”); };

En su forma simple la inicialización es una instrucción de asignación que carga la variable de control de ciclo con un valor inicial.

La condición es una expresión relacional que evalúa la variable de control de ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo.

El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el computador repite un ciclo.

Se deben separar esos 3 argumentos con punto y coma (;)

EJEMPLO

Codigo prog6.cpp

#include <stdio.h>

#include <conio.h>

#include <string.h>

void main()

{

clrscr();

// declaracion variables

int x;

// instruccion for

for(x=1;x<=10;x=x+1)

{ gotoxy(10, x+4); printf("%d MAMA",x); };

getchar();

}


corrida:

image197.jpg

Casos Particulares del ciclo for;

1.- El ciclo comienza en uno y se incrementa de uno en uno este es el caso mas general.

2.- Pero el valor inicial puede se diferente de uno, ejemplo;

for(x=5;x⇐15;x=x+1){ etc.};

3.- Incluso el valor inicial puede ser negativo, ejemplo;

for (x = -3 ;x⇐ 8; x=x+1) { etc.};

4.- Los incrementos también pueden ser diferentes al de uno en uno, ej.;

for (x=1; x⇐ 20; x=x+3){ etc. };

5.- Incluso pueden ser decrementos, solo que en este caso, recordar;

5.1.-el valor inicial de la variable debe ser mayor que el valor final.

5.2.-cambiar el sentido de la condición.

ejemplo;

for (x= 50 ; x >= 10; x= x-4 ) { etcétera };

Funcion Getchar

La función getchar() devuelve el carácter que se halle en la entrada estándar. Esta función tiene dos particularidades. La primera es que aunque se utiliza para obtener caracteres no devuelve un carácter, sino un entero. Esto se hace así ya que con un entero podemos representar tanto el conjunto de caracteres que cabe en el tipo carácter (normalmente el conjunto ASCII de caracteres) como el carácter EOF de fin de fichero. En UNIX es habitual representar los caracteres usando el código ASCII, tanto en su versión de 7 bits como en su versión ampliada a 8 bits. Estos caracteres se suelen representar como un entero que va del 0 al 127 o 256. El carácter EOF entonces es representado con un -1. Además esto también lo aplicaremos cuando leamos los ficheros binarios byte a byte. Un ejemplo:

#include <stdio.h>

main()
{
 int c;

 c = getchar(); /* Nótese que getchar() no devuelve nada 
   hasta que se presiona ENTER */

 putchar(c);
}
 

Aquí se almacena en el entero c el carácter pulsado en el teclado. Posteriormente se muestra con putchar.

Funcion Gotoxy

La función gotoxy ( ) posiciona el cursor en un lugar especifico en la pantalla. Esta función necesita de dos argumentos que le indican las coordenadas de la pantalla hacia donde mover el cursor. La sintaxis general de esta función es:

gotoxy(argumento1,argumento2);

En el primer argumento se especifica el numero de columna (1 - 80) y en el segundo argumento el numero de renglón (1 - 24). Esta función se encuentra dentro de la librería <conio.h>