jueves, 9 de septiembre de 2010

Unidad didactica Nro 4 (Clase Nro 4)

Unidad IV: Funciones

Sentencia "if” y "if...else"
Implementa la ejecución condicional de una sentencia. Requiere la librería "stdio.h".
Sintaxis: if ()
if () else
Ejemplo: if (x= =1) { }
if (x= =1) { } else { }

Se pueden declarar variables dentro de la condición. Por ejemplo: if(int val = func(arg))...
En este caso, la variable "val" sólo estará accesible dentro del ámbito de la sentencia "if" y, si existe, del "else".
Si la condición es "true" se ejecutará la sentencia1, si es "false" se ejecutará la sentencia2.
El "else" es opcional, y no pueden insertarse sentencias entre la sentencia1 y el "else".

Programa que al ingresar dos números enteros me dice si son iguales, mayor, menor, igual mayor o menor
#include
main() /* la función main inicia la ejecución del programa */
{
int num1; /* primer número que lee el usuario */
int num2; /* segundo número que lee el usuario */
printf( "Introduza dos enteros, y le dire\n" );
printf( "las relaciones que satisfacen: " );
scanf( "%d%d", &num1, &num2 ); /* lectura de los enteros */
if ( num1 == num2 ) {
printf( "%d es igual que %d\n", num1, num2 );
} /* fin de if */
if ( num1 != num2 ) {
printf( "%d no es igual que %d\n", num1, num2 );
} /* fin de if */
if ( num1 < num2 ) { printf( "%d es menor que %d\n", num1, num2 ); } /* fin de if */ if ( num1 > num2 ) {
printf( "%d es mayor que %d\n", num1, num2 );
} /* fin de if */
if ( num1 <= num2 ) { printf( "%d es menor o igual que %d\n", num1, num2 ); } /* end if */ if ( num1 >= num2 ) {
printf( "%d es mayor o igual que %d\n", num1, num2 );
} /* fin de if */
return 0; /* indica que el programa terminó con éxito */
} /* fin de la función main */
Operadores
== igual != desigual > mayor < menor >= mayor e igual <= menor e igual Sentencia "switch" Cuando se usa la sentencia "switch" el control se transfiere al punto etiquetado con el "case" cuya expresión constante coincida con el valor de la variable del "switch", no te preocupes, con un ejemplo estará más claro. A partir de ese punto todas las sentencias serán ejecutadas hasta el final del "switch", es decir hasta llegar al "}". Esto es así porque las etiquetas sólo marcan los puntos de entrada después de una ruptura de la secuencia de ejecución, pero no marcan las salidas. Requiere la librería "iostream.h". Esta característica nos permite ejecutar las mismas sentencias para varias etiquetas distintas, y se puede eludir usando la sentencia de ruptura "break" al final de las sentencias incluidas en cada "case". Si no se satisface ningún "case", el control parará a la siguiente sentencia después de la etiqueta "default". Esta etiqueta es opcional y si no aparece se abandonará el "switch". Para emplear números en el case, quitarle las comillas. Sintaxis: switch ()
{ case : [... ] [break;]
. . .
[default : ]
}
Ejemplo: switch ( calificacion ) {
case 'A': /* la calificación es A */
++cuentaA; /* incrementa cuentaA */
break; /* necesario para salir de switch */
default: /* atrapa todos los demás caracteres */
} /* fin de switch */

Programa que ingresa una letra y me dice si es vocal
#include
#include
int main ()
{
char letra; int EsVocal;
cin>>letra;
switch (letra)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
EsVocal = true; //es lo que hace en caso de que la letra sea igual a alguna vocal
break; //detiene el programa
default:
EsVocal = false;
}
cout<
getch ();
return 0;
}

Ver ejercicio Nro 18 del trabajo práctico.
En este ejemplo letra es una variable de tipo "char" y EsVocal de tipo "bool". Si el valor de entrada en el "switch" corresponde a una vocal, EsVocal saldrá con un valor verdadero, en caso contrario, saldrá con un valor falso. El ejemplo ilustra el uso del "break", si letra es 'a', se cumple el primer "case", y la ejecución continúa en la siguiente sentencia, ignorando el resto de los "case" hasta el "break".

No hay comentarios:

Publicar un comentario