Pelajaran 4: Menggunakan Perulangan Bersarang
Pada Pelajaran sebelumnya, Anda membuat proyek untuk menginstruksikan Robot VR untuk mengemudi, mengambil, dan memindahkan ketiga cakram biru di Disk Mover Playground ke gawang biru. Dalam pelajaran ini, Anda akan membuat proyek untuk mengambil dan memindahkan satu cakram dari setiap warna ke tujuan berwarna yang sesuai di Disk Mover Playground menggunakan perulangan bersarang!

Hasil belajar
- Identifikasi cara menyusun perulangan secara bertingkat.
- Jelaskan alur proyek melalui perulangan bersarang.
- Jelaskan mengapa perulangan bersarang akan digunakan dalam sebuah proyek.
Apa itu Nested Loops (Perulangan Bersarang)?
Pada Unit dan Pelajaran sebelumnya dalam kursus ini, Anda telah menggunakan perulangan dari kategori Kontrol seperti perulangan for , while , dan perulangan tak terbatas whileuntuk mengulang perilaku. Menempatkan satu loop di dalam loop lain disebut 'nesting'. Perulangan bersarang sangat membantu dalam proyek di mana Robot VR mengulangi perilaku yang sama lebih dari sekali, seperti memindahkan beberapa cakram di Playground. Penggunaan perulangan bersarang dapat mengatur dan meringkas sebuah proyek, sehingga lebih mudah dipahami. Hal ini dapat membantu untuk lebih memahami konteks dan tujuan kode, serta mempermudah identifikasi kesalahan dan pemecahan masalah pada suatu proyek.
Sebagai contoh, untuk memindahkan ketiga cakram biru ke gawang biru, perulanganuntukdapat digunakan untuk mengulangi proses pengumpulan cakram beberapa kali. Proyek yang ditampilkan di sini menempatkan proyek Pelajaran 3 untuk memindahkan cakram biru pertama ke tujuan biru di dalam loop untuk , dengan parameter diatur ke 3. Perhatikan bagaimana keempat bagian dari proyek sebelumnya diberi indentasi di dalam loop untuk.
def main():
for repeat_count in range(3):
#1. Drive to the first disk
while not down_eye.near_object():
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()
# 2. Ambil magnet disk
energi (BOOST)
# 3. Berkendara menuju tujuan
drivetrain.turn_to_heading(180, DEGREES)
while front_distance.get_distance(MM) > 200:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()
# 4. Jatuhkan disk ke magnet tujuan
(DROP)
drivetrain.drive_for(REVERSE, 100, MM)
drivetrain.turn_to_heading(0, DEGREES)
wait(5, MSEC)Saat Anda 'menyusun' perulangan, perulangan terluar mengontrol berapa kali perulangan dalam dieksekusi. Dalam proyek ini, loopuntukadalah loop terluar, dan akan mengulangi perilaku di dalam loop sebanyak tiga kali.
Loop bagian dalam adalah loop yang terdapat di dalam loop bagian luar. Dalam contoh ini, setiap loopwhile(untuk menggerakkan ke disk dan ke tujuan) adalah 'loop dalam' yang dieksekusi setiap kali proyek bergerak melalui loopfor.
Untuk Informasi Anda
Indentasi sangat penting dalam proyek Python VEXcode VR. Anda dapat menggunakan garis indikator abu-abu di ruang kerja sebagai bantuan visual saat menyusun perulangan, untuk memastikan proyek Anda berfungsi sebagaimana mestinya. Setiap garis menunjukkan awal dan akhir dari sebuah perulangan.

Alur proyek nested loop
Dalam contoh ini, setiap kali loopuntukberulang, sebuah cakram biru diambil dan dikembalikan ke tujuan biru.
Setelah iterasi pertama, cakram biru pertama dikembalikan ke sasaran biru dan Robot VR diputar untuk bersiap mengambil cakram kedua.
Setelah iterasi kedua, cakram biru kedua dikumpulkan dan Robot VR diputar agar siap mengumpulkan cakram ketiga.
Setelah iterasi ketiga, cakram biru ketiga dikumpulkan, dan Robot VR berhenti bergerak. Perulanganuntuk kini telah menyelesaikan jangkauannya, sehingga proyek ini selesai.

Pilih tombol Berikutnya untuk melanjutkan ke bagian selanjutnya dari Pelajaran ini.