Operatorzy#

Wstęp#

Bloki operatora w VEXcode AIR pomagają dronowi 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 — wykonuje dodawanie, odejmowanie, mnożenie lub dzielenie.

  • operator porównania — porównuje dwie wartości za pomocą operatorów większy niż, mniejszy niż lub równy.

  • operator logiczny — ocenia wiele warunków za pomocą operatorów and lub or.

  • not operator — Odwraca wartość logiczną.

  • operator zakresu — sprawdza, czy liczba mieści się w zakresie.

  • wybierz losowo — Generuje liczbę losową w określonym zakresie.

  • liczba zaokrąglona — zaokrągla liczbę do najbliższej liczby całkowitej.

  • funkcje matematyczne — Stosuje działania takie jak pierwiastek kwadratowy, trygonometria, logarytmy i potęgowanie.

  • atan2 — Oblicza odwrotny tangens Y/X.

  • pozostałość — Raportuje resztę z operacji dzielenia.

  • join – łączy dwa ciągi znaków w jeden.

  • letter – Wyodrębnia znak z ciągu według pozycji.

  • length – Raportuje liczbę znaków w ciągu.

  • contains – Sprawdza, czy ciąg zawiera określone słowo lub znak.

  • convert – Konwertuje liczbę na tekst, liczbę całkowitą lub liczbę dziesiętną.

operator matematyczny#

Blok raportujący operator matematyczny 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ą bloków ustaw precyzję wydruku na ekranie lub ustaw precyzję wydruku na konsoli.

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

Wykonuj podstawowe dodawanie i pokazuj dwa miejsca po przecinku.#
gdy uruchomiony
[Perform basic addition and show two decimal places.]
ustaw precyzję drukowania na [0.01 v] w konsoli
wydrukuj ([10] [math_plus v] [10.5]) w konsoli ▶

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
[Fly to position (0, 300, 500).]
startuj na [500] [mm v] ▶
czekaj (1) sekund
jedź [do przodu v]
czekaj dopóki <(pozycja [y v] w [mm v]) [math_greater_than v] [300]>
czekaj (1) sekund
ląduj ▶

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 when buttons 5 and 7 are pressed together.]
czekaj dopóki <<kontroler przycisk [5 v] wciśnięty?> [i v] <kontroler przycisk [7 v] wciśnięty?>>
wydrukuj [Both buttons pressed!] w konsoli ▶

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
[Move with controller while button 5 is not pressed.]
startuj na [500] [mm v] ▶
dopóki <nie <kontroler przycisk [5 v] wciśnięty?>>
steruj kontrolerem
koniec
ląduj ▶

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
[Hover at approximately 1000mm then land.]
startuj na [500] [mm v] ▶
wznosz się [w górę v]
czekaj dopóki <[1000] [math_less_than v] (altitude in [mm v]) [math_less_than v] [1100]>
zawis
czekaj (3) sekund
ląduj ▶

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

Wyświetl liczbę pomiędzy 1 a 10.#
gdy uruchomiony
[Display a number between 1 and 10.]
wydrukuj (losuj od [1] do [10]) w konsoli ▶

Wyświetl liczbę dziesiętną od 1 do 10,5.#
gdy uruchomiony
[Display a decimal number between 1 and 10.5.]
ustaw precyzję drukowania na [Wszystkie cyfry v] w konsoli
wydrukuj (losuj od [1] do [10.5]) w konsoli ▶

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

Wyświetl zaokrąglony wynik 10 / 3.#
gdy uruchomiony
[Display the rounded result of 10 / 3.]
ustaw precyzję drukowania na [0.01 v] w konsoli
wydrukuj (zaokrąglij ([10] [math_division v] [3]) do [1] miejsc dziesiętnych) w konsoli ▶

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
  • tangens — tangens
  • asin — sinus odwrotny
  • acos — cosinus odwrotny
  • atan — tangens odwrotny
  • ln — logarytm naturalny
  • log — logarytm o podstawie 10
  • e^ — liczba Eulera podniesiona do potęgi
  • 10^ — 10 podniesione do potęgi
  • ujemne — Zwraca liczbę ujemną liczby

