Perulangan Pemrograman - Python
Kotak Alat Guru
-
Garis Besar Aktivitas
-
Eksplorasi ini akan memperkenalkan siswa pada pemrograman perilaku berulang dengan menggunakan perulangan berulang atau selamanya.
Clawbot V5 siap bergerak!
Eksplorasi ini akan memberi Anda alat untuk dapat mulai membuat beberapa proyek menarik yang menggunakan loop.
- Instruksi Python VEXcode V5 yang akan digunakan dalam eksplorasi ini:
- drivetrain.drive_for(MAJU, 300, MM)
- drivetrain.turn_for(KANAN, 90, DERAJAT)
- claw_motor.spin_for(REVERSE, 70, DERAJAT)
- arm_motor.spin_for(MAJU, 360, DERAJAT)
- bumper_b.menekan()
- sementara Benar:
- untuk repeat_count dalam rentang(4):
- tunggu(5, DETIK)
Anda dapat menggunakan informasi Bantuan di dalam VEXcode V5 untuk mempelajari tentang perintahPythonindividual.

Tips Guru
-
Menggunakan Pelengkapan Otomatis
Pelengkapan otomatis adalah fitur dalam VEXcode V5 yang memprediksi sisa perintah yang sedang Anda ketik. Saat siswa mengerjakan VEXcode V5, dorong mereka untuk menggunakan fitur Pelengkapan Otomatis untuk membantu sintaksis Python. Anda mungkin memperhatikan fungsi pelengkapan otomatis saat Anda mulai mengetik instruksi. Gunakan tombol “Atas” dan “Bawah” untuk memilih nama yang Anda inginkan, lalu tekan “Tab” atau (Enter/Return) pada keyboard Anda untuk membuat pilihan. Untuk informasi lebih lanjut tentang penggunaan Pelengkapan Otomatis

Pastikan Anda telah mengunduh dan menyiapkan perangkat keras yang diperlukan, buku catatan teknik, dan VEXcode V5.
| Kuantitas | Bahan-bahan yang Dibutuhkan |
|---|---|
| 1 |
Kit Pemula Kelas VEX V5 (dengan firmware terbaru) |
| 1 |
VEXcode V5 (versi terbaru, Windows, macOS) |
| 1 |
Buku Catatan Teknik |
| 1 |
Contoh proyek Template Clawbot (Drivetrain 2-motor, Tanpa Gyro) |
Langkah 1: Mari mulai pemrograman dengan loop
- Sebelum Anda memulai proyek Anda, pilih proyek templat yang benar. Proyek contoh Clawbot Template (Drivetrain 2-motor, Tanpa Gyro) berisi konfigurasi motor Clawbot. Jika templat tidak digunakan, robot Anda tidak akan menjalankan proyek dengan benar.
-
PilihFiledanBuka Contoh.

-
Gulir melalui berbagai proyekContoh. Proyek ini menunjukkan berbagai tindakan yang dapat dilakukan Clawbot Anda. Pilih dan buka proyek contohClawbot Template (Drivetrain 2-motor, Tanpa Gyro).

-
Beri nama proyek RepeatingActions.
-
Ketik kode berikut:
# Pustaka mengimpor dari vex import * # Kode awal proyek # Berkendara maju sejauh 300mm berbelok 90 derajat selama 4 iterasi untuk repeat_count dalam rentang(4): drivetrain.drive_for(MAJU, 300, MM) drivetrain.turn_for(KANAN, 90, DERAJAT) tunggu(5, DETIK)
Periksa proyek tersebut dan kemudian lakukan hal berikut di buku catatan teknik Anda.
-
Prediksikan apa yang akan dilakukan Clawbot dalam proyek tersebut. Jelaskan lebih dari sekadar fakta bahwa proyek tersebut berulang.
Apa yang diulangnya? Apa yang dilakukan Clawbot?
- Tuliskan prediksi Anda, tetapi jangan membagi proyek pendek tersebut menjadi lebih dari dua bagian.
Kotak Alat Guru
-
Jawaban
-
Proyek ini akan meminta robot: melaju ke depan sejauh 300 milimeter, berbelok ke kanan 90 derajat, dan kemudian menunggu selama 5 detik sebanyak 4 kali untuk melengkapi sebuah persegi. Daripada menggunakan 3 instruksi yang sama sebanyak 4 kali, instruksi berulang mengurangi jumlahnya menjadi hanya 1 kali. Instruksi pengulangan mengulang tindakan melaju maju dan kemudian berbelok.
-
Prediksinya mungkin hanya "Clawbot bergerak dalam bentuk kotak." Ini akan menjadi cara yang ringkas untuk menangkap gerakan Clawbot yang berulang tanpa disertai konteks apa pun.
Buku catatan teknik siswa dapat dipelihara dan diberi skorsecara individuatau sebagaitim. Tautan sebelumnya menyediakan rubrik yang berbeda untuk setiap pendekatan. Setiap kali rubrik disertakan dalam perencanaan pendidikan, praktik yang baik adalah menjelaskan rubrik tersebut atau setidaknya memberikan salinannya kepada siswa sebelum kegiatan dimulai.
-
Simpan, unduh, dan jalankanproyek Tindakan Berulang.
- Periksa penjelasan Anda tentang proyek di buku catatan teknik Anda dan tambahkan catatan untuk memperbaikinya bila diperlukan.
Langkah 2: Jalankan proyek dan amati robotnya

