[logique] question simple

question simple [logique] - Divers - Programmation

Marsh Posté le 01-08-2006 à 12:11:22    

Bonjour, j'avais fait de la logique (des predicats?) et j'ai quelque peut oublier des notions, je voulais savoir :
(a et b) et c <=> a et b et c?
(a et b) et (c) <=> a et b et c?
Parceque qi l'on traduit en français c'est pas très logique (ironnie :p) avec les parenthèses : quand on dit "a et b, et c", on peut très bien le comprendre en "a et b, ou c".
Je sais pas qi vous avez compris ce que j'ai dit parceque moi même je m'embrouille :p
Merci de votre aide :D

Reply

Marsh Posté le 01-08-2006 à 12:11:22   

Reply

Marsh Posté le 01-08-2006 à 12:21:47    

Si tu le comprends comme cela, c'est que tu as des lacunes graves en français...

Reply

Marsh Posté le 01-08-2006 à 12:31:28    

Quand on dit "et", on ne dit pas "ou".  
Quand on dit "ou", on ne dit pas "et".
Pourquoi se torturer l'esprit ?
 
Il faut que je mette ma chemise et mon pantalon et mes lunettes, c'est et et.

Reply

Marsh Posté le 01-08-2006 à 12:36:33    

commutativité
 
http://fr.wikipedia.org/wiki/Alg%C [...] ructure%29
 
un petit cours de rattrapage


Message édité par jagstang le 01-08-2006 à 12:37:06

---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 01-08-2006 à 14:38:09    

est il possible d'écrire "a et b ou c" sans parenthèse?

Reply

Marsh Posté le 01-08-2006 à 14:41:13    

oui, mais cela dépend de ta définition de priorité des opérateurs.

Reply

Marsh Posté le 01-08-2006 à 14:44:41    

scoyd a écrit :

est il possible d'écrire "a et b ou c" sans parenthèse?


Ben oui mais ca dépend de ce que tu veux comme résultat, puisque (par exemple)

(a et b) ou c


 
n'est PAS équivalent à

a et  (b ou c)

Reply

Marsh Posté le 01-08-2006 à 14:45:59    

si je dit que les "et" sont prioritaire, j'aurais :
a et b ou c et d ou e ou f <=> (a et b) ou (c et d) ou (e) ou (f)?

Reply

Marsh Posté le 01-08-2006 à 14:52:02    

oui

Reply

Marsh Posté le 01-08-2006 à 15:01:48    

scoyd a écrit :

si je dit que les "et" sont prioritaire, j'aurais :
a et b ou c et d ou e ou f <=> (a et b) ou (c et d) ou (e) ou (f)?


oui
 
edit: trop [:grilled]


Message édité par _darkalt3_ le 01-08-2006 à 15:02:04
Reply

Marsh Posté le 01-08-2006 à 15:01:48   

Reply

Marsh Posté le 01-08-2006 à 15:14:34    

merci beaucoup

Reply

Marsh Posté le 01-08-2006 à 16:02:18    

pour répondre à cette personne, lorsqu'on parle en français, voila deux choses qui sont différents de la logique :
 - passes moi les chaussettes rouge et noires, et les chaussettes viollettes => la on se retrouve avec les chaussettes bicolores et celles viollettes.
 -  passes moi les chaussettes rouge et noires, ou les chaussettes viollettes => la on se retrouve avec les chaussettes bicolores ou celles viollettes, on se retrouve acvec un "ou" exclusif.
 
Il serait idiot de dire que le français n'est pas logique puisque dans la vie de tous les jours on parle de cette façon.

Reply

Marsh Posté le 01-08-2006 à 16:11:12    

Si tu veux, mais bon là on parle l'aglèbre de bool, pas le français, c'est pas de l'interpretation.

Reply

Marsh Posté le 01-08-2006 à 16:29:41    

Mon travail est de créer un moteur de recherche multicritère pour des gens qui n'ont pas de notion d'algèbre de bool, et qui auront plus que le fleme de l'avoir, et on me tape sur les doigts pour faire un truc simple en explication... vivement la fin du stage :D

Reply

Marsh Posté le 01-08-2006 à 18:19:57    

scoyd a écrit :

si je dit que les "et" sont prioritaire, j'aurais :
a et b ou c et d ou e ou f <=> (a et b) ou (c et d) ou (e) ou (f)?


Ce n'est pas un histoire de priorité, c'est une histoire d'ordre d'évaluation.
Dans quasiment toutes les conventions, l'opérateur ET et OU ont la même priorité.
Par contre, l'ordre d'évaluation peut varier, en général l'opérande de gauche d'abord.
Donc si on écrit a et b ou c, ce sera évalué comme (a et b) ou c, ce qui correspond intuitivement à ce qu'on attend.

