Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Expresión if

3/13
Recursos

Aportes 31

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Operadores lógicos

.
Operadores lógicos en explicados de manera sencilla

  1. Con AND (&&) si una de las dos expresiones es falsa entonces toda la expresión será falsa.
  2. Con OR (||) si una de las dos expresiones es verdadera entonces toda la expresión será verdadera.
  3. Con NOT (!) si la expresión es falsa entonces toda la expresión viene a ser verdadera, pero si la expresión es verdadera entonces toda la expresión viene a ser falsa.

.
Entiéndase que el valor de toda una expresión viene a ser 0 si es falsa y 1 si es verdadera.
.

Bien siguiendo el paso a la clase les muestro una pequeña función que usa los if como en la clase, la función solo convierte una letra que en esencia representaría un hexadecimal a un decimal

short Hex_a_int(char Hex){
    if(Hex >= '0' && Hex <= '9')
        return(short)Hex - 48;
    else if(Hex >= 'A' && Hex <= 'F')
        return(short)Hex - 55;
    else if(Hex >= 'a' && Hex <= 'f')
        return(short)Hex - 87;
    else
        return 0;}```

Un detalle, en el código de Ricardo hay un error, y es que cuando n = 20 entra en el else statement, imprimiendo “error no quiero numeros negativos”.

Este programa checa si hay solución en los reales o no las hay.
No existe solución en los reales

#include <stdio.h>
int a=2,b=1,c=2,discriminante=0;
main()
{   
    discriminante = (b*b) - (4 *a*c);   
    if(discriminante>=0)
        printf("Existe solucion en los reales ");
    else
        printf("No existe solucion en los reales");
    return 0 ;

}```


No existe solucion en los reales


Hola a todos, he añdido la fucionalidad de que el usuario pueda introducir el numero, este es el codigo;

#include <stdio.h>



int main()
{
    int n;
    printf("please choose a number: ");
    scanf("%d", &n);
    if (n>10 && n<20)
    printf("el numero es mayor que diez");
    else if (n == 10)
    printf("el numero es diez");
    else if (n>20)
    printf("el numeor es mayor que veinte");
    else if (n<10 && n>=0)
    printf("el numero es menor que diez");
    else
    printf("lo siento pero no acepto numeros negativos");
    return 0;
}

Si profe digámole no a la negatividad 😄

#include <stdio.h>
int n = -1;

int main()
{
    if(n > 10 && n < 20)
    printf("el numero es mayor que diez, pero menor que 20");
    else if (n == 10)
    printf("el numero es diez");
    else if (n > 20)
    printf("el numero es mayor que veinte");
    else if(n < 10 && n >= 0)
    printf("el numero esta en el rango de 0 a 9");
    else
    printf("ERROR no quiero numeros negativos");
    return 0;
    
}#include <stdio.h>
int n = -1;

