0
votes

Remplacer et opérateur avec ou pour obtenir la même sortie

J'ai ce code:

IF (x>5 AND y=4) THEN
    dbms_output.put_line("Y");
ELSE
    dbms_output.put_line("N");


2 commentaires

ou ne renvoie pas le même résultat, donc je ne comprends pas la question.


J'ai reçu cette tâche de mon collègue senior: Comment transformez-vous cette condition: x> 5 et y = 4 si vous ne pouvez pas utiliser et opérateur, mais seulement ou


3 Réponses :


0
votes

ou et et et l'opérateur a une logique complètement différente, vous ne pouvez pas utiliser et comme l'opérateur, mais à la place, vous devez utiliser ou avoir la même logique et obtenir le même résultat.


0 commentaires

1
votes

Vous pouvez utiliser la loi de Demorgan pour la réécrire:

IF (x>5 AND y=4) THEN "Y" ELSE "N"
IF (x<=5 OR y<>4) THEN "N" ELSE "Y"


0 commentaires

0
votes

Si vous changez la ligne pour lire comme ceci, il fonctionnera uniquement avec l'opérateur ou l'opérateur:

si (x <= 5 ou y! = 4) puis dbms_output.put_line ("n"); Sinon dbms_output.put_line ("y"); =

Le résultat est le même, mais la logique est légèrement différente.


0 commentaires