Operatorzy#

Wstęp#

Bloki operatora w VEXcode V5 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 – 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.

  • nie 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

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 B Controller buttons are pressed.]
zawsze
wyczyść ekran
ustaw kursor na wiersz [1] kolumnę [1] na ekranie
jeśli <<[Controller1 v] przycisk [▼ v] wciśnięty?> [i v] <[Controller1 v] przycisk [B v] 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 <[90] [math_less_than v] (kurs jazdy w stopniach) [math_less_than v] [270]> 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]) na ekranie ▶

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

Pozycja pionowa punktu mierzona 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 ▶

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.

gdy uruchomiony
[Display "VEXcode" on the screen.]
wydrukuj (połącz [VEX] [code]) na ekranie ▶

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.

gdy uruchomiony
[Display the first letter of "Robot".]
wydrukuj (litera (1) z [Robot]) na ekranie ▶

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]) na ekranie ▶

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".] na ekranie ▶
w przeciwnym razie
wydrukuj [Not found.] na ekranie ▶
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 :: hat events
[Display the robot's heading as it turns.]
skręć [w prawo v]
zawsze
wyczyść wszystkie wiersze
wydrukuj (połącz [Currently facing: ] (konwertuj (kurs jazdy w stopniach) na [tekst v])) ▶
czekaj [0.5] sekund