Lompat ke isi utama

Pelajaran 4: Menggunakan blok [Selamanya]

Memeriksa Kondisi Berulang Kali

Seperti yang diamati pada Pelajaran sebelumnya, blok [Jika maka] hanya memeriksa kondisi satu kali. Agar kondisi yang terdapat dalam blok [If then] dapat diperiksa berulang kali, diperlukan blok C [Forever]. Blok [Forever] adalah blok C dari kategori Kontrol yang mengulang perilaku yang ada di dalamnya, selamanya.

Blok VEXcode VR Forever yang kosong.
  • Muat proyek Unit7Lesson3 dari Pelajaran sebelumnya.

    Proyek blok VEXcode VR yang sama dari akhir pelajaran terakhir. Dimulai dengan blok When Started dan kemudian ada blok If Then dengan parameter boolean berupa blok Color Sensing yang bertuliskan 'Front Eye mendeteksi warna hijau?' dan blok Turn right for 90 degrees di dalam wadah If. Berikutnya ada blok if yang sama dan tumpukan blok turn tetapi diubah menjadi belok kiri sejauh 90 derajat jika warna biru terdeteksi. Berikutnya, blok if dan tumpukan blok turn yang sama digunakan tetapi diubah ke Stop Driving jika warna merah terdeteksi. Terakhir, blok if dan tumpukan blok turn yang sama digunakan tetapi diubah ke Drive Forward jika tidak ada warna yang terdeteksi.
  • Ubah nama proyek Unit7Lesson4.

    Bilah Alat VEXcode VR dengan tombol 'Nama Proyek' disorot dalam kotak merah, di sebelah kiri tombol Pilih Taman Bermain. Nama proyek ditetapkan pada Unit 7 Pelajaran 4.
  • Seret blok [Forever] ke ruang kerja dan tempelkan ke bagian atas tumpukan blok. Perhatikan bahwa ini akan mencakup keempat blok [If then] di dalam blok [Forever].

    Proyek blok VEXcode VR dari sebelumnya tetapi dengan panah yang menunjukkan penambahan blok Forever yang membungkus semua pernyataan if. Dimulai dengan blok When Started dan kemudian ada serangkaian empat pernyataan if yang dibungkus dalam blok Forever. Yang pertama adalah blok If Then dengan parameter boolean berupa blok Color Sensing yang bertuliskan 'Front Eye mendeteksi warna hijau?' dan blok Turn right sejauh 90 derajat di dalam wadah If. Berikutnya ada blok if yang sama dan tumpukan blok turn tetapi diubah menjadi belok kiri sejauh 90 derajat jika warna biru terdeteksi. Berikutnya, blok if dan tumpukan blok turn yang sama digunakan tetapi diubah ke Stop Driving jika warna merah terdeteksi. Terakhir, blok if dan tumpukan blok turn yang sama digunakan tetapi diubah ke Drive Forward jika tidak ada warna yang terdeteksi.

    Untuk Informasi Anda

    Blok dapat ditambahkan ke awal atau tengah tumpukan proyek dengan menyelaraskan bagian atas blok, dengan penempatan yang diinginkan dalam tumpukan.

    Visualisasi bagaimana blok Forever dapat diseret ke bagian atas tumpukan dan secara otomatis membungkus isi tumpukan. Proyek blok VR VEXcode sama seperti sebelumnya dan terkandung dalam putaran selamanya. Pernyataan if adalah sebagai berikut: Pertama adalah blok If Then dengan parameter boolean berupa blok Color Sensing yang bertuliskan 'Front Eye mendeteksi warna hijau?' dan blok Belok kanan sejauh 90 derajat di dalam wadah If. Berikutnya ada blok if yang sama dan tumpukan blok turn tetapi diubah menjadi belok kiri sejauh 90 derajat jika warna biru terdeteksi. Berikutnya, blok if dan tumpukan blok turn yang sama digunakan tetapi diubah ke Stop Driving jika warna merah terdeteksi. Terakhir, blok if dan tumpukan blok turn yang sama digunakan tetapi diubah ke Drive Forward jika tidak ada warna yang terdeteksi.

    Video di bawah ini menunjukkan cara menambahkan [blok Forever] di sekitar empat blok [If then] dalam proyek saat ini. Perhatikan bahwa bagian atas blok [Selamanya] sejajar setelah [Ketika dimulai] dan blok [Jika maka] pertama. Blok [Forever] kemudian membungkus semua blok berikutnya dalam tumpukan proyek.

  • Sekarang blok [Forever] telah ditambahkan ke proyek sehingga semua blok [If then] akan terus diperiksa kondisinya, buka Disk Maze Playground dan jalankan proyek.
  • Saat proyek ini dijalankan, Robot VR akan menavigasi Disk Maze Playground dari awal hingga akhir. Begitu Robot VR mendeteksi warna merah, ia akan berhenti melaju.

    Tampilan atas-bawah VR Disk Maze Playground, dengan robot VR telah melewati setiap cakram dan beristirahat di cakram merah terakhir.
  • Dalam proyek dari Pelajaran sebelumnya, kondisi dalam blok [Jika maka] hanya diperiksa satu kali. Karena kondisi dalam blok [Jika maka] hanya diperiksa satu kali, Robot VR akan terus melaju selamanya karena kondisi tidak adanya warna yang terdeteksi dilaporkan sebagai BENAR.

    Diagram aliran logika dalam proyek blok VEXcode VR kami tanpa blok forever. Panah menunjukkan bahwa setiap pernyataan if hanya dijalankan satu kali sebelum proyek berakhir, sehingga membuat proyek kita kurang responsif daripada yang kita inginkan. Proyek kami memeriksa apakah mata depan mendeteksi warna hijau, dan jika ya, ia berbelok ke kanan sejauh 90 derajat. Berikutnya, jika mata depan mendeteksi warna biru, ia berbelok ke kiri sejauh 90 derajat. Berikutnya, jika mata depan mendeteksi warna merah maka ia berhenti mengemudi. Terakhir, jika mata depan tidak mendeteksi apa pun, ia akan bergerak maju.
  • Sekarang setelah blok [Forever] ditambahkan, setiap kondisi blok [If then] C akan diperiksa berulang kali. Selama alur proyek, jika kondisi blok C [If then] adalah TRUE, blok-blok di dalam blok C [If then] akan dieksekusi. Jika kondisi blok C [If then] adalah FALSE, blok-blok di dalam blok C [If then] akan dilewati, dan aliran proyek akan berlanjut ke blok berikutnya dalam tumpukan. Hal ini memungkinkan Robot VR untuk melakukan perilaku diskret seperti berputar atau berhenti setelah mendeteksi warna tertentu.

    Diagram aliran logika proyek blok VR VEXcode di sebelah kiri yang berjalan melalui contoh robot VR pada gambar di sebelah kanan. Gambar menunjukkan robot VR mencapai cakram biru dan berbelok ke kiri. Diagram menunjukkan bahwa pernyataan if diulang terus-menerus, dan masing-masing pernyataan diperiksa setiap perulangan. Setelah mata depan tidak mendeteksi warna hijau, ia selanjutnya memeriksa warna biru yang mengembalikan nilai true dan memutar robot ke kiri sejauh 90 derajat. Setelah itu, aliran logika berlanjut ke bawah tumpukan, memeriksa warna merah dan tidak ada apa-apa.
  • Blok [Jika, maka] digunakan dengan blok [Selamanya] untuk memastikan bahwa kondisi terus diperiksa.

    Diagram aliran logika dalam proyek blok VEXcode VR kami dengan blok Forever luar disertakan. Setiap panah sekarang diberi label dengan apa yang diukur oleh perintah logika tersebut, dan panah kuning menunjukkan aliran logika yang berulang melalui setiap blok dalam loop Forever secara terus-menerus. Jelas bahwa setiap pernyataan if diperiksa pada setiap perulangan blok forever, tidak peduli apakah hasilnya benar atau salah.

Menggunakan Blok Switch 

Ini adalah blok Switch [Forever]. Perintah Switch Python untuk Forever membuat loop while yang kondisinya Benar. Perintah yang bersarang dalam loop akan diulang selamanya, karena kondisinya selalu Benar. 

Versi blok sakelar VEXcode VR dari blok Forever. Kode Python berbunyi 'while True:', yang merupakan padanan Python untuk pernyataan forever.

Pertanyaan

Silakan pilih tautan di bawah untuk mengakses kuis pelajaran.

Google Doc / .docx / .pdf