Langsung ke konten utama

Pelajaran 2: Alur Proyek dengan Perulangan For

Ketika sebuah proyek menggunakan perulangan untuk , proyek tersebut tetap mengikuti logika yang sama saat mengeksekusi perintah. Sebagai contoh, kedua contoh kode ini akan membuat Robot VR bergerak dengan cara yang sama. Namun, proyek dengan loopuntukmengulangi dua perintah Drivetrain sebanyak empat kali untuk melakukannya.

Dua cuplikan kode untuk menggerakkan sebuah persegi ditampilkan berdampingan untuk mengilustrasikan perbedaan antara menggunakan perulangan for dan tidak. Yang di sebelah kiri tidak memiliki perulangan for, dan memiliki perintah drive for dan turn for yang diulang masing-masing empat kali. Yang di sebelah kanan memiliki perulangan for, dan panah merah dalam pola melingkar dengan kata-kata "4 times" di dalamnya, menunjukkan bahwa perulangan for menyebabkan perintah "drive for" dan "turn for" diulang empat kali.

Perulangan untuk digunakan untuk mengulang serangkaian perintah sebanyak jumlah yang ditentukan. Perulangan untuk mengulang (juga dikenal sebagai iterasi) urutan perintah di dalamnya. Dalam perulangan Python for , variabel 'value' digunakan untuk melacak iterasi saat ini, dan kata kunci 'in' menggunakan fungsi rangeuntuk menentukan jumlah iterasi. Penjelasan sintaksis dari perulangan for yang ditunjukkan dengan teks di atas setiap kata dalam perintah untuk mengidentifikasi fungsinya. Kata pertama, "for", memiliki teks "mengidentifikasi loop" di atasnya. Kata kedua, value, berisi teks: "Mengidentifikasi variabel (berapa kali variabel tersebut telah diulang dalam loop?)." Kata ketiga, in, memiliki teks "Menghubungkan variabel ke daftar (rentang). Kata terakhir adalah rentang dengan parameter 10 dalam tanda kurung. Teks di atasnya berbunyi, "Mengidentifikasi daftar (Berapa kali akan diulang dalam loop?).

Fungsi range menentukan berapa kali loop harus diulang (atau dijalankan). Untuk mengulangi perilaku tersebut sebanyak jumlah kali yang diinginkan, atur parameter fungsi range.

Fungsi range pada dasarnya membuat daftar sementara yang menentukan apa yang harus diiterasi oleh loop agar dapat diselesaikan. Dalam kasus perilaku berulang, seperti menggambar keempat sisi persegi, fungsi range menggunakan daftar sementara (0, 1, 2, 3) untuk memungkinkan Robot VR mengeksekusi perintah tersebut empat kali. Pergerakan Robot VR akan berubah tergantung pada parameter fungsi jangkauan, seperti yang ditunjukkan di sini. 

Proyek VEXcode yang mengilustrasikan fungsi rentang. Teksnya berbunyi def main (tanda kurung buka, tanda kurung tutup, titik dua) baris berikutnya yang menjorok ke dalam berbunyi pen dot move (tanda kurung buka, tanda kurung tutup) baris berikutnya for value in range (tanda kurung buka, tanda kurung tutup 0) baris berikutnya yang menjorok ke dalam berbunyi drivetrain dot drive (garis bawah, garis bawah) for (tanda kurung buka, 600, MM) baris berikutnya drivetrain dot turn (garis bawah, garis bawah) for (tanda kurung buka, 90, derajat) baris berikutnya wait (tanda kurung buka, koma, MSEC). Taman Bermain Kanvas Seni dengan robot di tengahnya. Perintah penggerak roda dieksekusi 0 kali.
Proyek yang sama seperti di atas, tetapi dengan nilai 1 pada parameter fungsi rentang. Taman Bermain Kanvas Seni dengan proyek menggambar satu sisi persegi secara lengkap. Perintah penggerak roda dieksekusi 1 kali.
Proyek yang sama seperti di atas, tetapi dengan angka 2 pada parameter fungsi rentang. Taman Bermain Kanvas Seni menunjukkan bahwa robot telah menggambar dua sisi pertama dari persegi. Perintah penggerak roda dieksekusi 2 kali.
Proyek yang sama seperti di atas, tetapi dengan angka 3 pada parameter fungsi rentang. Taman Bermain Kanvas Seni menunjukkan bahwa robot telah menggambar tiga sisi persegi. Perintah penggerak roda dieksekusi 3 kali.
Proyek yang sama seperti di atas, tetapi dengan angka 4 pada parameter fungsi rentang. Taman Bermain Kanvas Seni menunjukkan bahwa robot telah menggambar keempat sisi persegi. Perintah penggerak dieksekusi 4 kali, menyelesaikan keempat sisi persegi.

 

Proyek yang sama seperti di atas, tetapi dengan angka 5 pada parameter fungsi rentang.

