C++ while dan do... while Loop
C++ while dan do... while Loop
Dalam tutorial ini, kita akan mempelajari penggunaan while dan do... while loop dalam pemrograman C++ dengan bantuan beberapa contoh.
Dalam pemrograman komputer, loop digunakan untuk mengulang blok kode.
Sebagai contoh, katakanlah kita ingin menampilkan pesan sebanyak 100 kali. Kemudian alih-alih menulis pernyataan print 100 kali, kita bisa menggunakan loop.
Itu hanya contoh sederhana; kami dapat mencapai lebih banyak efisiensi dan kecanggihan dalam program kami dengan memanfaatkan pengulangan secara efektif.
Ada 3 jenis loop dalam C++.
for lingkaran
while lingkaran
do...while lingkaran
Pada tutorial sebelumnya, kita telah mempelajari tentang C++ for loop. Di sini, kita akan belajar tentang while dan do...while loop.
C++ while Loop
Sintaks dari while lingkarannya adalah:
while (condition) {
// body of the loop
}
Di sini,
- Sebuah
while loop mengevaluasi condition
- Jika
condition mengevaluasi ke true , kode di dalam while loop dijalankan.
condition dievaluasi lagi.
- Proses ini berlanjut hingga
condition adalah false .
- Saat
condition mengevaluasi ke false , loop berakhir.
Untuk mempelajari lebih lanjut tentang conditions , kunjungi Operator Relasional dan Logika C++.
Flowchart dari Perulangan while
Contoh 1:Tampilkan Angka dari 1 hingga 5
// C++ Program to print numbers from 1 to 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
// while loop from 1 to 5
while (i <= 5) {
cout << i << " ";
++i;
}
return 0;
}
Keluaran
1 2 3 4 5
Berikut adalah cara kerja program.
| Iterasi | Variabel | aku <=5 | Tindakan |
| pertama | i = 1 | true |
1
dicetak dan i ditingkatkan menjadi 2 . |
| ke-2 | i = 2 | true |
2
dicetak dan i ditingkatkan menjadi 3 . |
| 3 | i = 3 | true |
3
dicetak dan i ditingkatkan menjadi 4 |
| 4 | i = 4 | true |
4
dicetak dan i ditingkatkan menjadi 5 . |
| 5 | i = 5 | true |
5
dicetak dan i ditingkatkan menjadi 6 . |
| 6 | i = 6 | false | Perulangan dihentikan |
Contoh 2:Jumlah Bilangan Positif Saja
// program to find the sum of positive numbers
// if the user enters a negative number, the loop ends
// the negative number entered is not added to the sum
#include <iostream>
using namespace std;
int main() {
int number;
int sum = 0;
// take input from the user
cout << "Enter a number: ";
cin >> number;
while (number >= 0) {
// add all positive numbers
sum += number;
// take input again if the number is positive
cout << "Enter a number: ";
cin >> number;
}
// display the sum
cout << "\nThe sum is " << sum << endl;
return 0;
}
Keluaran
Enter a number: 6
Enter a number: 12
Enter a number: 7
Enter a number: 0
Enter a number: -2
The sum is 25
Dalam program ini, pengguna diminta untuk memasukkan nomor, yang disimpan dalam variabel number .
Untuk menyimpan jumlah angka, kami mendeklarasikan variabel sum dan inisialisasi ke nilai 0 .
while loop berlanjut sampai pengguna memasukkan angka negatif. Selama setiap iterasi, nomor yang dimasukkan oleh pengguna ditambahkan ke jumlah variabel.
Ketika pengguna memasukkan angka negatif, loop berakhir. Akhirnya, jumlah total ditampilkan.
C++ lakukan...sementara Loop
do...while loop adalah varian dari while loop dengan satu perbedaan penting:isi do...while loop dieksekusi sekali sebelum condition diperiksa.
Sintaksnya adalah:
do {
// body of loop;
}
while (condition);
Di sini,
- Tubuh loop dieksekusi terlebih dahulu. Kemudian
condition dievaluasi.
- Jika
condition mengevaluasi ke true , badan perulangan di dalam do pernyataan dieksekusi lagi.
condition dievaluasi sekali lagi.
- Jika
condition mengevaluasi ke true , badan perulangan di dalam do pernyataan dieksekusi lagi.
- Proses ini berlanjut hingga
condition mengevaluasi ke false . Kemudian loop berhenti.
Flowchart do... while Loop
Contoh 3:Menampilkan Angka dari 1 hingga 5
// C++ Program to print numbers from 1 to 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
// do...while loop from 1 to 5
do {
cout << i << " ";
++i;
}
while (i <= 5);
return 0;
}
Keluaran
1 2 3 4 5
Berikut adalah cara kerja program.
| Iterasi | Variabel | aku <=5 | Tindakan |
| | i = 1 | tidak dicentang |
1
dicetak dan i ditingkatkan menjadi 2 |
| pertama | i = 2 | true |
2
dicetak dan i ditingkatkan menjadi 3 |
| ke-2 | i = 3 | true |
3
dicetak dan i ditingkatkan menjadi 4 |
| 3 | i = 4 | true |
4
dicetak dan i ditingkatkan menjadi 5 |
| 4 | i = 5 | true |
5
dicetak dan i ditingkatkan menjadi 6 |
| 5 | i = 6 | false | Perulangan dihentikan |
Contoh 4:Jumlah Bilangan Positif Saja
// program to find the sum of positive numbers
// If the user enters a negative number, the loop ends
// the negative number entered is not added to the sum
#include <iostream>
using namespace std;
int main() {
int number = 0;
int sum = 0;
do {
sum += number;
// take input from the user
cout << "Enter a number: ";
cin >> number;
}
while (number >= 0);
// display the sum
cout << "\nThe sum is " << sum << endl;
return 0;
}
Keluaran 1
Enter a number: 6
Enter a number: 12
Enter a number: 7
Enter a number: 0
Enter a number: -2
The sum is 25
Di sini, do...while loop berlanjut sampai pengguna memasukkan angka negatif. Ketika angkanya negatif, loop berakhir; angka negatif tidak ditambahkan ke sum variabel.
Keluaran 2
Enter a number: -6
The sum is 0.
Tubuh do...while loop hanya berjalan sekali jika pengguna memasukkan angka negatif.
Perulangan while tak terbatas
Jika condition dari loop selalu true , loop berjalan untuk waktu yang tak terbatas (sampai memori penuh). Misalnya,
// infinite while loop
while(true) {
// body of the loop
}
Berikut adalah contoh do...while infinite yang tak terbatas lingkaran.
// infinite do...while loop
int count = 1;
do {
// body of loop
}
while(count == 1);
Dalam program di atas, condition selalu true . Oleh karena itu, badan loop akan berjalan untuk waktu yang tak terbatas.
for vs while loop
Sebuah for loop biasanya digunakan ketika jumlah iterasi diketahui. Misalnya,
// This loop is iterated 5 times
for (int i = 1; i <=5; ++i) {
// body of the loop
}
Di sini, kita tahu bahwa for-loop akan dieksekusi 5 kali.
Namun, while dan do...while loop biasanya digunakan ketika jumlah iterasi tidak diketahui. Misalnya,
while (condition) {
// body of the loop
}
Lihat contoh berikut untuk mempelajari lebih lanjut:
- Program C++ untuk Menampilkan Deret Fibonacci
- Program C++ untuk Menemukan GCD
- Program C++ untuk Menemukan KPK