Informatică, întrebare adresată de paulb007, 8 ani în urmă

Stabiliţi care dintre următoarele expresii C/C++ are valoarea 1 dacă şi numai dacă numărul întreg memorat în variabila x nu aparţine intervalului (-35,-20)∪[17,100].


Varianta 1
(x<=-35) || ((x<=16)|| (x>=-20)) || (x>100)

Varianta 2
(x<=-35) || ((x<=17) && (x>=-20)) || (x>=100)

Varianta 3
(x<-35) || ((x<16) && (x>-20)) || (x>100)

Varianta 4
(x<=-35) || ((x<=16) && (x>=-20)) || (x>100)

Vreau sa va intreb. cand neg un interval care are REUNIUNE, acesta negat inseamna INTERSECTIE si atunci de ce primu numar vine cu primu numar din al 2-lea interval???


CinevaFaraNume: Cand negi apartenenta la o reuniune inseamna ca x nu face parte din reuniune. Nu inseamna intersectie (elemente comune), care tot inseamna apartenenta la o anumita multime inclusa in reuniune

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
9

Răspuns:

Varianta 4.

Explicație:

Daca avem de verificat daca x nu apartine unei reuniuni de intervale, avem de verificat daca apartine vreunui interval, si negam:

Avem:

(x > -35 && x < -20) || (x >= 17 && x <= 100).

Daca negam:

!(x > -35 && x < -20) && !(x >= 17 && x <= 100)

( !(x>-35) || !(x < -20) ) && ( !(x >= 17) || !(x <= 100) )

( x <= -35 || x >= -20) && ( x < 17 || x > 100)

( x <= -35 || x >= -20) && (x <= 16 || x > 100)

(x <= -35 || x>= -20) -> x \in (-\infty, -35]\cup [-20, +\infty)

x <= 16 || x > 100 ->  x \in (-\infty, 16] \cup (100, +\infty)

Cand aplicam && pe aceste conditii, avem:

 x \in ((-\infty, -35]\cup [-20, +\infty) ) \cap ((-\infty, 16] \cup (100, +\infty)) \\ \\ x\in (-\infty, -35] \cup [-20, 16] \cup (100, +\infty)

x <= -35  -> x\in (-\infty, -35]

x <= 16 && x>=-20 -> x \in [-20, 16]

x > 100 -> x\in (100,+\infty)

Daca aplicam operatorul || pe aceste conditii:

x\in (-\infty, -35] \cup [-20, 16] \cup (100, +\infty)

Deci

( x <= -35 || x >= -20) && (x <= 16 || x > 100)

e echivalent cu:

(x<=-35) || ((x<=16) && (x>=-20)) || (x>100)


paulb007: de unde ai stiut sa pui Cand aplicam && pe aceste conditii, avem: sau daca aplicam operatorl || pe aceste conditii?? oricum bune explicatiile, dar nu inteleg acolo
CinevaFaraNume: Pai am ajuns la o expresie cu 2 sau 3 conditii de apartenente la intervale cu '&&' sau '||' intre ele. stim din expresia interaga ce operatori aplicam
Alte întrebări interesante