Senin, 30 Maret 2015

Sentinel-Controlled Loop

Saat kita membuat suatu perulangan biasanya kita sudah  menentukan pada titik apa perulangan tersebut akan berhenti. Misalnya :


int main(){
   int kue= 5;
   while (kue >0){
 cout<<"kuenya masih "<<kue<<" makan lagi ahh"<<endl;  

kue--;
  } 
return 0;
}

Artinya kita tentukan program berhenti setelah kue=0.





Tapi bagaimana jika kita tidak mengetahui akan sebanyak apa perulangan tersebut?.

Misalkan kita ingin mengetahui rata2 nilai dari anak2 didalam beberapa  kelas atau mengetahui berapa rata2 gaji orang2 di setiap negara (Wow!).. tentu jumlahnya berbeda beda sehingga kita tidak tau kapan perulangan akan berhenti. Untuk mengatasinya kita bisa menaruh sebuah nilai yang akan menjadi  “isyarat” agar perulangan berhenti. Kira-kira itulah yang dimaksud Sentinel-Controlled Loop.

Oke langsung ke contohnya. Saya akan membuat program untuk menginput jumlah kue yang dimiliki oleh beberapa anak dan akan menampilkan totalnya dan rata-ratanya. Disini kita akan memberi suatu nilai yang akan menjadi isyarat bagi perulangan agar berhenti yaitu jika inputan saya beri -1 (Karena kue tidak mungkin jumlahnya minus).





int main(){
   int kue=0;
   int totalkue=0;
   int jumlahanak=0;
   cout<<"anak pertama kuenya ada berapa?"<<endl;
   cin>>kue;

   while (kue !=-1){ //perulangan berhenti jika inputan = -1
    totalkue=totalkue+kue;
    jumlahanak++;
 cout<<"anak berikutnya kuenya ada berapa?"<<endl;
 cin>>kue;
  }

cout<<"jumlah anak "<<jumlahanak<<endl;
cout<<"Total kue "<<totalkue;
 return 0;
}



outputnya :


















sekian ^ ^

Tidak ada komentar:

Posting Komentar