Operatorzy#

Wstęp#

Bloki operatora w VEXcode IQ (1. generacja) pomagają robotowi pracować z liczbami i słowami. Bloki te mogą rozwiązywać zadania matematyczne, porównywać wartości, oceniać, czy warunki są prawdziwe, czy fałszywe, oraz pracować z ciągami znaków. Ciągi znaków mogą być używane do drukowania wartości i słów.

Poniżej znajduje się lista dostępnych bloków:

operator matematyczny#

Blok reportera operatora matematycznego wykonuje podstawowe operacje matematyczne na wartościach umieszczonych po obu stronach operatora. Zwraca wynik na podstawie precyzji wydruku projektu, która domyślnie wynosi 0 miejsc po przecinku, ale można ją dostosować za pomocą bloku ustaw precyzję wydruku na ekranie.

Blok reportera operatora matematycznego.#
([0] [math_plus v] [0])

Parametry

Opis

wartość 1

Pierwsza liczba użyta w operacji.

operator

Operator matematyczny, którego należy użyć:

  • + - Dodawanie
  • - - Odejmowanie
  • * - Mnożenie
  • / - Dzielenie

wartość 2

Druga liczba użyta w operacji.

Przykład

gdy uruchomiony
[Perform basic addition and show two decimal places.]
ustaw precyzję drukowania na [0.01 v] na ekranie
wydrukuj ([10] [math_plus v] [10.5]) na ekranie ▶

operator porównania#

Blok logiczny operatora porównania informuje, czy porównanie dwóch wartości daje wynik Prawda czy Fałsz.

  • Prawda – porównanie jest poprawne (np. 5 > 3 zwraca Prawda).

  • Fałsz – Porównanie jest niepoprawne (np. 2 ≥ 5 zwraca Fałsz).

Blok Boole’a operatora porównania.#
<[0] [math_equal v] [0]>

Parametr

Opis

wartość 1

Pierwsza wartość do porównania.

operator

Porównanie do użycia:

  • = - Równe
  • < - Mniejsze niż
  • ≤ - Mniejsze lub równe
  • > - Większe niż
  • ≥ - Większe lub równe

wartość 2

Druga wartość do porównania.

Przykład

gdy uruchomiony
[Turn right until the heading reaches 90 degrees.]
skręć [w prawo v]
czekaj [0.5] sekund
czekaj dopóki <(kurs jazdy w stopniach) [math_greater_than v] [90]>
zatrzymaj jazdę

operator logiczny#

Blok logiczny operatora informuje, czy warunek logiczny między wieloma wartościami to Prawda czy Fałsz.

  • Prawda – Warunek logiczny jest spełniony.

  • Fałsz – Warunek logiczny nie jest spełniony.

Blok operatora logicznego Boole’a.#
<<> [i v] <>>

Parametr

Opis

stan 1

Pierwszy warunek Boole’a do oceny.

operator

Operator logiczny, którego należy użyć: and zwraca Prawda, jeśli oba warunki są Prawda. or zwraca Prawda, jeśli przynajmniej jeden warunek jest Prawda.

stan 2

Drugi warunek Boole’a do oceny.

Przykład

gdy uruchomiony
[Display if the ▲ and ▼ buttons are pressed.]
zawsze
wyczyść ekran
ustaw kursor na wiersz [1] kolumnę [1] na ekranie
jeśli <<przycisk [▲ v] Brain wciśnięty?> [i v] <przycisk [▼ v] Brain wciśnięty?>> to
wydrukuj [Buttons pressed!] na ekranie ▶
koniec
koniec

nie operator#

Blok logiczny operator not odwraca wynik bloku logicznego. Jeśli dane wejściowe to Prawda, zwraca Fałsz, a jeśli dane wejściowe to Fałsz, zwraca Prawda.

  • Prawda – warunek wejściowy normalnie zwróciłby wartość Fałsz.

  • Fałsz – warunek wejściowy normalnie zwróciłby wartość Prawda.

Blok operatora Not Boole’a.#
<nie <>>

Parametr

Opis

stan

Warunek boolowski, który należy odwrócić.

Przykład

gdy uruchomiony
[Turn until the robot is facing left. ]
zawsze
jeśli <nie <(kurs jazdy w stopniach) [math_greater_than v] [270]>> to
skręć [w prawo v]
w przeciwnym razie
zatrzymaj jazdę

operator zakresu#

Blok logiczny operatora zakresu informuje, czy wartość mieści się w określonym zakresie.

  • Prawda – jeśli wartość mieści się w zakresie.

  • Fałsz – jeśli wartość jest poza zakresem.

Blok Boole’a operatora zakresu.#
<[0] [math_less_than v] [0] [math_less_than v] [0]>

Parametr

Opis

pierwszy operator

Operator porównania, którego należy użyć:

  • < - Mniejsze niż
  • ≤ - Mniejsze lub równe
  • - Większe niż
  • ≥ - Większe lub równe

