Pelajaran 1: Apa itu Algoritma?
Dalam Pelajaran ini, Anda akan mempelajari apa itu algoritma dan bagaimana penggunaan algoritma dalam VEXcode VR Python memungkinkan Anda membuat proyek dengan perilaku yang lebih beragam. Proyek algoritmik memberi instruksi pada Robot VR untuk merespons lingkungannya, yang diperlukan untuk menyelesaikan Tantangan Dynamic Castle Crasher.
Hasil belajar
- Mengidentifikasi bahwa algoritma terdiri dari urutan, pemilihan, dan iterasi (perulangan).
- Mengidentifikasi bahwa algoritma adalah rangkaian instruksi yang tepat, yang diimplementasikan menggunakan bahasa pemrograman, untuk proses yang akan dilakukan oleh Robot VR.
Algoritma
Algoritma adalah rangkaian instruksi yang tepat, yang diimplementasikan menggunakan bahasa pemrograman, seperti VEXcode VR Python, untuk proses yang akan dijalankan oleh Robot VR.
Elemen dasar suatu algoritma adalah urutan, pemilihan, dan iterasi.
- Urutan - urutan di mana perilaku dan perintah digabungkan dalam suatu proyek untuk menghasilkan hasil yang diinginkan.
- Pilihan - penggunaan pernyataan kondisional dalam suatu proyek. Pernyataan kondisional, seperti jikaatau jika tidakmemengaruhi alur proyek.
- Iterasi - algoritma sering menggunakan pengulangan untuk mengeksekusi langkah sejumlah kali tertentu, atau hingga kondisi tertentu terpenuhi. Hal ini juga dikenal sebagai "looping." Iterasi dapat mengubah alur proyek dengan mengulang suatu perilaku sejumlah waktu tertentu atau hingga suatu kondisi terpenuhi.
Proyek contoh dari tantangan Unit 8 ini adalah contoh suatu algoritma. Ini mencakup kombinasi loop, data sensor, dan perintah yang disatukan dalam suatu urutan untuk memecahkan Tantangan Penggerak Disk.
def main():
untuk nilai dalam rentang(3):
untuk nilai dalam rentang(3):
# 1. Berkendara ke disk menggunakan Down Eye Sensor
saat tidak down_eye.near_object():
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()
# 2. Ambil disk
magnet.beri energi(BOOST)
# 3. Berkendara ke tujuan menggunakan Sensor Jarak
drivetrain.turn_to_heading(180, DEGREES)
while front_distance.get_distance(MM) > 200:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()
# 4. Jatuhkan cakram pada sasaran
magnet.energize(DROP)
drivetrain.drive_for(REVERSE, 100, MM)
# 5. Putar untuk menghadap disk berikutnya
drivetrain.turn_to_heading(0, DEGREES)
wait(5, MSEC)
# 6. Berbalik dan melaju ke sasaran berikutnya
drivetrain.turn_to_heading(90, DEGREES)
drivetrain.drive_for(FORWARD, 800, MM)
# 7. Beralih ke disk
drivetrain.turn_to_heading(0, DEGREES)
wait(5, MSEC)Urutan
Cara perintah diurutkan dan digabungkan menentukan perilaku Robot VR. Dalam contoh ini, setiap rangkaian perilaku yang diperlukan untuk menggerakkan cakram dijalankan tiga kali, lalu Robot VR berpindah ke rangkaian cakram berikutnya dan mengulangi perilaku tersebut, hingga semua cakram dikembalikan ke sasaran. 
Pilihan
Proyek ini juga mencakup pemilihan yang menentukan bagian-bagian proyek yang dijalankan berdasarkan kondisi sensor. Pertama, Sensor Mata Bawah digunakan untuk menentukan saat Robot VR berada di dekat cakram, sehingga cakram tersebut dapat diambil. Kemudian, Sensor Jarak digunakan untuk menentukan saat Robot VR telah melewati sasaran, sehingga cakram dapat diturunkan. 
Pada loopwhilepertama, pemilihan perintah mana yang akan dijalankan didasarkan pada nilai sensor yang dilaporkan oleh Down Eye Sensor.
- Jika tidak ada objek yang terdeteksi, Robot VR akan melaju maju.
- Saat suatu objek terdeteksi, maka Robot VR akan berhenti.
Pada loopwhile kedua, pemilihan perintah mana yang akan dijalankan didasarkan pada nilai sensor yang dilaporkan oleh Sensor Jarak.
- Sementara jarak yang dilaporkan lebih besar dari 200 milimeter (mm), Robot VR akan melaju ke depan.
- Sementara jarak yang dilaporkan kurang dari 50 milimeter (mm), Robot VR akan berhenti melaju dan berpindah ke bagian proyek berikutnya untuk memberi energi pada Elektromagnet.
Perulangan
Proyek ini menggunakan iterasi, atau “loop”, untuk mengulang tindakan dan berulang kali memeriksa nilai sensor yang dilaporkan. Proyek ini berisi loop bersarang – satu loop agar Robot VR dapat mengumpulkan ketiga cakram dengan satu warna; dan loop kedua untuk mengulang proses tersebut guna mengumpulkan semua cakram di Playground. 
Algoritma ini dirancang untuk mengumpulkan dan mengembalikan tiga cakram, tiga kali, untuk menyelesaikan Tantangan Pemindah Cakram. Logika yang sama yang diterapkan untuk mengumpulkan dan memindahkan cakram berulang kali menggunakan urutan, pemilihan, dan iterasi juga dapat diterapkan pada tantangan lain, seperti Tantangan Dynamic Castle Crasher.