Ketika Anda belajar memprogram , memahami blok bangunan dasar adalah kunci keberhasilan awal. Anda akan mengambil topik yang sulit nanti, tetapi jika Anda tidak memahami tipe variabel, loop, dan fungsi, sulit untuk mendapatkan jauh.
Kebanyakan programmer baru belajar tentang pernyataan if-else , sementara loop , dan untuk loop sebelum lama. Tetapi salah satu tipe loop yang mungkin tidak Anda pahami adalah loop do-while . Mari kita diskusikan bagaimana lingkaran ini berfungsi, kapan Anda ingin menggunakannya, dan lihat beberapa contoh.
Dasar
Sebuah loop do-while mengeksekusi blok kode setidaknya sekali, memeriksa apakah suatu kondisi benar, kemudian terus menjalankan kode di dalam tergantung pada kondisi. Mari kita lihat contoh pseudocode sederhana ( karena mereka membantu Anda belajar! ):
do {
output "The variable x equals " + x;
x++;
} while (x < 5);
output "The loop has ended.";
Dalam sedikit kode ini, garis-garis di dalam do kurung selalu berjalan setidaknya sekali. Ini berarti bahwa x dapat berupa nilai apa pun pada awal pengulangan.
Jika x sama dengan 1 ketika loop dimulai, itu akan berulang sampai x tidak memenuhi kondisi di sebelah sementara . Dengan demikian, itu akan berjalan sebanyak 5 kali. Ketika x tidak kurang dari 5, loop berakhir dan berlanjut ke kode setelahnya. Output ini akan terlihat sebagai berikut:
The variable x equals 1 The variable x equals 2 The variable x equals 3 The variable x equals 4 The variable x equals 5 The loop has ended.
Sebaliknya, jika x sama dengan 20 ketika loop ini dimulai, itu hanya akan berjalan sekali. Jadi Anda akan melihat satu pernyataan output, x bertambah menjadi 21, dan loop akan berakhir karena 21 tidak kurang dari 5. Keluarannya akan:
The variable x equals 20 The loop has ended.
Kontras Dengan Sementara dan Untuk Loops
Bagaimana loop do-while berbeda dari loop lainnya? Perbedaan yang paling penting adalah bahwa do-while loop menguji suatu kondisi setelah mengeksekusi blok kode, sementara loop lain memeriksa kondisi sebelum menjalankan kode di dalamnya.
Pertimbangkan pseudocode dasar sementara ini untuk perbandingan:
x = 10;
while (x < 5) {
output "The loop has run!";
x++;
}
Di sini, x diatur ke 10 dan sementara loop memeriksa bahwa x kurang dari 5 sebelum berjalan. Karena ini, kode di dalamnya tidak pernah berjalan. Menerapkan logika yang sama ke loop do-while memberi kita sesuatu seperti ini:
x = 10;
do {
output "The loop has run!";
x++;
} while (x < 5)
Lingkaran ini akan menghasilkan teks satu kali, selisih x , lalu dilanjutkan.
Perhatikan bahwa Anda dapat menciptakan kembali fungsi do-while dengan pernyataan ekstra di depan loop sementara , seperti:
output "Hello!";
x++;
while (x < 5) {
output "Hello!";
x++;
}
Namun, ini kikuk dan tidak ada alasan untuk melakukannya ketika loop-sementara ada.
Untuk Loops
Do-while loop memiliki perbedaan yang sama dengan untuk loop. A for loop mendefinisikan variabel, menentukan berapa lama loop harus dijalankan, dan menetapkan perilaku untuk setiap akhir iterasi.
Berikut adalah sederhana untuk loop untuk perbandingan:
for (int i = 0; i < 5; i++) {
output "The loop has run " + i + " times.";
}
Ini menyoroti kontras yang baik antara do-while dan untuk loop – Anda tahu persis berapa kali untuk lingkaran akan berjalan karena Anda mengatur kondisi di awal. Jika Anda mengubah kode di atas menjadi lingkaran do-while seperti ini:
do {
output "The loop has run " + i + " times.";
i++;
} while (i < 5);
Anda bisa berakhir dengan masalah ketika loop berjalan. Jika Anda tidak menginisialisasi saya di tempat lain, Anda tidak tahu berapa nilainya ketika porsi do berjalan – dan itu akan berjalan setidaknya sekali. Jika saya 500 ketika loop ini berlari, output di sini tidak akurat.
Kesimpulan:
- Sebuah lingkaran do-while berguna ketika Anda ingin menjalankan perintah setidaknya sekali, dan terus-menerus sampai kondisi adalah palsu.
- Sebuah loop sementara memungkinkan Anda mengulangi blok kode selama kondisi benar, dan berhenti secepat kondisi tidak lagi benar.
- A for loop memungkinkan Anda menentukan dengan pasti berapa kali loop harus berjalan dengan mengatur parameter Anda sendiri.
Meninggalkan Do-While Loop
Tentu saja, Anda harus memiliki kondisi keluar untuk loop do-while sama seperti yang lain. Jika tidak, Anda bisa berakhir dengan putaran tak terbatas. Pertimbangkan cuplikan berikut:
x = 5;
do {
output "This never ends!";
} while (x < 10);
Jika Anda tidak menambah x di tempat lain dalam kode, maka loop ini akan berjalan selamanya. Sekarang, terkadang loop yang tidak terbatas berguna karena programmer menyiapkan kode untuk keluar dari loop di tempat lain. Tapi lebih sering daripada tidak, coders pemula mengalami loop tak terbatas secara tidak sengaja .
Berikut ini contoh loop infinite yang sesuai. Katakanlah Anda sedang merancang gim dimana pengguna menggulirkan dadu dan harus mendapatkan 6 untuk meninggalkan pangkalan. Anda ingin terus menggulung mati sampai jatuh pada 6, dan Anda jelas harus menggulung setidaknya sekali. Dengan demikian, Anda bisa menggunakan kode ini:
do {
int roll = random(1, 2, 3, 4, 5, 6);
if (roll == 6)
break;
} while (true);
The sementara (benar) kondisi berarti bahwa lingkaran ini akan berjalan selamanya, yang kita inginkan karena pengguna harus menggulung sampai dia mendapat 6. Tanpa istirahatpernyataan, itu akan terjebak. Namun begitu pengguna menggulirkan angka 6, pernyataan if menjadi benar, dan urutannya pecah dari loop dan bergerak ke atas apa yang terjadi sesudahnya.
Anda tidak perlu menggunakan pernyataan istirahat jika Anda tidak mau. Bahkan, mungkin lebih baik untuk menghindari pernyataan break jika Anda bisa. Mereka membuat kode Anda lebih sulit untuk dipertahankan, dan berakhir pada kondisi lebih mudah untuk melacak. Dengan demikian, kode yang dimodifikasi di bawah ini mencapai tujuan yang sama:
do {
int roll = random(1, 2, 3, 4, 5, 6);
} while (roll != 6);
A Bad Infinite Loop
Lingkaran tak terbatas yang Anda miliki rencana untuk keluar adalah baik-baik saja. Tetapi terkadang Anda secara tidak sengaja membuat lingkaran tak terbatas, seperti pada contoh di bawah ini:
int x = 7;
do {
x = 1;
x = x + 2;
output "x equals " + x;
} while (x < 10);
Ini mungkin terlihat seperti penambahan x 2 setiap loop dan mengulangi sampai x tidak kurang dari 10, tetapi terlihat lebih dekat. Karena loop menetapkan x sama dengan 1 setiap kali itu berjalan, ini adalah loop tak terbatas. Perhatikan bahwa x = 1 dan x = x + 2 berarti bahwa x selalu 3 di ujung blok tidak peduli berapa kali ini berjalan, artinya x tidak pernah kurang dari 10.
Perhatikan pernyataan di dalam lingkaran Anda yang secara tidak sengaja mengubah variabel setiap kali berjalan untuk menghindari situasi seperti ini.
Contoh Nyata-Dunia
Kami telah membahas beberapa contoh hipotetis di atas, tetapi mari kita lihat sekilas beberapa contoh dunia nyata yang berguna dari loop do-while.
Jika Anda membuat loop untuk membaca data dari file hingga mencapai akhir, Anda akan menggunakan loop do-while. Jelas Anda harus mengambil setidaknya satu karakter jika Anda berencana untuk membaca dari file, sehingga Anda dapat menggunakan loop do-while seperti ini ( terima kasih kepada pengguna Stack Exchange Steven Burnap untuk contoh ini):
do {
result = readData(buffer);
} while (result != EOF);
Tanpa Anda lakukan, Anda harus menggunakan solusi yang sedikit lebih buruk:
while (true) {
result = readData(buffer);
if (result == EOF)
break;
}
Contoh lain melibatkan mengambil input dari seorang pengguna. Katakanlah Anda menulis program yang meminta pengguna memasukkan angka positif. Dengan menggunakan do-while, Anda dapat memastikan bahwa masukan mereka sesuai:
do {
output "Please enter a positive number:";
int input = getInput();
} while (input < 0);
Dengan loop ini, pengguna melihat prompt untuk memasukkan nomor dan memasukkan nilai satu kali. Jika mereka memasukkan angka negatif, loop berjalan lagi dan mereka diminta untuk memasukkan angka positif sampai mereka mematuhinya. Loop lain tidak masuk akal untuk jenis tindakan ini.
Siap Menggunakan Do-While Loops?
Kami telah melakukan survei terhadap loop yang dilakukan, termasuk prinsip-prinsip dasar mereka, cara terbaik menggunakannya, dan bagaimana mereka dibandingkan dengan loop lainnya. Jika Anda tidak ingat apa-apa lagi dari artikel ini, ketahuilah bahwa loop do-while adalah ketika Anda perlu menjalankan sesuatu setidaknya sekali, tetapi tidak tahu berapa kali Anda membutuhkannya sebelum memulai pengulangan .
Pikirkan tentang situasi seperti ini di program Anda, dan Anda akan dengan mudah menemukan tempat-tempat di mana loop-pas cocok. Hampir semua bahasa pemula terbaik mendukung loop do-while, jadi Anda tidak akan kesulitan mengimplementasikannya.
Jika Anda mempelajari dasar-dasar, pastikan Anda meninjau trik teratas kami untuk menguasai bahasa pemrograman baru .
Situasi lain apa yang dapat Anda pikirkan tentang di mana suatu hal-hal yang masuk akal? Diskusikan dan beri tahu kami jika Anda menggunakan do-while loop di program Anda di bagian komentar!
Sumber https://indoint.com/
0 comments:
Post a Comment