Está en la página 1de 2

PROGRAMACIÓN 1 (34001) Laboratorio

María Isabel Alfonso Galipienso (eli@ua.es) Curso 2021-22

Sentencias condicionales
01 ¿Qué son y por qué es importante entenderlas?

El código de un programa en C está formado por un conjunto de SENTENCIAS. La ejecución de


dichas sentencias es SECUENCIAL, es decir, se ejecutan en el orden en el que están escritas:
empezamos, por la primera, luego la segunda, ...

Observa la imagen. En ocasiones,


necesitamos hacer diferentes cosas
dependiendo de alguna condición.

Por ejemplo, si elegimos ir a nuestro


destino por la ruta marcada en rojo,
tenemos que avanzar x1 metros, torcer
a la derecha, y avanzar x2 metros. Pero
si decidimos seguir la ruta marcada en
azul, tendremos que realizar acciones
diferentes.

Las sentencias condicionales en un lenguaje forman parte de las SENTENCIAS DE CONTROL, y


son las que nos permiten controlan el ORDEN en el que se van a ejecutar las sentencias, o dicho
de otra manera, ALTERAR el orden secuencial establecido por defecto.

Observa el flujo (orden) de ejecución de los siguientes programas:

Cuando usamos una sentencia condicional, habrá sentencias de código que NO se


ejecuten, dependiendo de la evaluación de una EXPRESIÓN.
En una sentencia IF el resultado de la expresión puede ser TRUE o FALSE
En una sentencia SWITCH la expresión puede tener un valor de tipo:
entero
carácter
enumerado
Las sentencias condicionales se pueden ANIDAR

1
Código mantenible vs no mantenible
02 ¿Cómo es un código mantenible?

Si nuestra aplicación tiene una “vida larga” (se usa durante un cierto tiempo), es seguro que va a
requerir modificaciones: bien porque hay que reparar errores de código, porque hemos
cambiado el hardware y/o sistema operativo, etc de la máquina donde reside la aplicación, o
simplemente porque nuestro cliente decide “ampliar” el programa añadiendo nuevas
prestaciones.

En cualquiera de los casos, nos encontramos que tenemos que modificar un código que, casi
con toda seguridad, no hemos escrito nosotros. Si ese código “cuesta de leer” y entender, la
probabilidad de que los cambios que introduzcamos contengan nuevos errores es altísima,
además del hecho de que vamos a tardar muchísimo más en realizar dichos cambios. Recuerda
que más tiempo, implica siempre más coste para el usuario.

En definitiva, es FUNDAMENTAL escribir nuestro código de forma que sea mantenible


(fácilmente entendible y modificable por otro programador). El hacer que nuestro código sea más
mantenible, ciertamente nos llevará a “escribir” algo más, por ejemplo, si incluimos comentarios o
nombramos a las variables con nombres más largos. Pero a cambio, tendremos un beneficio que
compensará los pocos “minutos extra” que hemos tenido que invertir al escribir dicho código.

Para ilustrar lo anterior, vamos a mostrar dos códigos que HACEN LO MISMO, compilan y se
ejecutan sin problema, pero uno es mucho más mantenible que el otro.

Aquí va el primer código:

int main() { ¿Serías capaz de decir QUÉ


int a,b,c=0;
hace este código?

cin >> a >> b; ¿Cuánto tiempo necesitas para


responder a la pregunta?

if (a ==1)
if (b>=1)
if (b<=31) c=1; Sea el que sea, es demasiado!

else if (a ==2)
if ((b>=1)&&(b<28)) c=1;

else if (a==3)
if ((b>=1) && (b<=31)) c=1;
¿Y si te digo que el
else if (a==4) código tiene dos
if ((b>=1) && (b<=30)) c=1; errores que tienes
else if (a==5) if ((b>=1) && (b<=31)) c=1; que arreglar?

else if ((a==6) || (a==9) || (a=11))


if ((b>=1) && (b<=30)) c=1;
else if ((a==7)||(a==8)||(a==10)) Sí, lo sé… es complicado!

if ((b>=1) && (b<=31)) c=1;


cout << c << endl;

return 0;
Puedes ejecutarlo por si te
} sirve de algo…

EN LA SIGUIENTE CLASE DE
PRÁCTICAS VEREMOS LO QUE HACE
EL PROGRAMA...

También podría gustarte