numer

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

Przykład

Wyświetl pierwiastek kwadratowy z 16.#
gdy uruchomiony
[Display the square root of 16.]
wydrukuj ([sqrt v] z [16]) w konsoli ▶

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).

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

Parametr

Opis

X

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

y

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

Przykład

Oblicz kąt od aktualnej pozycji (4, 3).#
gdy uruchomiony
[Calculate the angle from current position (4, 3).]
wydrukuj (atan2 dla x:[4] y:[3]) w konsoli ▶

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

Wyświetl resztę z 10/3.#
gdy uruchomiony
[Display the remainder of 10 / 3.]
wydrukuj (reszta z [10] / [3]) w konsoli ▶

dołączyć#

Blok reportera join raportuje pojedynczy ciąg łączący dwa ciągi wejściowe.

Blok reportera Dołącz.#
(połącz [apple] [banana])

parametr

opis

ciąg 1

Pierwszy ciąg do połączenia.

ciąg 2

Drugi ciąg do połączenia.

Przykład

gdy uruchomiony
[Display "VEXcode" on the Console.]
wydrukuj (połącz [VEX] [code]) w konsoli ▶

list#

Blok reportera letter raportuje ciąg pojedynczego znaku z określonej pozycji w danym ciągu.

Blok reporterski Listu.#
(litera [1] z [apple])

parametr

opis

pozycja

Pozycja znaku w ciągu (począwszy od 1).

smyczkowy

Ciąg znaków, z którego ma zostać wyodrębniona litera.

Przykład

gdy uruchomiony
[Display the first letter of "drone".]
wydrukuj (litera (1) z [drone]) w konsoli ▶

długość#

Blok reportera length raportuje liczbę znaków w określonym ciągu, łącznie ze spacjami.

Blok reportera długości.#
(długość [apple])

parametr

opis

smyczkowy

Sznurek do pomiaru długości.

Przykład

gdy uruchomiony
[Count the number of characters in "VEX Robotics".]
wydrukuj (długość [VEX Robotics]) w konsoli ▶

zawiera#

Blok logiczny contains informuje, czy określony ciąg zawiera podane słowo lub znak.

  • Prawda – ciąg zawiera określone słowo lub znak.

  • Fałsz – ciąg nie zawiera danego konkretnego słowa lub znaku.

Blok zawiera wartości logiczne.#
<[apple] zawiera [a]?>

parametr

opis

smyczkowy

Główny ciąg znaków, w którym należy szukać.

termin wyszukiwania

Słowo lub znak, który należy sprawdzić w ciągu.

Przykład

gdy uruchomiony
[Check if "robotics" contains "bot".]
jeśli <[robotics] zawiera [bot]?> to
wydrukuj [The word contains "bot".] w konsoli ▶
w przeciwnym razie
wydrukuj [Not found.] w konsoli ▶
koniec

konwertować#

Blok reportera convert raportuje wartość liczby przekonwertowanej na określony typ, jako tekst lub liczbę.

  • tekst – Konwertuje liczbę na ciąg znaków. Aby liczby działały z blokami Operator ciągu znaków, muszą być w formacie ciągu znaków.

  • liczba – Konwertuje liczbę na wartość dziesiętną.

Blok reportera Convert.#
(konwertuj [0] na [tekst v])

parametr

opis

wartość

Liczba do przeliczenia.

typ

Typ konwersji liczby na:

  • tekst
  • liczba

Przykład

gdy uruchomiony
[Add any number to 5.]
zapytaj [Give me a number.] i czekaj
wydrukuj ((konwertuj (odpowiedź) na [liczba v]) [math_plus v] [5]) w konsoli ▶