INSTRUCCIONES DE CONTROL
Las instrucciones de control son las instrucciones condicionales if y switch y las instrucciones para el control de bucles (loops) while, for y do-wile
Es importante recordar que cuando se habla de instrucciones se debe entender un sola instrucción, un bloque de ellas o una instrucción vacía.
LA INSTRUCCIÓN if
La sintaxis de esta instrucción tiene dos formas:
FORMA 1:
-
if(condición)instrucción;
Representación de la instrucción if según M.Jackson y diagrama de Flujo
La forma 1 es: Si la condición de if es verdadera (tiene un valor distinto de cero) se efectúa la instrucción (o bloque de instrucciones).
FORMA 2:
-
if(condición)instrucción1;
else instrucción2;
Representación de la instrucción if según M.Jackson y diagrama de Flujo
La forma es: Si la condición de if es verdadera (tiene un valor distinto de cero) se efectúa la instrucción 1(o bloque de instrucciones). En caso contrario la instrucción 2.
: Cálculo del número más pequeño
-
#include <stdio.h>
long unsigned int minimo(long unsigned int x,
long unsigned int y,
long unsigned int z)
{
-
unsigned long int p;
if((x<y)&&(x<z))p=x;
else {
-
if(y<z)p=y;
else p=z; }
-
void main()
{
-
long unsigned int a,b,c;
printf("\n Introduce tres números ?");
scanf("%lu%lu%lu",&a,&b,&c);
printf("\n El más pequeño es el %lu",minimo(a,b,c));
}
LA INSTRUCCIÓN switch
La instrucción switch elige una instrucción (o bloque de instrucciones) de acuerdo con el valor de la variable que coincida con una de las constante expresadas en case.
-
switch(variable)
{
case constante1:instrucción1;break;
case constante2:instrucción2;break;
case constante3:instrucción3;break;
.
.
default:instrucción; }
La instrucción default, facultativa, es ejecutada en el caso de que la variable no coincida con ninguna de las constantes señaladas. En el caso de que la instrucción default se omita y la variable no coincida con ninguna de las constantes expresadas no se ejecuta ninguna de las instrucciones.
: La instrucción switch según M. Jackson
: La instrucción switch según el diagrama de flujo.
: Diagrama del programa menú con una sola pasada
-
#include <stdio.h>
#include <conio.h>
void main()
{
-
int c;
double d,v,pi=3.1416;
gotoxy(20,2);printf("1: Longitud de la circunferencia");
gotoxy(20,4);printf("2: Superficie del circulo");
gotoxy(20,6);printf("3: Superficie de la esfera");
gotoxy(20,8);printf("4: Volumen de la esfera");
gotoxy(1,12);c=getch();
if((c<`1')||(c>'4')) printf(" <- Error ");
else
{
-
printf("diametro ?");
scanf("%lf",&d);
gotoxy(10,15);
switch(c)
{
-
case `1':
v=pi*d;
printf("Longitud de la circunferencia=%-10.2f",v);
break;
case `2':
v=pi*d*d/4;
printf("Superficie del circulo=%-10.2f",v);
break;
case `3':
v=pi*d*d/6;
printf(" Superficie de la esfera=%-10.2f",v);
break;
case `4':
v=pi*d*d*d*/6;
printf("Volume de la esfera=%-10.2f",v);
break;
}
}(/*switch*/ }/*else*/
EL BUCLE for
La sintaxis general es la siguiente:
-
for(inicialización;condición;
incremento)instrucción;
En su forma más simple, la inicialización es una instrucción de asignación necesaria para atribuir un valore inicial a la variable de control de ciclo. La condición en cambio está constituida por una expresión de relación que determina el final del bucle verificando la variable de control respecto a un determinado valor. El incremento por norma general define la variación de la variable de control del ciclo cada vez que este se ejecuta. Estas tres partes van separadas del punto y coma. El bucle continúa la ejecución hasta que la condición resulte falsa en cuyo caso el ciclo acaba y el programa continúa con la instrucción que sigue a for
:Representación de la instrucción for según M. Jackson
: Instrucción for según diagrama de flujo
-
#include <stdio.h>
#include <math.h>
main()
{
-
int i;
double x=0;
for (i=0;i<100;i++)
{
-
if(i%7==0)printf("\n");
printf("%-10.3f",sqrt(x++));
} }