Halo dan selamat datang. Dalam kuliah ini, saya ingin berbicara tentang loop bersarang dan kontrol loop.
Loop bersarang, loop di dalam loop, kontrol loop berkaitan dengan
pernyataan break dan continue.
Jadi loop bersarang.
Ada kalanya Anda ingin menempatkan satu loop di dalam loop lain.
Masuk akal.
Jadi misalnya, Anda
mungkin ingin menghitung jumlah penghuni di setiap rumah di jalan.
Jadi apa yang akan Anda lakukan adalah Anda akan memiliki lingkaran luar di mana Anda melangkah dari rumah ke rumah.
Dan kemudian setiap rumah tempat Anda berada, Anda akan menghitung jumlah penghuninya.
Jadi saya harap Anda dapat memvisualisasikan atau memahami bagaimana itu bisa menjadi loop bersarang.
Sekali lagi, lingkaran luar untuk melewati semua rumah.
Dan kemudian untuk setiap pengulangan lingkaran luar setiap rumah yang Anda temui, Anda akan masuk
ke dalam rumah dan membuat lingkaran untuk menghitung semua orang.
Jadi itu semacam kasus penggunaan kecil ketika Anda ingin benar-benar
memanfaatkan loop bersarang di c.
Berikut ini contoh. Sepertinya Anda pikir itu
akan terlihat lingkaran di dalam lingkaran benar-benar tidak terlalu rumit.
Dalam contoh ini, kami menggunakan for loop for.
Loop bagus karena kita dapat menginisialisasi variabel kontrol loop,
memeriksa kondisi kita dan variabel kontrol loop modifikasi kita semua dalam satu baris.
Jadi lingkaran luar ini dan menyebutnya sebagai lingkaran dalam luar.
Lingkaran luar persis seperti yang tersirat. Ini lingkaran di luar.
Dan Anda dapat memiliki banyak, banyak lapisan bersarang yang berbeda. Anda bisa memiliki banyak
loop dalam.
Dalam hal ini, kita akan melalui dan itu
adalah loop yang dikontrol balik, kita mulai dari satu dan kita akan terus menghitung.
Kami tidak tahu hitungan apa yang ada di sini, tidak masalah.
Di badan perulangan for, kita katakan jumlah sama dengan 0. Kami menginisialisasi jumlah untuk loop dalam.
Dan kemudian di dalam loop dalam, kita melihat loop for lainnya untuk dan j sama dengan 1, j
kurang dari sama dengan I dan plus plus j. Kami kemudian mengatakan jumlah ditambah sama dengan j.
Kami menghitung jumlah bilangan bulat dari 1 hingga I.
Jadi yang sebenarnya dilakukan adalah Anda memasukkan angka 5.
Dan untuk iterasi pertama dari loop, Anda
menjumlahkan 1 2 3 4 dan 5.
Untuk iterasi loop berikutnya,
Anda menjumlahkan 2 3 4 5.
Untuk pengulangan ketiga, Anda menjumlahkan 3 4 5 dan seterusnya.
Jadi loop dalam diperlukan terutama hanya berdasarkan kasus penggunaan, hanya loop di
dalam loop dengan sempurna.
Anda akan melihatnya sedikit.
Jangan menghindar darinya. Bergantung pada apa yang perlu Anda lakukan dan masalah apa yang ingin
Anda pecahkan, ini sering digunakan sedikit.
Dan sampai saat itu, tidak selalu perulangan for di dalam perulangan for, Anda dapat memiliki
perulangan while di dalam perulangan for. Anda bisa melakukan perulangan while di dalam perulangan
for, itu tidak masalah.
Jadi dalam contoh
ini, contoh yang sama persis kecuali sekarang di dalam tubuh for
loop, kita memiliki loop bersarang loop dalam yang disebut menggunakan kata kunci while.
Jadi kita masih menghitung beberapa bilangan bulat dari 1 sampai I.
Kami memiliki beberapa inisialisasi di luar loop while.
Kami memiliki kondisi di dalam cek while,
dan kami memiliki jumlah kami di dalam tubuh loop while
di mana kami dimodifikasi itu adalah variabel kontrol loop yang kami modifikasi.
Jadi jumlah plus sama dengan dan kemudian kami memodifikasi variabel kontrol loop dengan plus plus j.
Jadi jika kita tidak memodifikasi plus plus j, kita akan memiliki infinite loop untuk while loop.
Tapi itu melakukan output yang sama, itu hanya menggunakan loop sementara sebagai loop bersarang alih-alih untuk loop.
Jadi sarang tidak benar-benar berbeda dari saat Anda membuat sarang apa pun.
Anda bersarang jika pernyataan, jika pernyataan di dalam pernyataan if,
pernyataan loop bersarang loop di dalam loop.
Untuk menjauh dari konsep loop
bersarang, mari kita bicara tentang pernyataan continue.
Sampai saat ini ketika kita berbicara tentang
loop, kita selalu mengeksekusi loop beberapa kali berdasarkan kondisi keluar,
ekspresi Boolean yang bernilai false.
Namun, ada kalanya Anda ingin secara khusus mengakhiri perulangan lebih awal
atau Anda ingin melanjutkan perulangan perulangan
berikutnya tanpa melakukan apapun.
Dalam kasus terakhir melanjutkan tanpa melakukan apa pun,
pada dasarnya melewatkan, Anda dapat
menggunakan pernyataan lanjutkan untuk melakukan ini.
Jadi pernyataan continue di badan perulangan melakukan hal berikut.
Dan pertama-tama, jika Anda ingin memulai ini, yang harus Anda lakukan adalah meletakkan kata
kunci continue diikuti oleh titik koma di badan perulangan.
Tapi yang akan dilakukannya adalah pada dasarnya
melewatkan iterasi itu. Jadi continue apapun di
bawah continue tidak akan dieksekusi jika berada di dalam badan perulangan.
Jadi terus berkali-kali kita ingin berada di atas loop
berdasarkan beberapa kondisi, biasanya dibungkus dengan pernyataan if.
Jika ini terjadi pada situasi khusus, saya tidak ingin mengeksekusi
kode apa pun di badan perulangan, lewati
saja iterasi ini dan periksa di lain waktu.
Dan sekali lagi, ini sedikit membingungkan karena Anda melewatkan satu iterasi dan melompat-lompat, tetapi ini
valid, dan ini adalah cara untuk melakukan beberapa pemeriksaan.
Jadi meskipun Anda memiliki kondisi keluar loop di dalam ekspresi Boolean Anda,
Anda dapat memiliki pemeriksaan lain.
Dan pemeriksaan itu tidak akan melompat keluar dari lingkaran, tetapi
akan melewati sebuah iterasi.
Jadi itu digunakan lagi untuk kasus ketika Anda ingin melewati iterasi. Keuntungannya adalah Anda dapat
menggunakan terus dan itu akan menghilangkan banyak sarang.
Ini juga akan menghilangkan banyak pernyataan if tambahan di dalam blok loop Anda.
Jadi ini dapat meningkatkan keterbacaan ketika
pernyataan sangat panjang atau Anda memiliki sarang yang dalam.
Jadi jika Anda menemukan Anda melakukan banyak sarang.
Anda mungkin ingin mengatakan ya mungkin saya bisa menggunakan continue sebagai gantinya.
Atau jika Anda menemukan bahwa Anda memiliki banyak
pernyataan if yang melakukan hal-hal tertentu di dalam badan perulangan, mungkin Anda ingin melanjutkan.
Jangan gunakan lanjutkan jika rumit daripada menyederhanakan kode.
Jangan gunakan lanjutkan jika Anda tidak tahu apa yang Anda lakukan.
Berikut contoh lanjutannya.
Dalam contoh ini, kami membuat enum tipe hari baru, dan
kami mengatakan bahwa nilai yang valid adalah Senin Selasa Rabu Kamis Jumat Sabtu Minggu.
Dan kemudian kami memiliki for loop di mana kami menginisialisasi enum
kami ke Senin, dan kami mengatakan
selama hari kurang dari sama dengan Minggu, itu adalah kondisi
untuk keluar dan kemudian kami mengatakan plus plus hari.
Anda mungkin bertanya pada diri sendiri pertanyaan bagaimana kami menambah enum?
Nah, ingat bahwa enum di bawah tenda adalah bilangan bulat.
Jadi Anda bisa mengatakan plus plus day pada enum dan itu hanya akan menambahnya ke yang berikutnya.
Ingat, Senin sama dengan 0, Selasa sama dengan 1,
Rabu sama dengan 2, itu semua urutan daftarnya.
Jadi sangat baik untuk menambah enum.
Dalam loop for ini jika hari Rabu, kami
ingin melewatkannya. Kami tidak ingin melakukan apa pun. Kami tidak ingin mencetak.
Jadi kami katakan lanjutkan. Jika hari sama dengan hari
Rabu, lanjutkan. Ini akan melewati garis cetak. Ini akan kembali ke
atas loop, dan itu akan mengeksekusi iterasi berikutnya.
Dan kemudian akan menjadi hari Kamis.
Ini tidak akan sama dengan hari Rabu, jadi tidak akan dilewati.
Ini akan langsung turun dan mencetak itu bukan hari Rabu.
Jadi ini adalah kasus penggunaan yang umum, contoh umum penggunaan continue, sintaks yang sangat mudah digunakan, hanya kata
kunci sederhana yang diikuti dengan titik koma.
Kasus lain di mana Anda mungkin ingin melakukan sesuatu yang aneh dalam pengulangan
adalah jika Anda ingin keluar lebih awal.
Jadi biasanya setelah body loop dimasukkan, sebuah
program akan mengeksekusi semua pernyataan di body loop dan untuk
setiap iterasi dan kemudian akan memeriksa dan melompat keluar.
Dan kita tahu cara kerja lanjutan yang melakukan lompatan yang sedikit berbeda.
Ada pernyataan lain yang dapat mengubah eksekusi semua pernyataan dalam loop,
yang disebut break.
Dan ini seharusnya agak familiar karena kita menggunakan kata kunci break ketika kita berbicara
tentang pernyataan switch.
Ingat, ketika kami memiliki kasus kami, kami akan memecahkan kasus seperti itu.
Nah, Anda juga bisa menggunakan kata kunci break di dalam sebuah loop.
Dan apa yang akan dilakukan adalah itu hanya akan melompat keluar dari lingkaran.
Jadi pernyataan break akan menyebabkan program segera keluar dari loop, sedang dieksekusi.
Pernyataan dalam loop dilewati dan eksekusi loop dihentikan.
Jadi Anda hanya melompat keluar dari lingkaran.
Anda mengeksekusi lebih awal. Jika pernyataan break ada di dalam loop bersarang, itu hanya
akan memengaruhi loop terdalam, yang berisi itu. Anda hanya akan melompat keluar dari lingkaran di mana Anda berada.
Dan untuk melakukan ini, Anda menggunakan kata kunci break diikuti dengan titik koma.
Break sering digunakan untuk meninggalkan loop ketika ada 2 alasan terpisah untuk pergi.
Jadi sebelumnya saya menyebutkan bahwa Anda mungkin memiliki alasan lain di mana Anda ingin melewatkan
sebuah iterasi, tetapi jika ada 2 alasan, 2 kondisi di mana Anda ingin melompat keluar dari lingkaran,
Anda dapat menggunakan break.
Jika Anda hanya memiliki
satu kondisi, maka itu hanya kondisinya, di dalam loop itu sendiri, di dalam
tanda kurung while atau sebelum titik koma kedua di loop for.
Break juga digunakan dalam pernyataan switch, seperti yang saya sebutkan.
Jadi saya hanya ingin mengingatkan Anda itu. Jangan buat mereka bingung.
Padahal pada dasarnya mereka melakukan hal yang sama. Mereka melompat keluar dari kode.
Melanggar pernyataan sakelar akan melompat keluar dari pernyataan
sakelar itu sepenuhnya, memutus satu lingkaran akan melompat keluar dari lingkaran itu.
Nah, inilah contohnya. Kami memiliki loop sementara.
Kami sedang mencetak beberapa bilangan bulat.
Kami membaca dalam beberapa bilangan bulat. Kami memiliki loop while bersarang.
Di dalam loop while bersarang, kami memeriksa
apa yang dimasukkan. Dan jika lebih besar dari 100,
kami ingin melompat keluar dari lingkaran dalam itu. Jadi kita lakukan.
Kemudian di loop luar, kita harus melakukan pemeriksaan lagi. Jika lebih besar dari 100, kita keluar
dari lingkaran luar itu.
Jika Anda tidak memiliki istirahat kedua, Anda tidak akan pernah melompat keluar dari lingkaran luar kedua.
Jadi dalam hal ini, ini mengingatkan saya pada tempat di mana Anda bisa menggunakan go to.
Bayangkan jika Anda memiliki 5 nesting, 5 layer nesting, while loop di dalam while loop
di dalam while loop di dalam while loop di dalam while loop.
Jika Anda hanya akan menggunakan break untuk mencoba melompat keluar
dari loop, Anda akan memiliki semua pernyataan if ini di setiap loop untuk melompat keluar.
Alih-alih melakukan semua pernyataan if itu,
Anda bisa mencobanya. Go to akan melompat keluar dari semua loop status loop dalam satu perintah tunggal.
Jadi itu adalah kasus penggunaan untuk dikunjungi. Namun dalam kasus ini, kami
hanya mendemonstrasikan jeda dan memastikan Anda memahami bahwa Anda baru
saja keluar dari lingkaran di mana Anda berada.
Dan dalam kasus ini, kami memutuskan 2 loop.
Jadi ini adalah 2 contoh, 2 kata kunci di mana Anda pada dasarnya tidak dapat mengulangi kode
dari apa yang Anda harapkan.
Jadi, jika Anda pernah melihat jeda atau melanjutkan dalam loop, pastikan
Anda memahami apa yang terjadi karena
Anda mungkin tidak mengeksekusi kode tertentu yang menurut Anda akan dieksekusi.
Sekali lagi, biasanya dibungkus dalam kondisi if. Jadi Anda bisa melihatnya
seperti itu, tetapi Anda juga ingin memberikan komentar yang baik saat Anda menggunakan break atau continue.
Semoga ini membantu. Dalam kuliah berikutnya, kita akan
melakukan tantangan di mana kita akan dapat memanfaatkan
loop ini dan itu akan mendemonstrasikan dan membantu Anda mempelajari semua tentang while untuk loop dan
break dan melanjutkan. Terima kasih.