Skip to content

Expresii pentru intervale

In matematica, intervalele descriu multimi de numere. In C++, putem scrie aceste intervale ca expresii logice.


Intervale simple

IntervalExpresie C++
x ∈ (-∞, 5)x < 5
x ∈ (-∞, 7]x <= 7
x ∈ (3, +∞)x > 3
x ∈ [3, +∞)x >= 3

Observatie

Paranteza rotunda ( inseamna fara capatul respectiv (strict), iar paranteza patrata [ inseamna cu capatul respectiv (inclusiv).


Interval marginit

Un interval marginit are doua capete, deci avem nevoie de doua conditii legate prin &&:

IntervalExpresie C++
x ∈ (2, 7)x > 2 && x < 7
x ∈ [2, 7]x >= 2 && x <= 7
x ∈ (2, 7]x > 2 && x <= 7
x ∈ [2, 7)x >= 2 && x < 7

Reuniune de intervale

Problema: x ∈ (2, 5] ∪ [7, 13)

Scriem expresia pentru fiecare interval in parte:

Intervalul stang:   x ∈ (2, 5]   ⇔  x > 2 && x <= 5
Intervalul drept:   x ∈ [7, 13)  ⇔  x >= 7 && x < 13

Cum le combinam? Sa ne uitam pe axa numerelor:

🟩 verde = intervalul (2, 5]     🟥 rosu = intervalul [7, 13)

Zonele nu se suprapunx poate fi pe verde SAU pe rosu.

Concluzie: reuniunea foloseste ||

x ∈ (2, 5] ∪ [7, 13)  ⇔  x > 2 && x <= 5 || x >= 7 && x < 13

Observatie

Datorita prioritatii operatorilor, && se evalueaza inaintea ||, deci parantezele sunt optionale. Expresia de mai sus se evalueaza ca (x > 2 && x <= 5) || (x >= 7 && x < 13).


Intersectie de intervale

Problema: x ∈ (2, 9] ∩ [5, 11)

Scriem expresia pentru fiecare interval in parte:

Intervalul stang:   x ∈ (2, 9]   ⇔  x > 2 && x <= 9
Intervalul drept:   x ∈ [5, 11)  ⇔  x >= 5 && x < 11

Cum le combinam? Sa ne uitam pe axa numerelor:

🟩 verde = doar in (2, 9]     🟨 galben = zona comuna     🟥 rosu = doar in [5, 11)

x trebuie sa fie SI pe verde/galben SI pe rosu/galben — adica in ambele intervale in acelasi timp.

Concluzie: intersectia foloseste &&

x ∈ (2, 9] ∩ [5, 11)  ⇔  x > 2 && x <= 9 && x >= 5 && x < 11

Negatia unui interval (cu DeMorgan)

Problema: x ∉ (2, 9] ∩ [5, 11)

Stim deja ca:

x ∈ (2, 9] ∩ [5, 11)  ⇔  x > 2 && x <= 9 && x >= 5 && x < 11

Sa ne uitam pe axa numerelor — zona in care x apartine intersectiei este marcata cu galben:

🟨 galben = x ∈ (2, 9] ∩ [5, 11) — zona in care x apartine     🟥 rosu = zona in care x NU apartine

Aplicam negatia pas cu pas:

  !(x > 2 && x <= 9 && x >= 5 && x < 11)

⇔ !(x > 2 && x <= 9) || !(x >= 5 && x < 11)

⇔ ( !(x > 2) || !(x <= 9) ) || ( !(x >= 5) || !(x < 11) )

⇔ (x <= 2 || x > 9) || (x < 5 || x >= 11)

Negatia unei reuniuni (cu DeMorgan)

Problema: x ∉ (2, 5] ∪ [7, 13)

Stim deja ca:

x ∈ (2, 5] ∪ [7, 13)  ⇔  x > 2 && x <= 5 || x >= 7 && x < 13

Sa ne uitam pe axa numerelor — zonele in care x apartine reuniunii sunt marcate cu galben:

🟨 galben = x ∈ (2, 5] ∪ [7, 13) — zona in care x apartine     🟥 rosu = zona in care x NU apartine

Aplicam negatia pas cu pas:

  !(x > 2 && x <= 5 || x >= 7 && x < 13)

⇔ !( (x > 2 && x <= 5) || (x >= 7 && x < 13) )

⇔ !(x > 2 && x <= 5) && !(x >= 7 && x < 13)

⇔ ( !(x > 2) || !(x <= 5) ) && ( !(x >= 7) || !(x < 13) )

⇔ (x <= 2 || x > 5) && (x < 7 || x >= 13)