miércoles, 10 de agosto de 2022

Introducción a la programación en C (VI)

 


Declaraciones condicionales


If -Else


C proporciona dos palabras clave para verificar la veracidad de una condición o no. Estas palabras son “if (condición)” - “if else”, “si” la condición entre paréntesis generará 1 (es decir, la condición es verdadera) haz algo “sino” haz otra cosa.



int main() {

int x = 4;

int y = 5;

if (x > y) { // si x > y resultará en VERDADERO

// ingresa dentro de los corchetes

printf (“x es mayor que y“);

}

else {// de lo contrario (FALSO) haz lo que viene después de else

printf (“y es mayor que x“);

}

}


Si la condición if se verifica inmediatamente , una vez que se ejecuta la declaración dentro de sus paréntesis , la declaración else nunca se ejecutará .


Una sentencia if-else también puede estar en la forma sin el else. Esto no quiere decir que el código después del if se interpretará como si hubiera un else. El código después de los corchetes del if es parte del código principal y se ejecutará independientemente.



int principal () {

entero x = 4;

int y = 2;

si (x! = y) {

printf (“x no es igual a y”);

}

// terminó de ejecutar la sentencia if el programa

// continuará su ejecución normalmente

// por lo tanto presta atención a lo que escribes a continuación

printf (“x es igual a y“); // ¡¡ ambigüedad !!

}


También hay una forma contraída sin los corchetes que solo proporciona la ejecución de una declaración para el si y en caso de que también exista para el otro.




int main() {

float a;

float b;

float c;

a = 2.5;

b = 2;

c = 3.33;

if(a > b && b < c)

printf (“a es mayor que b y b es menor que c“);

else printf (“a es menor que b y b mayor que c“);

}



if (condición) - else if (condición) es la forma más compleja y le permite anidar múltiples condiciones. Esta forma se utiliza cuando se desea evitar en la medida de lo posible el manejo de datos incorrectos.


int main() {

float retiro, saldo;

saldo = 1000; // Supongamos que hay 1000 euros en la cuenta

printf("ingrese el valor para obtener n");

scanf("%f", &buscar);

if(retiro > saldo) {

printf("¡Error! No puedes retirar más que el saldo");

}

else if (retiro < 0) {

printf("no puede retirar una cantidad negativa n");

}

else if (retiro < saldo) {

printf("usted ha retirado %f euro n", retiro);

saldo = saldo - retiro;

printf("%f euro permanecen en su cuenta", saldo);

}

}






¡Atención! Poner una declaración if antes de otra puede resultar en errores lógicos graves. De hecho, en este ejemplo bastaba con poner el else if (retiro <0) después del else if (retiro <saldo) que mágicamente, una vez introducido un retiro negativo, nuestra cuenta se habría incrementado en esta cantidad.



No hay comentarios:

Publicar un comentario

Nos trasladamos

Blogger se nos queda pequeño, así que este blog migra a  jujubegames.com