Perulangan Pemrograman - C++
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 VEXcode V5 yang akan digunakan dalam eksplorasi ini:
-
Drivetrain.driveFor(maju, 300, mm);
-
Drivetrain.turnFor(kanan, 90, derajat);
-
ClawMotor.spinFor(mundur, 70, derajat);
-
ArmMotor.spinFor(maju, 360, derajat);
-
sementara (benar) {}
-
ulangi (4) {}
-
tunggu(5, detik);
-
Untuk mengakses informasi tambahan, klik kanan pada nama perintah di ruang kerja Anda untuk melihatbantuanuntuk perintah tersebut.
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.

ArtikelPelengkapan Otomatis - Tutorialmembahas cara menggunakan fitur Pelengkapan Otomatis. Untuk informasi lebih lanjut, jelajahi video tutorial dalam VEXcode V5.

Pilih tutorial 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:
int main() { // Menginisialisasi Konfigurasi Robot. JANGAN DIHAPUS! vexcodeInit(); // Berkendara maju dan berbelok 90 derajat selama 4 iterasi repeat(4){ Drivetrain.driveFor(maju, 300, mm); Drivetrain.turnFor(kanan, 90, derajat); wait(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 (di sebelah kanan). Proyek ini akan mengulang perilaku maju dan kemudian belok sebanyak empat kali. Struktur perulangan "berulang" digunakan ketika Anda ingin menggunakan serangkaian perilaku sejumlah waktu tertentu.
Jika struktur pengulangan diganti dengan struktur perulangan "while", robot akan mengulangi perilaku maju dan kemudian berbelok "selama" kondisinya benar. Anda juga dapat menetapkan kondisi ke "benar" agar perulangan "while" terus berlanjut selamanya.
Pada proyek di sebelah kiri, 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 "BumperB" ditekan, jika tidak, robot akan terus melaju ke depan jika sensor "BumperB" tidak ditekan. Untuk terus memeriksa nilai sensor BumperB, pernyataan "if" berada dalam loop "while true".
Proyek di atas di sebelah kiri adalah contoh penggunaan praktis dari struktur yang berulang selamanya - menggunakan loop while dan pernyataan if secara 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 memberi nama proyek tersebut sebagai Penyapu Lantai.
-
Minta siswa untuk membuat proyek berikut.
// Sertakan Pustaka V5 #include "vex.h" // Memungkinkan penggunaan Pustaka VEX lebih mudah menggunakan namespace vex; // Fungsi pickRandom mengembalikan bilangan bulat acak antara nilai min dan // maks yang dilewatkan sebagai parameter. int pickRandom(int min, int max) { return min + rand() / (RAND_MAX / (max - min + 1)); } int main() { // Menginisialisasi Konfigurasi Robot. JANGAN DIHAPUS! vexcodeInit(); // Inisialisasi generator angka acak. srand(randomSeed); sementara (benar) { sementara (!BumperB.menekan()) { Drivetrain.berkendara(maju); tunggu(5, mdtk); } Drivetrain.berhenti(); Drivetrain.putarUntuk((90 + pilihAcak(0, 90)), derajat); tunggu(5, mdtk); } }
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:
int main() {
// Menginisialisasi Konfigurasi Robot. JANGAN DIHAPUS!
vexcodeInit();
repeat(4){
Drivetrain.driveFor(maju, 300, mm);
ClawMotor.spinFor(mundur, 70, derajat);
ArmMotor.spinFor(maju, 360, derajat);
ClawMotor.spinFor(maju, 70, derajat);
ArmMotor.spinFor(mundur, 360, derajat);
Drivetrain.turnFor(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.