Gambar di kanvas taman bermain menunjukkan bahwa robot telah menggambar keempat sisi persegi, lalu menjiplak kembali sisi pertama. Perintah penggerak dieksekusi 5 kali, melengkapi persegi, lalu menelusuri sisi pertama lagi.

Perhatikan bahwa bentuk persegi yang digambar tidak berubah ketika fungsirangediubah dari empat menjadi lima; tetapi posisi akhir Robot VR berubah. Dengan demikian, menggunakan perulanganuntukdengan fungsi defaultrangesebesar sepuluh, akan menghasilkan bentuk persegi yang sama yang digambar, tetapi Robot VR akan terus mengulangi perilaku tersebut sebanyak enam kali lagi. 

Robot VR akan bergerak melalui perintah dari header loop untuk hingga perintah terakhir yang menjorok ke dalam. Header loopformenunjukkan bahwa Robot VR harus mengulangi tindakan di dalam loop sebanyak jumlah yang ditentukan sebelum melanjutkan ke perintah berikutnya di luar loop for. Garis yang menjorok ke dalam menunjukkan perintah apa yang ada di dalam perulangan untuk dan harus diulang.

Untuk Informasi Anda

Dalam VEXcode VR, perintahwaitselalu ditambahkan dengan loopfor. Tujuan dari perintahwaitadalah untuk memastikan bahwa VEXcode VR dapat menjalankan proyek dengan benar sesuai yang diharapkan, karena sifat platform VEXcode VR yang berbasis web. Perintahwaittidak boleh dihapus saat menggunakan loopfor, atau proyek Anda mungkin tidak berjalan sesuai yang diharapkan.

Perulangan for dengan perintah tunggu.

Jumlah pengulangan yang ditentukan pada loop untuk memungkinkan proyek untuk berlanjut keluar dari loopuntuksetelah menyelesaikan iterasi yang diperlukan. Parameter fungsi rangedalam loop for harus tercapai sebelum proyek melanjutkan ke perintah berikutnya di luar loop. Pada contoh kode di bawah ini, setelah perintah Drivetrain dalam loopuntukdieksekusi empat kali, proyek akan keluar dari loopuntuk, mengatur warna pena menjadi merah, dan bergerak mundur. Proyek VEXcode di atas, dengan angka 4 pada parameter rentang yang ditunjukkan dengan panah merah di sekitar perulangan for dan notasi 4x menunjukkan bahwa proyek akan mengulangi perulangan sebanyak empat kali. 2 baris kode tambahan ditambahkan di bagian bawah. Panah menunjukkan bahwa kedua baris tersebut akan dieksekusi setelah keempat iterasi selesai. Baris-baris itu berbunyi, pen dot set color open parenthesis red close parenthesis and drivetrain dot drive underscore for open parenthesis reverse comma 600 comma mm close parenthesis. Di sebelah kanan adalah gambar proyek setelah dijalankan di taman bermain, menunjukkan sebuah persegi hitam dengan garis merah yang keluar darinya, yang digambar oleh robot VR.

Tantangan Mini

Dalam proyek ini, Robot VR seharusnya menggambar persegi biru pada Kanvas Seni , Taman Bermain ,, tetapi ada kesalahan dalam proyek tersebut. Edit proyek tersebut untuk menyelesaikan tantangan mini!

Taman bermain Art Canvas dengan persegi biru yang digambar oleh Robot VR.

Video di bawah ini menunjukkan langkah-langkah untuk menyelesaikan tantangan mini tersebut. Robot itu mulai dari tengah taman bermain dan menggambar keempat sisi sebuah persegi biru besar. 

Berkas video
  • Tonton video solusinya dan tinjau bagaimana Robot VR harus bergerak untuk menyelesaikan tantangan mini ini.
  • Ubah proyek Unit3Lesson2 agar sesuai dengan gambar ini, atau salin kode di bawah ini.
     
def main():
	pen.move(DOWN)
	pen.set_pen_color(RED)
	drivetrain.drive_for(FORWARD, 600, MM)
	
	for value in range(3):
		drivetrain.drive_for(FORWARD, 600, MM)
		drivetrain.turn_for(RIGHT, 90, DEGREES)
		wait (5, MSEC)
  • Mulailah proyek dan identifikasi di mana Robot VR tidak menyelesaikan perilaku yang diharapkan.
  • Ubah proyek dan jalankan proyek lagi. Periksa apakah Robot VR menyelesaikan perilaku yang diharapkan.
  • Jika Robot VR tidak menggambar persegi biru, ulangi langkah sebelumnya dan coba lagi. Lanjutkan memodifikasi dan menjalankan proyek Anda hingga Robot VR menggambar persegi biru.
  • Setelah Robot VR berhasil menggambar persegi biru di Art Canvas Playground, simpan proyek tersebut.

Selamat! Kamu berhasil menyelesaikan tantangan mini!

Pertanyaan

Silakan pilih tautan di bawah ini untuk mengakses kuis pelajaran.

Google Doc / .docx / .pdf