wartość

Wartość do sprawdzenia.

drugi operator

Operator porównania, którego należy użyć:

  • < - Mniejsze niż
  • ≤ - Mniejsze lub równe
  • - Większe niż
  • ≥ - Większe lub równe

Przykład

gdy uruchomiony
[Turn and display when facing forward or back. ]
skręć [w prawo v] o [360] stopni ◀ i nie czekaj
zawsze
wyczyść ekran
ustaw kursor na wiersz [1] kolumnę [1] na ekranie
jeśli <[270] [math_greater_than v] (kurs jazdy w stopniach) [math_greater_than v] [90]> to
wydrukuj [Facing backward!] na ekranie ▶
w przeciwnym razie
wydrukuj [Facing forward!] na ekranie ▶

wybierz losowo#

Blok reportera pick random raportuje losową liczbę dodatnią lub ujemną z przedziału od minimum do maksimum. Może zwrócić zarówno wartość minimalną, jak i maksymalną. Na przykład, komenda picking od 1 do 10 może zwrócić dowolną liczbę całkowitą z przedziału od 1 do 10.

Blokada reportera Pick Random.#
losuj od [1] do [10]

Parametry

Opis

min

Najniższa możliwa liczba, jaką można wybrać.

maks

Najwyższa liczba, jaką można wylosować.

Przykłady

gdy uruchomiony
[Display a number between 1 and 10.]
wydrukuj (losuj od [1] do [10]) ▶

liczba okrągła#

Blok raportujący liczby zaokrąglone raportuje podaną liczbę zaokrągloną do najbliższej liczby całkowitej, zgodnie ze standardowymi zasadami zaokrąglania:

  • Jeżeli liczba dziesiętna jest równa 0,5 lub większa, liczba jest zaokrąglana w górę.

  • Jeżeli liczba dziesiętna jest mniejsza niż 0,5, liczba jest zaokrąglana w dół.

Blok reporterski „Liczba Okrągła”.#
(zaokrąglij [0] do [0] miejsc dziesiętnych)

Parametr

Opis

numer

Liczba do zaokrąglenia.

miejsca dziesiętne

Liczba miejsc dziesiętnych, do których należy zaokrąglić liczby.

Przykład

gdy uruchomiony
[Display the rounded result of 10 / 3.]
ustaw precyzję drukowania na [0.01 v] na ekranie
wydrukuj (zaokrąglij ([10] [math_division v] [3]) do [1] miejsc dziesiętnych) na ekranie ▶

funkcje matematyczne#

Blok reportera funkcji matematycznych stosuje wybraną funkcję matematyczną do podanej liczby i zwraca wynik. Obsługuje operacje takie jak wartość bezwzględna, zaokrąglanie, pierwiastki kwadratowe, funkcje trygonometryczne, logarytmy i potęgowanie.

Blok reportera funkcji matematycznych.#
[abs v] z [0]

Parametr

Opis

funkcjonować

Operacja matematyczna stosowana do wartości wejściowej:

  • abs - Wartość bezwzględna
  • floor - Zaokrągla w dół
  • ceiling - Zaokrągla w górę
  • sqrt - Pierwiastek kwadratowy
  • sin - Sinus
  • cos - Cosinus
  • tan - Tangens
  • asin - Odwrotny sinus
  • acos - Odwrotny cosinus
  • atan - Odwrotny tangens
  • ln - Logarytm naturalny
  • log - Logarytm o podstawie 10
  • e^ - Liczba Eulera podniesiona do potęgi
  • 10^ - 10 podniesione do potęgi
  • ujemna - Raportuje negatyw liczby

numer

Liczba, do której ma zostać zastosowana funkcja.

Przykład

gdy uruchomiony
[Display the square root of 16.]
wydrukuj ([sqrt v] z [16]) na ekranie ▶

atan2#

Blok reporterowy atan2 raportuje odwrotny tangens Y/X jako kąt w stopniach, reprezentujący kąt pomiędzy dodatnią osią X i punktem (X, Y).

(atan2 dla x:[4] y:[3])

Parametr

Opis

X

Pozycja pozioma punktu mierzona od początku układu współrzędnych (0,0).

y

Położenie pionowe punktu mierzone od początku układu współrzędnych (0,0).

Przykład

gdy uruchomiony
[Calculate the angle from current position (4, 3).]
wydrukuj (atan2 dla x:[4] y:[3]) na ekranie ▶

reszta#

Blok reportera remainder raportuje resztę z operacji dzielenia pomiędzy dwiema wartościami.

Blok reporterów „Remainder”.#
(reszta z [0] / [0])

Parametr

Opis

dywidenda

Liczba do podzielenia.

dzielnik

Liczba, przez którą należy podzielić.

Przykład

gdy uruchomiony
[Display the remainder of 10 / 3.]
wydrukuj (reszta z [10] / [3]) na ekranie ▶