Numer pomiędzy -3, a 3

AB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
0

Witam.

Mam problem z napisaniem kodu. Chcę, by gdy wartość integeru X będzie wynosić jakikolwiek numer pomiędzy (-3, a 3) , czyli (-3, -2, -1, 0, 1, 2, 3) to żeby było begin i coś się działo.
Problem w tym, że ja potrafię porównywać X tylko do liczb dodatnich za pomocą tego kodu: if X in [0..3] then, gdy "0" zastąpię "-3" to już mi to nie działa.

Proszę o pomoc.

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
7
Kopiuj
if (x >= -3 and x <= 3) then

Btw: (-3, 3) obejmuje liczby -2, -1, 0, 1, 2 - prawdopodobnie chodzi Ci o <-3, 3>.

AB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
0

Dzięki @Patryk27 :)

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12269
4
ArekBrowarek napisał(a):

Problem w tym, że ja potrafię porównywać X tylko do liczb dodatnich za pomocą tego kodu: if X in [0..3] then […]

To nie jest porównanie liczb dodatnich, to jest sprawdzenie czy dana liczba znajduje się w zadanym zbiorze, a zbiory mogą przechowywać wartości nieujemne (poza tym mają niewielką pojemność). Przy próbie kompilacji kodu zawierającego zbiór [-3 .. 3] powinieneś dostać range check error.

Zamiast dwóch warunków można skorzystać z funkcji Math.InRange – w ten sposób:

Kopiuj
if InRange(X, -3, 3) then

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.