ผู้ปฏิบัติงาน#
การแนะนำ#
บล็อก Operator ใน VEXcode 123 ช่วยให้หุ่นยนต์ทำงานกับตัวเลขและคำได้ บล็อกเหล่านี้สามารถแก้ปัญหาทางคณิตศาสตร์ เปรียบเทียบค่า ประเมินว่าเงื่อนไขเป็นจริงหรือเท็จ และทำงานกับสตริงได้ สตริงสามารถใช้เพื่อพิมพ์ค่าและคำไปยัง Console ใน VEXcode 123 ได้
ด้านล่างนี้คือรายการบล็อกที่มีให้เลือก:
ตัวดำเนินการทางคณิตศาสตร์ – ทำการบวก ลบ คูณ หรือหาร
ตัวดำเนินการเปรียบเทียบ – เปรียบเทียบค่าสองค่าโดยใช้ตัวดำเนินการมากกว่า น้อยกว่า หรือเท่ากับ
ตัวดำเนินการตรรกะ – ประเมินเงื่อนไขหลายรายการโดยใช้ and หรือ or
ตัวดำเนินการไม่ใช่ – กลับค่าบูลีน
ตัวดำเนินการช่วง – ตรวจสอบว่าตัวเลขอยู่ในช่วงที่กำหนดหรือไม่
เลือกแบบสุ่ม – สร้างตัวเลขสุ่มภายในช่วงที่กำหนด
ปัดเศษ – ปัดเศษตัวเลขให้เป็นจำนวนเต็มที่ใกล้ที่สุด
ฟังก์ชันทางคณิตศาสตร์ – ใช้ในการดำเนินการต่างๆ เช่น รากที่สอง ตรีโกณมิติ ลอการิทึม และการยกกำลัง
ส่วนที่เหลือ – รายงานส่วนที่เหลือของการดำเนินการหาร
join – รวมสตริงสองสตริงเข้าเป็นสตริงเดียว
letter – แยกอักขระจากสตริงตามตำแหน่ง
length – รายงานจำนวนอักขระในสตริง
ประกอบด้วย – ตรวจสอบว่าสตริงมีคำหรืออักขระที่ระบุหรือไม่
แปลง – แปลงตัวเลขเป็นข้อความ จำนวนเต็ม หรือทศนิยม
ตัวดำเนินการทางคณิตศาสตร์#
บล็อกรายงาน ตัวดำเนินการทางคณิตศาสตร์ จะทำการคำนวณทางคณิตศาสตร์พื้นฐานกับค่าที่อยู่ทั้งสองด้านของตัวดำเนินการ โดยจะรายงานผลลัพธ์ตามความแม่นยำในการพิมพ์ของโปรเจกต์ ซึ่งค่าเริ่มต้นคือ 0 ตำแหน่งทศนิยม แต่สามารถปรับได้โดยใช้บล็อก ตั้งค่าความแม่นยำในการพิมพ์
([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 a red object is detected.]
ทำตลอดไป
ล้างทุกแถว
ถ้า <<ตาพบวัตถุ?> [และ v] <ตาตรวจจับ [แดง v]?>> แล้ว
พิมพ์ [Red object found!] ▶
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]
ทำตลอดไป
ล้างทุกแถว
ถ้า <[270] [math_greater_than v] (ทิศทางขับในองศา) [math_less_than v] [90]> แล้ว
พิมพ์ [Facing forward] ▶
มิฉะนั้น
พิมพ์ [Facing backward] ▶
เลือกแบบสุ่ม#
บล็อกรายงาน เลือกแบบสุ่ม จะรายงานตัวเลขสุ่มที่เป็นบวกหรือลบระหว่างค่าต่ำสุดและค่าสูงสุด โดยสามารถส่งคืนได้ทั้งค่าต่ำสุดและค่าสูงสุด ตัวอย่างเช่น การเลือก 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]) ▶
ส่วนที่เหลือ#
ส่วนรายงานค่า เศษเหลือ จะแสดงค่าเศษเหลือจากการหารระหว่างค่าสองค่า
(เศษของ [0] / [0])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เงินปันผล |
จำนวนที่จะนำมาหาร |
ตัวหาร |
ตัวเลขที่จะใช้หาร |
ตัวอย่าง
เมื่อเริ่มต้น
[Display the remainder of 10 / 3.]
พิมพ์ (เศษของ [10] / [3]) ▶
เข้าร่วม#
บล็อกรายงาน join จะรายงานสตริงเดียวที่รวมสตริงอินพุตสองสตริงเข้าด้วยกัน
(รวม [apple] [banana])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
สตริง 1 |
สตริงแรกที่จะนำมารวมกัน |
สตริง 2 |
สตริงที่สองที่จะนำมารวมกัน |
เมื่อเริ่มต้น
[Display "VEXcode" on the Console.]
พิมพ์ (รวม [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])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ค่า |
ตัวเลขที่จะแปลง |
พิมพ์ |
ประเภทข้อมูลที่ใช้แปลงตัวเลข: text จะแปลงค่าเป็นสตริง และ number จะแปลงค่าเป็นเลขฐานสิบ |
ตัวอย่าง
เมื่อเริ่มต้น
[Display the heading.]
พิมพ์ (รวม [Heading: ] (แปลง (ทิศทางขับในองศา) เป็น [ข้อความ v])) ▶