int main()
{
    if(n > 10 && n < 20)
    printf("el numero es mayor que diez, pero menor que 20");
    else if (n == 10)
    printf("el numero es diez");
    else if (n > 20)
    printf("el numero es mayor que veinte");
    else if(n < 10 && n >= 0)
    printf("el numero esta en el rango de 0 a 9");
    else
    printf("ERROR no quiero numeros negativos");
    return 0;
    
}```

muichas gracias profe por la explicacion

Si se utiliza el código habría un error en n=20 , lo interpreta como un número negativo, entonces debería ser n igual o mayor a 20 o crear una condición cuando n es igual a 20
en el
else if ( n > = 20)
printf(“el numero es igual o mayor que veinte”);

El que haya 0 preguntas es una buena métrica para saber que ha sido una buena clase

con lo if hacemos control de flujo, una forma tambien de hacer control de esta

Muy buena clase.
Se comprende que si int n= -1 el código toma un rumbo dando como resultado negativo.
En cambio si es >0 el código brinda resultados positivos.

Como también el 0 se entinde como a cuando un circuito esta cerrado y 1 a un circuito abierto.
Por otra parte 0= falso, 1= Verdadero.

Gracias por la clase profe.

Que gran clase!

#include <stdio.h>

int n = -2;

int main()
{
    if (n > 10 && n < 20 )
    printf("the  number is greater than 10 and less than 20");
    else if (n<10 && n>0)
    printf("the number is less than 10 and greater than 20");
    else if (n>20)
    printf("the number is greater than 20");
     else if (n == 10)
    printf("the number is equal than 10");
    else 
    printf(" the number is incorrect");
    return 0;
}

exelente clase.

muy buena la clase

esto esta muy parecido a js
Dejo mi código: ![](https://static.platzi.com/media/user_upload/image-6c5f2d5c-40e0-4e83-ab46-c33257782da9.jpg)

Buena la clase

Debes de pensar en muchos casos posibles, para que tu programa no trune.

El código es mucho de probar y experimentar. Es ensayo y error.

DIFERENCIA ENTRE USAR VARIOS IF SEGUIDOS O USAR UN IF CON VARIOS ELSE IF SEGUIDOS: varios if seguidos funcionan diferente que un if con varios else if seguidos. dependiendo de lo que necesite hacer el programa se puede usar uno u otro
.
IF SEGUIDOS: aqui se verifican todos los if ya sea que la condicion de cada if se cumpla o no, osea, si la condicion se cumple en el primer if aun asi se comprueba la condicion del segundo if y si se cumple la condicion del segundo if igual se comprueba el tercer if y asi sucesivamente

if(a==1)
if(a==2)
if(a==3)
if(a==4)
if(a==5)

.
UN IF CON VARIOS ELSE IF: aqui se comprueban las condiciones hasta que una condicion se cumpla, osea, si la condicion se cumple en el segundo else if los otros 3 else if y el else del final no se ejecutan o si la condicion se cumple en el primer if el resto de else if y el else del final no se ejecutan

if(a==1) //en la primer condicion se pone un if solo
else if(a==2)
else if(a==3)
else if(a==4)
else if(a==5)
else

me gusto la clase

Aprovechando que se ejecuta la primera expresión verdadera

#include<stdio.h>

char edad = 1;

int main(){
    
    if      ( edad < 0  )   
    printf("\nSeguro que estas vivo?");
    else if ( edad < 18 )   
    printf("\nEres menor de edad");
    else if ( edad < 110)   
    printf("\nEres mayor de edad");
    else                    
    printf("\nChangos eres inmortal");
    
    return 0;
}

una buena practica es que cuando se trate de validar numeros (aparte de usar los operaodres logicos) se haga en el orden desde el numero mayos hacia el menor

He aquí la función del ejemplo hecha con recursividad y escaneo de entrada.

#include <stdio.h>
int n;
int option;
int foption() {
printf("Introduzca 1 para continuar, cualquier otro número para salir: ");
    scanf("%i", &option);
    if(option == 1)
    {
        printf("Introduzca el valor del número a evaluar: ");
        scanf("%i", &n);
        if(n > 0 && n <= 9)
            printf("n es mayor a cero y menor a diez \n");
        else if (n >= 10 && n <= 20)
            printf ("n está entre 10 y 20\n");
         else if (n == 0)
            printf ("n es igual a cero\n");
        else if (n > 20)
            printf ("n es mayor a 20\n");
        else
            printf("n es un número negativo\n");
        foption();
    }
    else
        printf("Cerrando el ciclo.\n");
    return 0;
}

int main() {
    foption();
    return 0;
}

#include <stdio.h>
int n;
int option;
int foption() {
printf(“Introduzca 1 para continuar, cualquier otro número para salir: “);
scanf(”%i”, &option);
if(option == 1)
{
printf(“Introduzca el valor del número a evaluar: “);
scanf(”%i”, &n);
if(n > 0 && n <= 9)
printf(“n es mayor a cero y menor a diez \n”);
else if (n >= 10 && n <= 20)
printf (“n está entre 10 y 20\n”);
else if (n == 0)
printf (“n es igual a cero\n”);
else if (n > 20)
printf (“n es mayor a 20\n”);
else
printf(“n es un número negativo\n”);
foption();
}
else
printf(“Cerrando el ciclo.\n”);
return 0;
}

int main() {
foption();
return 0;
}

Es bueno para la legibilidad y por buenas prácticas usar la tabulación, en los printf que van después de los if, else if y else.

vamos por el segundo repaso creo que si no aprendo este curso bien. no tendré éxito en programación en general !