Reply

Marsh Posté le 01-08-2006 à 18:24:23    

pains-aux-raisins a écrit :

Ce n'est pas un histoire de priorité, c'est une histoire d'ordre d'évaluation.
Dans quasiment toutes les conventions, l'opérateur ET et OU ont la même priorité.


Perdu. Dans la plupart des conventions, c'est AND qui a une priorité supérieure à OR.

Reply

Marsh Posté le 01-08-2006 à 18:27:11    

un exemple ?

Reply

Marsh Posté le 01-08-2006 à 18:30:32    

http://fr.wikipedia.org/wiki/Alg%C [...] orit.C3.A9
 
Trouve en 2min...


Message édité par Ace17 le 01-08-2006 à 18:31:01
Reply

Marsh Posté le 01-08-2006 à 18:32:38    

t'a pas autre chose que wiki ??? Comme source faisant autorité, ya mieux

Reply

Marsh Posté le 01-08-2006 à 18:33:02    

http://courses.cs.vt.edu/~cs1104/B [...] r4.126.htm
 

Citation :


Hierarchy of Evaluation
The order of evaluation in compound expressions is interpreted according to the hierarchy (priority) of operators:
 
Order of evaluation
(Top to bottom)
Parenthesized Expressions
NOT
AND
OR
 
We can use parentheses to force the early evaluation of sub-expressions.
 
EXAMPLES
 
A AND B OR NOT C AND D
 
is equivalent to:
 
((A AND B) OR ((NOT C) AND D))


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 01-08-2006 à 18:38:31    

pains-aux-raisins a écrit :

t'a pas autre chose que wiki ??? Comme source faisant autorité, ya mieux


moi c'est virginia tech :o
 
honnetement c'est souvent les liens wiki qui sont trouvés en premier. Pour ce qui est de la qualité des sources, c'est un autre débat. Mais j'ai lu qu'il y avait moins d'erreur que dans l'encylopédie britannica alors  [:jagstang]


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 01-08-2006 à 18:40:36    

Ok pour ce qui est des maths [:gratgrat] (on en apprend tous les jours...) , mais pour ce qui est des langages de progs, j'ai le souvenir que pour le C par exemple, le ET et le OU ont la même précédence.
edit : Bon, en tout cas, pour des raisons de lisibilité, je ne recommenderais pas d'utiliser cette propriété.


Message édité par pains-aux-raisins le 01-08-2006 à 18:43:42
Reply

Marsh Posté le 01-08-2006 à 18:49:18    

l'agèbre de bool c'est pas de la programmation
en C j'ai pas l'impression non plus... le && et le || n'ont pas la même précédence...
 
http://paowang.com/blog/hufey/archives/010535.html
 
http://en.wikipedia.org/wiki/Opera [...] nd_C%2B%2B
 
edit : c'est du c++ mais c'est idem


Message édité par jagstang le 01-08-2006 à 18:51:49

---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 01-08-2006 à 18:51:54    

C'est bon, j'ai regardé. Bon comme quoi... :/

Reply

Marsh Posté le 01-08-2006 à 18:53:28    

en C si tu code ça :

Code :
  1. if (a || b && c)


il se passe quoi ?

Spoiler :


a || ( b && c)


 
 


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 01-08-2006 à 18:58:43    

:heink:
 
Plus intéressant, pour quelles valeurs de a, b, c la priorité est importante (c'est à dire donne un résultat différent suivant qu'on considère AND ou OR prioritaire)...
 
edit : indice : il y a deux cas.


Message édité par pains-aux-raisins le 01-08-2006 à 18:59:13
Reply

Marsh Posté le 01-08-2006 à 19:02:57    

- a vrai
- a faux et b différent de c

Reply

Marsh Posté le 01-08-2006 à 19:05:34    

- non car : (vrai ou vrai) et vrai = vrai ou (vrai et vrai)
- non car : (faux ou faux) et vrai = faux ou (faux et vrai)


Message édité par pains-aux-raisins le 01-08-2006 à 19:08:08
Reply

Marsh Posté le 01-08-2006 à 19:34:05    

a=b=1, c=0
a=1, b=c=0
 
je gagne quoi? [:kiki]

Reply

Marsh Posté le 01-08-2006 à 19:58:21    

un kiki ou un ula, au choix [:ula]

Reply

Marsh Posté le 01-08-2006 à 23:58:53    

bon ça part un peu en couille, mais merci beaucoup en tout cas, je saurais les priorités en c ;)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed