ผู้ปฏิบัติงาน#
การแนะนำ#
บล็อก Operator ใน VEXcode V5 ช่วยให้หุ่นยนต์ทำงานกับตัวเลขและคำได้ บล็อกเหล่านี้สามารถแก้ปัญหาทางคณิตศาสตร์ เปรียบเทียบค่า ประเมินว่าเงื่อนไขเป็นจริงหรือเท็จ และทำงานกับสตริงได้ สตริงสามารถใช้เพื่อพิมพ์ค่าและคำต่างๆ ได้
ด้านล่างนี้คือรายการบล็อกที่มีให้เลือก:
ตัวดำเนินการทางคณิตศาสตร์ – ทำการบวก ลบ คูณ หรือหาร
ตัวดำเนินการเปรียบเทียบ – เปรียบเทียบค่าสองค่าโดยใช้ตัวดำเนินการมากกว่า น้อยกว่า หรือเท่ากับ
ตัวดำเนินการตรรกะ – ประเมินเงื่อนไขหลายรายการโดยใช้ and หรือ or
ตัวดำเนินการไม่ใช่ – กลับค่าบูลีน
ตัวดำเนินการช่วง – ตรวจสอบว่าตัวเลขอยู่ในช่วงที่กำหนดหรือไม่
เลือกแบบสุ่ม – สร้างตัวเลขสุ่มภายในช่วงที่กำหนด
ปัดเศษ – ปัดเศษตัวเลขให้เป็นจำนวนเต็มที่ใกล้ที่สุด
ฟังก์ชันทางคณิตศาสตร์ – ใช้ในการดำเนินการต่างๆ เช่น รากที่สอง ตรีโกณมิติ ลอการิทึม และการยกกำลัง
atan2 – คำนวณค่าแทนเจนต์ผกผันของ y/x
ส่วนที่เหลือ – รายงานส่วนที่เหลือของการดำเนินการหาร
join – รวมสตริงสองสตริงเข้าเป็นสตริงเดียว
letter – แยกอักขระจากสตริงตามตำแหน่ง
length – รายงานจำนวนอักขระในสตริง
ประกอบด้วย – ตรวจสอบว่าสตริงมีคำหรืออักขระที่ระบุหรือไม่
แปลง – แปลงตัวเลขเป็นข้อความ จำนวนเต็ม หรือทศนิยม
ตัวดำเนินการทางคณิตศาสตร์#
บล็อกรายงาน ตัวดำเนินการทางคณิตศาสตร์ จะทำการคำนวณทางคณิตศาสตร์พื้นฐานกับค่าที่วางไว้ทั้งสองด้านของตัวดำเนินการ โดยจะส่งคืนผลลัพธ์ตามความแม่นยำในการพิมพ์ของโปรเจกต์ ซึ่งค่าเริ่มต้นคือ 0 ตำแหน่งทศนิยม แต่สามารถปรับได้โดยใช้บล็อก set print precision on screen หรือ set print precision on console
([0] [math_plus v] [0])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ค่า 1 |
ตัวเลขแรกที่ใช้ในการดำเนินการ |
ผู้ดำเนินการ |
ตัวดำเนินการทางคณิตศาสตร์ที่ใช้:
|
ค่า 2 |
ตัวเลขที่สองที่ใช้ในการดำเนินการ |
ตัวอย่าง
เมื่อเริ่มต้น
[Perform basic addition and show two decimal places.]
ตั้งความละเอียดการพิมพ์เป็น [0.01 v] บนหน้าจอ
พิมพ์ ([10] [math_plus v] [10.5]) บนหน้าจอ ▶
ตัวดำเนินการเปรียบเทียบ#
บล็อกบูลีน ตัวดำเนินการเปรียบเทียบ จะรายงานว่าการเปรียบเทียบระหว่างสองค่าเป็น จริง หรือ เท็จ
จริง – การเปรียบเทียบถูกต้อง (เช่น 5 > 3 จะได้ผลลัพธ์เป็น จริง)
เท็จ – การเปรียบเทียบไม่ถูกต้อง (เช่น 2 ≥ 5 จะได้ผลลัพธ์เป็น เท็จ)
<[0] [math_equal v] [0]>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ค่า 1 |
ค่าแรกที่จะนำมาเปรียบเทียบ |
ผู้ดำเนินการ |
การเปรียบเทียบที่ใช้:
|
ค่า 2 |
ค่าที่สองที่จะนำมาเปรียบเทียบ |
ตัวอย่าง
เมื่อเริ่มต้น
[Turn right until the heading reaches 90 degrees.]
เลี้ยว [ขวา v]
รอ [0.5] วินาที
รอจนกว่า <(ทิศทางขับในองศา) [math_greater_than v] [90]>
หยุดขับ
ตัวดำเนินการตรรกะ#
บล็อกตัวดำเนินการตรรกะแบบบูลีนจะรายงานว่าเงื่อนไขตรรกะระหว่างค่าหลายค่าเป็น จริง หรือ เท็จ
จริง – เงื่อนไขตรรกะเป็นไปตามที่กำหนด
เท็จ – เงื่อนไขตรรกะไม่เป็นไปตามที่กำหนด
<<> [และ v] <>>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เงื่อนไขที่ 1 |
เงื่อนไขบูลีนแรกที่จะประเมิน |
ผู้ดำเนินการ |
ตัวดำเนินการตรรกะที่ใช้: และ จะส่งค่า จริง หาก ทั้งสอง เงื่อนไขเป็น จริง หรือ จะส่งค่า จริง หาก อย่างน้อยหนึ่ง เงื่อนไขเป็น จริง |
เงื่อนไขที่ 2 |
เงื่อนไขบูลีนที่สองที่จะประเมิน |
ตัวอย่าง
เมื่อเริ่มต้น
[Display if the ▼ and B Controller buttons are pressed.]
ทำตลอดไป
ล้างหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ถ้า <<[Controller1 v] [▼ v] ถูกกด?> [และ v] <[Controller1 v] [B v] ถูกกด?>> แล้ว
พิมพ์ [Buttons pressed!] บนหน้าจอ ▶
fine
fine
ไม่ใช่ผู้ดำเนินการ#
ตัวดำเนินการ not ในบล็อกบูลีนจะกลับค่าผลลัพธ์ของบล็อกบูลีนอื่น หากอินพุตเป็น True จะแสดงผลเป็น False และหากอินพุตเป็น False จะแสดงผลเป็น True
จริง – โดยปกติเงื่อนไขการป้อนข้อมูลจะรายงานเป็น เท็จ
เท็จ – โดยปกติเงื่อนไขการป้อนข้อมูลจะแสดงผลเป็น จริง
<ไม่ <>>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เงื่อนไข |
เงื่อนไขบูลีนที่จะถูกกลับด้าน |
ตัวอย่าง
เมื่อเริ่มต้น
[Turn until the robot is facing left. ]
ทำตลอดไป
ถ้า <ไม่ <(ทิศทางขับในองศา) [math_greater_than v] [270]>> แล้ว
เลี้ยว [ขวา v]
มิฉะนั้น
หยุดขับ
ผู้ควบคุมระยะ#
บล็อกบูลีน ตัวดำเนินการช่วง จะรายงานว่าค่าอยู่ในช่วงที่กำหนดหรือไม่
จริง – ถ้าค่าอยู่ในช่วงที่กำหนด
เท็จ – หากค่าอยู่นอกช่วงที่กำหนด
<[0] [math_less_than v] [0] [math_less_than v] [0]>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ผู้ดำเนินการรายแรก |
ตัวดำเนินการเปรียบเทียบที่ใช้:
|
ค่า |
ค่าที่ต้องตรวจสอบ |
ผู้ปฏิบัติงานคนที่สอง |
ตัวดำเนินการเปรียบเทียบที่ใช้:
|
ตัวอย่าง
เมื่อเริ่มต้น
[Turn and display when facing forward or back. ]
เลี้ยว [ขวา v] เป็น [360] องศา ◀ และไม่รอ
ทำตลอดไป
ล้างหน้าจอ
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บนหน้าจอ
ถ้า <[90] [math_less_than v] (ทิศทางขับในองศา) [math_less_than v] [270]> แล้ว
พิมพ์ [Facing backward!] บนหน้าจอ ▶
มิฉะนั้น
พิมพ์ [Facing forward!] บนหน้าจอ ▶
เลือกแบบสุ่ม#
บล็อกรายงาน เลือกแบบสุ่ม จะรายงานตัวเลขสุ่มที่เป็นบวกหรือลบระหว่างค่าต่ำสุดและค่าสูงสุด โดยสามารถส่งคืนได้ทั้งค่าต่ำสุดและค่าสูงสุด ตัวอย่างเช่น การเลือก 1 ถึง 10 สามารถส่งคืนจำนวนเต็มใดๆ ก็ได้ตั้งแต่ 1 ถึง 10
สุ่ม [1] ถึง [10]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
นาที |
หมายเลขที่ต่ำที่สุดที่สามารถเลือกได้ |
สูงสุด |
หมายเลขสูงสุดที่เป็นไปได้ที่สามารถเลือกได้ |
ตัวอย่าง
เมื่อเริ่มต้น
[Display a number between 1 and 10.]
พิมพ์ (สุ่ม [1] ถึง [10]) บนหน้าจอ ▶
เลขกลม#
บล็อกรายงาน จำนวนกลม จะรายงานตัวเลขที่กำหนดโดยปัดเศษให้เป็นจำนวนเต็มที่ใกล้ที่สุด โดยใช้กฎการปัดเศษมาตรฐาน:
ถ้าทศนิยมเป็น 0.5 หรือมากกว่านั้น ตัวเลขจะถูกปัดขึ้น
ถ้าทศนิยมมีค่าน้อยกว่า 0.5 ตัวเลขจะถูกปัดลง
(ปัดเศษ [0] เป็น [0] ตำแหน่งทศนิยม)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ตัวเลข |
ตัวเลขที่จะปัดเศษ |
ตำแหน่งทศนิยม |
จำนวนตำแหน่งทศนิยมที่จะปัดเศษ |
ตัวอย่าง
เมื่อเริ่มต้น
[Display the rounded result of 10 / 3.]
ตั้งความละเอียดการพิมพ์เป็น [0.01 v] บนหน้าจอ
พิมพ์ (ปัดเศษ ([10] [math_division v] [3]) เป็น [1] ตำแหน่งทศนิยม) บนหน้าจอ ▶
ฟังก์ชันทางคณิตศาสตร์#
บล็อกรายงาน ฟังก์ชันทางคณิตศาสตร์ จะใช้ฟังก์ชันทางคณิตศาสตร์ที่เลือกกับตัวเลขที่กำหนดและส่งคืนผลลัพธ์ โดยรองรับการดำเนินการต่างๆ เช่น ค่าสัมบูรณ์ การปัดเศษ รากที่สอง ฟังก์ชันตรีโกณมิติ ลอการิทึม และการยกกำลัง
[abs v] ของ [0]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
การทำงาน |
การดำเนินการทางคณิตศาสตร์ที่ใช้กับค่าที่ป้อน:
|
ตัวเลข |
ตัวเลขที่จะนำฟังก์ชันไปใช้ |
ตัวอย่าง
เมื่อเริ่มต้น
[Display the square root of 16.]
พิมพ์ ([sqrt v] ของ [16]) บนหน้าจอ ▶
อะตัน2#
บล็อกรายงาน atan2 จะรายงานค่าแทนเจนต์ผกผันของ Y/X ในรูปของมุมในหน่วยองศา ซึ่งแสดงถึงมุมระหว่างแกน X บวกกับจุด (X, Y)
(atan2 ของ x:[4] y:[3])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
x |
ตำแหน่งแนวนอนของจุด วัดจากจุดกำเนิด (0,0) |
y |
ตำแหน่งแนวดิ่งของจุด วัดจากจุดกำเนิด (0,0) |
ตัวอย่าง
เมื่อเริ่มต้น
[Calculate the angle from current position (4, 3).]
พิมพ์ (atan2 ของ x:[4] y:[3]) บนหน้าจอ ▶
ส่วนที่เหลือ#
ส่วนรายงานค่า เศษเหลือ จะแสดงค่าเศษเหลือจากการหารระหว่างค่าสองค่า
(เศษของ [0] / [0])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เงินปันผล |
จำนวนที่จะนำมาหาร |
ตัวหาร |
ตัวเลขที่จะใช้หาร |
ตัวอย่าง
เมื่อเริ่มต้น
[Display the remainder of 10 / 3.]
พิมพ์ (เศษของ [10] / [3]) บนหน้าจอ ▶
เข้าร่วม#
บล็อกรายงาน join จะรายงานสตริงเดียวที่รวมสตริงอินพุตสองสตริงเข้าด้วยกัน
(รวม [apple] [banana])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
สตริง 1 |
สตริงแรกที่จะนำมารวมกัน |
สตริง 2 |
สตริงที่สองที่จะนำมารวมกัน |
เมื่อเริ่มต้น
[Display "VEXcode" on the screen.]
พิมพ์ (รวม [VEX] [code]) บนหน้าจอ ▶
จดหมาย#
บล็อกรายงาน letter จะรายงานสตริงที่มีอักขระตัวเดียวจากตำแหน่งที่ระบุในสตริงที่กำหนด
(ตัวอักษรที่ [1] ของ [apple])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ตำแหน่ง |
ตำแหน่งของอักขระในสตริง (เริ่มต้นที่ 1) |
สตริง |
สตริงที่จะใช้ดึงตัวอักษรออกมา |
เมื่อเริ่มต้น
[Display the first letter of "Robot".]
พิมพ์ (ตัวอักษรที่ (1) ของ [Robot]) บนหน้าจอ ▶
ความยาว#
บล็อกรายงาน ความยาว จะรายงานจำนวนอักขระในสตริงที่ระบุ รวมทั้งช่องว่างด้วย
(ความยาวของ [apple])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
สตริง |
เชือกสำหรับวัดความยาว |
ตัวอย่าง
เมื่อเริ่มต้น
[Count the number of characters in "VEX Robotics".]
พิมพ์ (ความยาวของ [VEX Robotics]) บนหน้าจอ ▶
ประกอบด้วย#
บล็อกบูลีน contains จะรายงานว่าสตริงที่ระบุมีคำหรืออักขระที่กำหนดหรือไม่
จริง – สตริงนั้นมีคำหรืออักขระดังกล่าวอยู่
เท็จ – ข้อความดังกล่าวไม่มีคำหรืออักขระนั้นอยู่
<[apple] มี [a]?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
สตริง |
สตริงหลักที่จะใช้ในการค้นหา |
คำค้นหา |
คำหรืออักขระที่จะตรวจสอบภายในสตริง |
ตัวอย่าง
เมื่อเริ่มต้น
[Check if "robotics" contains "bot".]
ถ้า <[robotics] มี [bot]?> แล้ว
พิมพ์ [The word contains "bot".] บนหน้าจอ ▶
มิฉะนั้น
พิมพ์ [Not found.] บนหน้าจอ ▶
fine
แปลง#
บล็อกรายงาน แปลง จะรายงานค่าของตัวเลขที่แปลงเป็นประเภทที่ระบุ ไม่ว่าจะเป็นข้อความหรือตัวเลข
text – แปลงตัวเลขเป็นสตริง ตัวเลขต้องอยู่ในรูปแบบสตริงจึงจะใช้งานร่วมกับบล็อก ตัวดำเนินการสตริง ได้
ตัวเลข – แปลงตัวเลขเป็นค่าทศนิยม
(แปลง [0] เป็น [ข้อความ v])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ค่า |
ตัวเลขที่จะแปลง |
พิมพ์ |
ประเภทสำหรับแปลงตัวเลขเป็น:
|
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Display the robot's heading as it turns.]
เลี้ยว [ขวา v]
ทำตลอดไป
ล้างทุกแถว
พิมพ์ (รวม [Currently facing: ] (แปลง (ทิศทางขับในองศา) เป็น [ข้อความ v])) ▶
รอ [0.5] วินาที