En C, la estructura de control de seleccin principal es una sentencia if.
La sentencia if tiene dos
alternativas o formatos posibles. El formato ms sencillo tiene la sintaxis siguiente:
if (Espresion) Accion Accion se ejecuta si la expresion logica es verdadera
Expresion logica que determina si la accion se ha de ejecutar
La sentencia if funciona de la siguiente manera. Cuando se alcanza la sentencia if dentro de un programa, se evala la expresin entre parntesis que viene a continuacin de if. Si Expresin es verdadera, se ejecuta Accin; en caso contrario no se ejecuta Accin (en su formato ms simple, Accin es una sentencia simple y en los restantes formatos es una sentencia compuesta). En cualquier caso la ejecucin del programa contina con la siguiente sentencia del programa.
Otro sistema de representar la sentencia i f es:
if (condicin) sentencia;
condicion es una expresin entera(1gica).
sentencia es cualquier sentencia ejecutable, que se ejecutar slo si la condicin toma un valor distinto de cero.
Inicio Espresion si fin no fin
Figura 1.1 Diagrama de flujo de una sentencia basica de if
Ejemplo 5.1 PRUEBA DE DIVISIBILIDAD
#include <stdio.h> #include <stdlib.h> int main( ) { int n, d; printf ( "Introduzca dos enteros: ") ; scanf ("%d %d",& n,& d); if (n%d == 0) printf (" %d es divisible por %d\n",n,d); system ("pause"); return 0; }
Este programa te dira si un numero es divisible entre otro ambs especificados por el usuario.
Si la expresion se cumple
El programa pondra en pantalla una leyenda que diga que el primer numero indicado es divisible el segundo.
Si no se cumple la expresion:
El programa no realiza a accion y se va al final del programa.
Ejemplo 5.2
Representar la superacin de un examen (Nota > = 5, Aprobado).
Inicio Nota >= 5 si Aprobado no fin
Codigo fuente
#include <stdio.h> #include <stdlib.h> main() { float numero; printf("Introduzca la calificacion del alumno en escala de 1-10:\n"); scanf ("%f",&numero); if (numero >= 5) printf ("Aprobado\n") ; system ("pause"); return 0; }
Si la Expresion se cumple:
El programa despliega en la pantalla la leyenda "Aprobado".
Si la expresion no se cumple:
El programa se va al final.
EJEMPLO 5.3
Este programa compara un numero introducido por el usuario y lo compara con 0
Inicio Numero > 0 si El numero es mayor que 0 no Numero < 0 El numero es menor que 0 Numero = 0 El numero es igual a 0 Fin
Codigo fuente
#include <stdio.h> #include <stdlib.h> main() { float numero; printf("Introduzca un nmero positivo o negativo:\n"); scanf ("%f",&numero); if (numero > 0) printf ("%f es mayor que cero\n",numero); if (numero < 0) printf ("%f es menor que cero\n",numero); if (numero == 0) printf ("%f es igual a cero\n",numero); system ("pause"); return 0; }
Si la primera Expresion if se cumple:
Si la segunda Expresion if se cumple:
Si la tercera expresion if se cumple:
EJERCICIO 5.1
Visualizar la tarifa de la luz segn el gasto de corriente elctrica. Para un gasto menor de 1.000Kwxh la tarifa es 1.2, entre 1.000 y 1.850Kwxh es 1.0 y mayor de 1.850 Kwxh 0.9. Inicio Gasto < 1 si La tasa que le corresponde es de 1.2 Gasto >=1 y <= 1.850 La tasa que le corresponde es de 1 Gasto > 1.850 La tasa que le corresponde es de 0.9 Fin Introduzca el Gasto de luz gasto no
CODIGO FUENTE
#include <stdio.h> #include <stdlib.h> #define TARIFA1 1.2 #define TARIFA2 1.0 #define TARIFA3 0.9 main() { float gasto, tasa; printf ("Gasto de corriente en Kwxh: \n") ; scanf ("%f", &gasto) ; if (gasto < 1.0) tasa = TARIFA1; if (gasto >=1.0 && gasto <=1.850) tasa = TARIFA2; if (gasto >1.850)tasa = TARIFA3; printf("La tasa que le corresponde a %f Kwxh es de %f\n", gasto, tasa); system ("pause"); return 0; }