Está en la página 1de 46

CAPTULO 4

SENTENCIAS DE CONTROL

SENTENCIAS DE CONTROL
Una sentencia de control nos permiten:

Realizar sentencias repetitivas.

Tomar decisiones.
Realizar un trabajo dependiendo de un valor ingresado.

BUCLE WHILE
El bucle while se ejecuta mientras una condicin es cierta. Cuando esta condicin se torna falsa, el bucle termina su operacin. Sintaxis:
while(condicin) { Sentencia1; Sentencia2; Sentencia3; . Sentencian; }

Veamos el siguiente ejemplo:

BUCLE WHILE

BUCLE WHILE
/* Este es un ejemplo del bucle while. */ # include <stdio.h> int main() { //declaro variables int contador; //Inicio el contador contador = 0; //Inicio el bucle, indicando q el bucle va a funcionar hasta //q el contador llegue a 6. while (contador < 6)

{
printf ("El valor de contador es %d\n", contador); //Incremento el contador. contador = contador + 1; } system ("PAUSE");

return 0 ;
}

EJERCICIO

Realizar un programa que permita imprimir 100 numero pares usando el bucle while.

EJERCICIO

EJERCICIO
#include <stdio.h> //Iniciamos varaibles int contador=1; int par=2; main() { //inciamos el uso de while while(contador<=100) {

//Imprimimos los numeros


printf("Imprimimos el %d numero par y es: %d\n",contador,par); //Sumamos dos par=par+2; //incrementamos el contador contador++; }

system("PAUSE"); return 0; }

BUCLE DO-WHILE
Esta estructura de repeticin es similar a la estructura while. En while la condicin para que se repita el bloque de instrucciones se evala desde el principio del ciclo de repeticiones, en cambio, en la estructura do-while, al principio se ejecuta el bloque y luego se evala la condicin para ver si se sigue ejecutando o no. Esto significa que el bloque se ejecutar por lo menos una vez.

BUCLE DO-WHILE
Sintaxis:
do { sentencia1; sentencia2; sentencia3; . . sentencian; } while (condicin);

EJEMPLO

Realizar un programa en c que permita contar un numero hasta 10.

EJEMPLO
#include <stdio.h> int n = 0; num=0; main() { do { num = num + 1; n++; } while( n < 10 ); printf("Este programa conto hasta:%d\n",num); system("PAUSE"); return 0; }

EJEMPLO

BUCLE FOR
Este tipo de instruccin se halla presente en la mayora de los lenguajes de programacin estructurados, y permite repetir una instruccin o conjunto de instrucciones un nmero determinado de veces. Su sintaxis es como sigue:

BUCLE FOR.
for (inicializacion; condicion; actualizacion) { <sentencia>;

BUCLE FOR.

Realizar un programa en C que permita que permita visualizar la tabla del 2 y del 5.

BUCLE FOR

BUCLE FOR.

BUCLE FOR.
#include <stdio.h> main() { int i; int tabla1,tabla2;

tabla1 = 2; /* Primero la tabla del dos */ tabla2 = 5; /* y a continuacin la tabla del cinco*/
for (i=1;i<11;i++) { printf ("\n %2dx%2d=%3d",tabla1,i,tabla1*i); printf (" %2dx%2d=%3d",tabla2,i,tabla2*i); } system("PAUSE"); }

EJERCICIO.

Realizar un programa en C que permita obtener el factorial de un nmero.

EJERCICIO.

El factorial se define como:

EJERCICIO.

EJERCICIO
//Este programa me permite obtener el factorial de un numero #include<stdio.h> //Declaramos variables unsigned int factorial=1; int i; n; main() { //Pedimos ingreso de variables printf("Ingrese el numero a sacar el factorial:"); scanf("%d",&n); //Inicializo el bucle for(i=1;i<=n;i++) { //Formula para calcular el factorial factorial=factorial*i; } //Imprimo el resultado printf("El factorial de %d es: %d\n",n,factorial); system("PAUSE"); }

EJERCICIO.

EJERCICIO.

Realizar la serie de taylor de:

EJERCICIO E^X

EJERCICIO E^X
#include<stdio.h> #include<math.h> //Declaramos variables float taylor=1; //La declaro como float debido a que necesito decimales int i, factorial=1, repeticiones, x; main() { //Pido los datos. printf("Ingrese el valor de x: "); scanf("%d",&x); //Precision. printf("Ingrese el nmero de repeticiones: "); scanf("%d",&repeticiones); //Inicio del bucle for(i=1;i<=repeticiones;i++)

//Realizo el factorial
factorial=factorial*i; //Realizo la serie de taylor taylor=taylor+(pow(x,i))/(factorial);

} //Imprimo los datos printf("El valor de e^%d es:%3.7f ",x,taylor); system("PAUSE");

EJERCICIO E^X

