Pelajaran 4: Menggunakan Perulangan Bersarang
Pada Pelajaran sebelumnya, Anda membuat proyek untuk menginstruksikan Robot VR untuk melaju, 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 sasaran berwarna yang sesuai di Disk Mover Playground menggunakan loop bersarang!

Hasil belajar
- Mengidentifikasi cara menyusun loop.
- Jelaskan aliran suatu proyek melalui loop bersarang.
- Jelaskan mengapa loop bersarang akan digunakan dalam suatu proyek.
Apa itu Nested Loop?
Dalam Unit dan Pelajaran sebelumnya dalam kursus ini, Anda telah menggunakan perulangan dari kategori Kontrol seperti perulangan for , perulangan while , dan perulangan tak terhingga whileuntuk mengulang perilaku. Menempatkan satu loop di dalam loop lain disebut 'nesting'. Loop bersarang berguna dalam proyek di mana Robot VR mengulang perilaku yang sama lebih dari satu kali, seperti memindahkan beberapa disk di Playground. Loop bersarang dapat mengatur dan meringkas suatu proyek, agar lebih mudah dipahami. Hal ini dapat membantu untuk lebih memahami konteks dan tujuan kode, serta memudahkan untuk mengidentifikasi kesalahan dan memecahkan masalah suatu proyek.
Misalnya, untuk memindahkan ketiga cakram biru ke sasaran biru, putaranuntukdapat digunakan untuk mengulang proses pengumpulan cakram beberapa kali. Proyek yang ditunjukkan di sini menempatkan proyek Pelajaran 3 untuk memindahkan cakram biru pertama ke sasaran biru di dalam loop untuk , dengan parameter ditetapkan ke 3. Perhatikan bagaimana keempat bagian proyek sebelumnya diindentasi dalam loop untuk.
def main():
untuk pengulangan_hitungan dalam rentang(3):
#1. Berkendara ke disk pertama
saat tidak down_eye.near_object():
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()
# 2. Ambil disk
magnet.energize(BOOST)
# 3. Berkendara menuju tujuan
drivetrain.turn_to_heading(180, DEGREES)
sementara front_distance.get_distance(MM) > 200:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()
# 4. Jatuhkan cakram di sasaran
magnet.energize(DROP)
drivetrain.drive_for(REVERSE, 100, MM)
drivetrain.turn_to_heading(0, DEGREES)
wait(5, MSEC)Saat Anda membuat 'nest' loop, loop luar mengendalikan berapa kali loop dalam dieksekusi. Dalam proyek ini, loopuntukadalah loop luar, dan akan mengulangi perilaku dalam loop tiga kali.
Lingkaran dalam adalah lingkaran yang terdapat di dalam lingkaran luar. Dalam contoh ini, masing-masing loopwhile(untuk mengarahkan ke disk dan ke tujuan) adalah 'loop dalam' yang dieksekusi setiap kali proyek bergerak melalui loopfor.
Untuk Informasi Anda
Indentasi penting dalam proyek VEXcode VR Python. Anda dapat menggunakan garis indikator abu-abu di ruang kerja sebagai bantuan visual saat menyusun loop, untuk memastikan proyek Anda berjalan sebagaimana mestinya. Setiap baris menunjukkan awal dan akhir suatu putaran.

Alur proyek loop bersarang
Dalam contoh ini, setiap kali putaranuntukberulang, cakram biru diambil dan dikembalikan ke sasaran biru.
Setelah iterasi pertama, cakram biru pertama dikembalikan ke sasaran biru dan Robot VR diputar agar siap mengumpulkan 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. Loopuntuk kini telah menyelesaikan jangkauannya, jadi proyek telah selesai.

Pilih tombol Berikutnya untuk melanjutkan sisa Pelajaran ini.