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
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 <= 16 || x > 100 ->
Cand aplicam && pe aceste conditii, avem:
x <= -35 ->
x <= 16 && x>=-20 ->
x > 100 ->
Daca aplicam operatorul || pe aceste conditii:
Deci
( x <= -35 || x >= -20) && (x <= 16 || x > 100)
e echivalent cu:
(x<=-35) || ((x<=16) && (x>=-20)) || (x>100)
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă