Laboratorio 9
"Programación básica con bucles de control"
BUCLES DE CONTROL
La estructura condicional if ... else
En la gran mayoría de los programas será necesario tomar decisiones
sobre qué acciones realizar. Esas decisiones pueden depender de los datos que
introduzca el usuario, de si se ha producido algún error o de cualquier otra
cosa.
La estructura condicional if ... else es la que nos permite
tomar ese tipo de decisiones. Traducida literalmente del inglés, se la podría
llamar la estructura "si...si no", es decir, "si se cumple la
condición, haz esto, y si no, haz esto otro".
Un ejemplo sencillo sería el siguiente (no se trata de un
programa completo, sino tan sólo una porción de código):
if (edad < 18)
printf("No puedes acceder.\n");
else
printf("Bienvenido.\n");
La estructura condicional abierta y cerrada switch ...
case
La estructura condicional switch ... case se utiliza cuando
queremos evitarnos las llamadas escaleras de decisiones. La estructura if nos
puede proporcionar, únicamente, dos resultados, uno para verdadero y otro para
falso. Una estructura switch ... case, por su parte, nos permite elegir entre
muchas opciones. Ejemplo:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int dia;
printf("¿Qué número de día de la semana es?");
scanf("%i",&dia);
switch(dia) {
case 1 :
printf("Lun, Lunes");
break;
case 2 :
printf("Mar, Martes");
break;
case 3 :
printf("Mier, Miercoles");
break;
case 4 :
printf("Jue, Jueves");
break;
case 5 :
printf("Vie, Viernes");
break;
case 6 :
printf("Sab, Sabado");
break;
case 7 :
printf("Dom, Domingo");
break;
default :
printf("No existe");
}
return 0;
}
La estructura anterior, de realizarse con sentencias if,
necesitaría cuatro de ellas, resultando un enorme bloque muy difícil de leer.
En la mayoría de los casos, además, la sentencia switch proporciona una
ganancia en velocidad del código, pues permite al compilador trabajar en base a
que se trata de una decisión múltiple para una única variable, cosa que con
sentencias if el compilador no tiene por qué detectar.
El bucle while
El bucle while sirve para ejecutar código reiteradas
veces.
while (/*condicion*/) {
/* Código */
}
La condición debe de ser una expresión lógica, similar a la
de la sentencia if. Primero se evalúa la condición. Si el resultado es
verdadero, se ejecuta el bloque de código. Luego se vuelve a evaluar la
condición, y en caso de dar verdadero se vuelve a ejecutar el bloque. El bucle
se corta cuando la condición da falso.
Ejemplo: imprimir los números de 0 a 99:
int i = 0;
while (i < 100) {
printf("%d\n", i);
i = i + 1;
}
Inicialmente se declara que la variable i tiene un valor de
0. Al iniciar el bucle, se cumple la condición i < 100, por lo que se
procede a la instrucción de imprimir dicho número (cero, en el caso inicial).
Posteriormente i cambiará su valor de uno en uno por la instrucción i = i + 1 y
seguidamente dicho valor nuevo, será evaluado en la condicion while hasta que i
llegue al valor 100, donde debido a la condicional, éste será un valor falso,
dando fin al código.
El bucle for
El bucle for es un bucle muy flexible y a la vez muy potente
ya que tiene varias formas interesantes de implementarlo, su forma más
tradicional es la siguiente:
for (/* inicialización */; /* condición */; /* incremento */) {
/* código a ejecutar */
}
Inicialización: en esta parte se inicia la variable que
controla el bucle y es la primera sentencia que ejecuta el bucle. Sólo se
ejecuta una vez ya que solo se necesita al principio del bucle.
Expresión condicional: al igual que en el bucle while, esta
expresión determina si el bucle continuará ejecutándose o no.
Incremento: es una sentencia que ejecuta al final de cada
iteración del bucle. Por lo general, se utiliza para incrementar la variable
con que se inicio el ciclo. Luego de ejecutar el incremento, el bucle revisa
nuevamente la condición, si es verdadera tiene lugar una ejecución más del
cuerpo del ciclo, si es falsa se termina el ciclo y así.
- Reconocimos los comandos del software de programación de CCS C COMPILER.
- Realizamos la simulación en ISIS PROTEUS del mismo programa.
- Realizamos un programa para el funcionamiento de un semáforo tomando como base el ejemplo del laboratorio.



No hay comentarios:
Publicar un comentario