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.
([0] [math_plus v] [0])
Parametry |
Opis |
|---|---|
wartość 1 |
Pierwsza liczba użyta w operacji. |
operator |
Operator matematyczny, którego należy użyć:
|
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).
<[0] [math_equal v] [0]>
Parametr |
Opis |
|---|---|
wartość 1 |
Pierwsza wartość do porównania. |
operator |
Porównanie do użycia:
|
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.
<<> [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.
<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.
<[0] [math_less_than v] [0] [math_less_than v] [0]>
Parametr |
Opis |
|---|---|
pierwszy operator |
Operator porównania, którego należy użyć:
|
wartość |
Wartość do sprawdzenia. |
drugi operator |
Operator porównania, którego należy użyć:
|
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.
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ół.
(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.
[abs v] z [0]
Parametr |
Opis |
|---|---|
funkcjonować |
Operacja matematyczna stosowana do wartości wejściowej:
|
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.
(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.
(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.
(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.
(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.
<[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ą.
(konwertuj [0] na [tekst v])
parametr |
opis |
|---|---|
wartość |
Liczba do przeliczenia. |
typ |
Typ konwersji liczby na:
|
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