Lihat lagi proyek Tindakan Berulang (proyek kedua). Proyek ini akan mengulang perilaku maju dan kemudian belok sebanyak empat kali. Struktur perulangan "berulang" (menggunakan perulanganuntuk) digunakan ketika Anda ingin menggunakan serangkaian perilaku sejumlah waktu tertentu.
Jika struktur pengulangan diganti dengan struktur perulangan sementara , robot akan mengulangi perilaku maju dan kemudian berbelok "selama" kondisinya benar. Anda juga dapat menetapkan kondisi ke "benar" agar putaransementara terus berlanjut selamanya.
Pada proyek pertama, masukan sensor digunakan untuk menentukan kapan harus mulai berputar. Proyek di sebelah kanan menggunakan jarak Drivetrain tetap untuk menentukan kapan harus mulai berbelok.
Untuk terus memeriksa masukan sensor, pernyataan if else digunakan bersama dengan loop while. Pada proyek di sebelah kiri, robot akan berbelok ke kanan saat sensor "bumper_b" ditekan, jika tidak, robot akan terus melaju ke depan jika sensor "bumper_b" tidak ditekan. Untuk terus menerus mengecek nilai sensor bumper_b, pernyataan if ada dalam loop while
Proyek pertama adalah kasus penggunaan praktis dari suatu struktur yang berulang selamanya – menggunakan loopwhiledan pernyataanifsecara bersamaan. Bayangkan sebuah penyapu jalan otomatis yang terus melaju ke depan hingga menabrak tembok atau benda, lalu berbelok sebelum melanjutkan perjalanan.
Perluas Pembelajaran Anda
Untuk mengeksplorasi lebih jauh cara menggunakan loop dengan kondisional, mintalah siswa membuat proyek Floor Sweeper di VEXcode V5.
- Mulailah dengan meminta siswamemasang dan menyambungkan sakelar bumper.
-
Minta siswa untuk membuka proyek contohClawbot Template (Drivetrain 2-motor, Tanpa Gyro).

- Mintalah siswa mengonfigurasi Sakelar Bumper 3-Kabel di VEXcode V5, pilih Perangkat 3-kabel yang Anda gunakan untuk BUMPER, dan pilih port ke B.


-
Mintalah siswa memberi nama proyek tersebut sebagai Penyapu Lantai.
-
Minta siswa untuk membuat proyek berikut.
# Pustaka mengimpor dari vex import * import random # Mulai kode proyek while True: while (bukan bumper_b.pressing()): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() #Metode random.randomint() mengembalikan bilangan bulat acak di antara rentang yang ditentukan #Lewati nilai min dan maks dari rentang tersebut ke parameter drivetrain.turn_for(RIGHT, (90+random.randint(0, 90)),DEGREES) wait(5, MSEC)
Jika siswa memerlukan bantuan dengan instruksi apa pun, rujuk mereka ke informasiBantuan
Minta siswa untukmengunduh dan menjalankan proyekuntuk mengamati bagaimana robot bergerak. Kemudian, mulailah diskusi kelas dan minta siswa menjelaskan mengapa struktur forever digunakan, bukan struktur pengulangan.
Siswa harus memperhatikan bahwa struktur forever digunakan karena proyek ini terus-menerus memeriksa apakah sakelar bumper ditekan.
Langkah 3: Tantangan Lingkaran Kuadrat!

- Biarkan Clawbot Anda melaju dalam bentuk persegi.
- Sebelum setiap putaran, cakar harus dibuka dan ditutup, dan lengan harus dinaikkan dan diturunkan.
- Clawbot tidak dapat melaju sepanjang sisi alun-alun lebih dari satu kali.
- Anda dapat menggunakan proyek RepeatingActions dari atas sebagai titik awal tetapi simpan sebagaiSquaredLoopssebelum membuat perubahan apa pun.
Dalam buku catatan teknik Anda, rencanakan hal berikut ini:
- Rencanakan solusi Anda dan prediksi apa yang akan dilakukan Clawbot sesuai dengan setiap instruksi dalam proyek Anda.
- Unduh dan jalankanproyek Anda untuk mengujinya sebelum mengirimkannya.
- Lakukan perubahan pada proyek sesuai kebutuhan dan catat apa saja yang diubah selama pengujian.
Kotak Alat Guru
-
Solusi
Berikut ini adalah solusi potensial untuk Tantangan Squared Loops:
# Pustaka mengimpor
dari vex import *
# Mulai kode proyek
untuk repeat_count dalam rentang(4):
drivetrain.drive_for(MAJU, 300, MM)
claw_motor.spin_for(BALIK, 70, DERAJAT)
arm_motor.spin_for(MAJU, 360, DERAJAT)
claw_motor.spin_for(MAJU, 70, DERAJAT)
arm_motor.spin_for(BALIK, 360, DERAJAT)
drivetrain.turn_for(KANAN, 90, DERAJAT)
wait(5, MSEC)Anda dapat menyediakan siswa dengan rubrik pemrogramanuntuk menilai proyek mereka.
Buku catatan teknik siswa dapat dikelola dan dinilaisecara individuatau sebagaitim.