SENTENCIAS CONDICIONALES.
Las sentencias condicionales nos permiten decidir que tipo de sentencia se va a ejecutar dependiendo del valor comparado. Para esto debemos recordar los condicionales.

CONDICIONAL IF.
La sentencia if permite una accin previamente predeterminada por el programador, la cual se cumplir si la condicin tiene valor lgico verdadero (segn la tabla de la verdad es 1) o valor lgico falso (segn la tabla de la verdad es 0).

CONDICIONAL IF.
Su representacin en un diagrama de flujo es:

CONDICIONAL IF.
La sintaxis o estructura general de la sentencia condicional if es la siguiente:
if (expresin) sentencia_1; else /* Opcional */ sentencia_2;

CONDICIONAL IF.
Si la expresin (conocida tambin como condicin o argumento) posee un valor distinto de cero (valor lgico TRUE = 1), se ejecuta la accin sentencia_1. En cambio, si es cero (valor lgico FALSE = 0), no se ejecutar, a menos que exista un bloque else (como el que se mostr en la sintaxis anterior), en cuyo caso se ejecutar la sentencia_2.

CONDICIONAL IF.
Vale la pena resaltar que no es necesario que est un bloque else. De hecho, con la sentencia condicional if basta para determinar alguna condicin, y saber qu se ejecutar, segn lo que previamente haya sentenciado el programador.

EJERCICIO.
Realizar un programa que permita determinar su un numero ingresado es par.

EJERCICIO.
#include <stdio.h> int ingresado; main() { printf("Ingrese el numero a comprobar si es par o no: "); scanf("%d",&ingresado);

if(ingresado%2==0) { printf("\nEL numero ingresado es par\n");


} else printf("\nEl numero ingreado no es par\n"); system("PAUSE"); }

EJERCICIO.

Por otra parte, cabe resaltar que si es una sentencia condicional if SIMPLE no es necesario utilizar { } para abrir/cerrar la expresin; es simple cuando slo hay una lnea de sentencia. Si son varias lneas

CONDICIONALES IF ANIDADOS.
Al igual que existen bucles anidados lazos, existen condicionales if anidados. Para entender como trabaja vamos a realizar un ejemplo. Pedir al usuario el ingreso de tres nmeros, compararlos entre ellos y obtener el menor de estos 3 nmeros.

EJERCICIO.

#include <stdio.h> main() { float a, b, c, menor; printf("Ingrese el primer elemento: "); scanf("%f",&a);

printf("Ingrese el segundo elemento: ");


scanf("%f",&b); printf("Ingrese el tercer elemento: "); scanf("%f",&c); if (a < b) { if (a < c) menor = a; else menor = c; } else { if (b < c) menor = b; else menor = c; } printf("\nEL menor de los tres nmeros es:%f \n",menor);

system("PAUSE");
}

CONDICIONAL IF-ELSE.

Este condicional permite tener ms de dos bifurcaciones, no se limita a un si cumple o a un no cumple.

CONDICIONAL IF-ELSE.

La sintaxis es:
if( condition 1 ) statement1; else if( condition 2 ) statement2; else if( condition 3 ) statement3; else statement4;

EJEMPLO.

Realizar un programa en c que permita identificar un nmero entre el 1 y 10. y si es que el numero q ingreso el usuario no se encuentra en este rango volver a pedir el nmero.

EJEMPLO.
#include <stdio.h> main() { float numero; int valido = 0; while( valido == 0 ) { printf("Ingrese el numero entre 1 y 10 -->"); scanf("%f", &numero); if( numero < 1 ) { printf("El numero ingresado es menor que uno. Ingrese nuevamente \n"); valido = 0; }

else if( numero > 10 ) {


printf("El numeor ingreso es mayor que diez. Ingrese nuevamenter\n"); valido = 0; } else valido = 1; } printf("El numero que ingreso es: %3.2f\n", numero ); system("PAUSE"); }

EJEMPLO

Realizar un programa en c que permita ingresar dos nmero y un operado matemtico e indicar el resultado.

EJEMPLO.
#include <stdio.h> main() { int operador_invalido = 0;

char operador; float numero1, numero2, resultado;

printf("Ingrese dos numero y el operador en el formato:\n"); printf(" numero1 operador numero2\n"); scanf("%f %c %f", &numero1, &operador, &numero2);

if(operador == '*') resultado = numero1 * numero2; else if(operador == '/') resultado = numero1 / numero2; else if(operador == '+') resultado = numero1 + numero2; else if(operador == '-') resultado = numero1 - numero2; else operador_invalido = 1;

if( operador_invalido != 1 ) printf("%f %c %f es %f\n", numero1, operador, numero2, resultado ); else printf("Invalid operator.\n"); system("PAUSE"); }

EJEMPLO.
Realizar un programa en c que permita ingresar un nmero y obtener su factorial. NOTA: Se debe comprobar que el nmero ingresado sea posible obtener el factorial, adems de obtener el factorial de 0.

También podría gustarte