(Jawa) Gelung. Gelung dengan parameter (untuk)


Bayangkan situasi di mana kita perlu memaparkan perkataan yang sama pada skrin, mari kita sebut perkataan "HELLO", 10 kali. Apa yang perlu kita lakukan?
Anda boleh mengambil dan menulis arahan 10 kali cout << "HELLO";

Tetapi bagaimana jika anda tidak memerlukan 10 kali, tetapi 20, 30, 40 kali ?, dan jika 200 kali? Dalam kes ini, penyalinan akan mengambil masa yang sangat lama. Dan jika perlu untuk pengguna memilih berapa kali untuk memaparkan maklumat pada skrin? 

Untuk mengatasi tugas ini, pembinaan khas yang dipanggil LOOP
akan membantu kami
Gelung ialah binaan algoritma di mana urutan perintah tertentu diulang beberapa kali.


Dalam bahasa pengaturcaraan Java, terdapat dua jenis gelung: gelung dengan pembolehubah (untuk) dan gelung dengan keadaan (semasa dan lakukan...semasa)

Mari mulakan perkenalan kita dengan kitaran dari jenis pertama.

LOOP DENGAN PEMBOLEH UBAH ATAU DENGAN BILANGAN LANGKAH YANG DIKENALI (UNTUK)

Selalunya berlaku bahawa kita mengetahui bilangan pengulangan beberapa tindakan, atau kita boleh mengira bilangan pengulangan menggunakan data yang diketahui oleh kita. Sesetengah bahasa pengaturcaraan mempunyai perintah yang dalam bahasa Rusia berbunyi seperti REPEAT (bilangan kali) - iaitu, kita boleh menentukan bilangan pengulangan yang tepat. 

Adalah menarik untuk melihat bagaimana kitaran ini berfungsi pada peringkat mesin:
1. sel memori tertentu diperuntukkan dalam ingatan dan bilangan ulangan ditulis kepadanya,
2. apabila atur cara melaksanakan badan gelung sekali, kandungan sel ini (kaunter) dikurangkan dengan satu.
3. pelaksanaan gelung tamat apabila sel ini sifar.

Dalam bahasa pengaturcaraan Java, tidak ada binaan sedemikian, tetapi for construct.  

Bentuk umum pernyataan gelung for adalah seperti berikut: untuk (/*ungkapan1*/; /*ungkapan2*/; /*ungkapan3*/ ) { /*satu pernyataan atau blok pernyataan - badan gelung*/; } Pembinaan ini memerlukan kita
1. memperuntukkan sel memori secara eksplisit, yang akan menjadi pembilang, dan menetapkan nilai awalnya
2. keadaan telah ditulis di mana badan kitaran akan dilaksanakan
3. nyatakan bagaimana nilai dalam sel ini akan berubah.

Di bahagian praktikal, kami akan cuba memaparkan perkataan Hello sebanyak 10 kali. Dalam tugasan berikut, kami akan menganalisis pembinaan ini dengan lebih terperinci.

Gelung untuk ialah satu cara untuk melangkah melalui tindakan berulang. Mari kita lihat dengan lebih dekat cara ia berfungsi.

Biasanya, bahagian gelung for melakukan langkah berikut: 
1. Menetapkan nilai awal. 
2. Menjalankan ujian keadaan untuk meneruskan gelung. 
3. Lakukan tindakan gelung. 
4. Kemas kini nilai yang digunakan dalam ujian. 
dan kemudian langkah 2-4 diulang sehingga syarat dipenuhi. Sebaik sahaja syarat menjadi palsu, gelung ditamatkan dan pernyataan yang mengikuti pernyataan gelung for dilaksanakan.

Mari kita kembali kepada bentuk umum pernyataan gelung dan menganalisis dengan lebih terperinci semua bahagian untuk (/*ungkapan1*/; /*ungkapan2*/; /*ungkapan3*/ ) { /*satu pernyataan atau blok pernyataan - badan gelung*/; }

Ungkapan 1

bertanggungjawab untuk menetapkan nilai awal pembolehubah kitaran (pembilang), berakhir dengan koma bertitik
Sebagai contoh : pilihan 1) i=0; //pembolehubah kitaran i diberikan nilai awal bersamaan dengan sifar. Dengan rekod sedemikian, //pembolehubah i mesti diisytiharkan sebelum gelung pilihan 2) int i=0; //pembolehubah i boleh diisytiharkan serta-merta dalam pengepala kitaran, tetapi // dalam kes ini, selepas gelung akan dipadamkan daripada ingatan pilihan 3); //tiada permulaan dan pengisytiharan pembolehubah kitaran sama sekali, // dalam kes ini ia boleh diisytiharkan sebelum gelung Ungkapan 2 ini ialah syarat untuk meneruskan gelung  untuk, ia diperiksa kebenarannya. i<=10 // gelung akan berjalan selagi i kurang daripada atau sama dengan 10. Keadaan boleh jadi apa sahaja Ungkapan 3  mengubah nilai pembolehubah pembilang. Tanpa nilai ini, gelung akan dianggap tidak terhingga i<=10 // gelung akan berjalan selagi i kurang daripada atau sama dengan 10. Keadaan boleh jadi apa sahaja Mari kita berlatih menulis tajuk gelung untuk

Ciri rekod lain ialah jika terdapat hanya satu operator dalam badan gelung, maka kurungan boleh diabaikan.

Terdapat berbilang penyataan yang dipisahkan dengan koma dalam setiap bahagian pengepala.
Contoh tajuk:
untuk ( i = 0; i < 10; i ++ ) { ... } //tajuk standard untuk ( i = 0, x = 1.; i < 10; i += 2, x *= 0.1 ){ ... } // dalam kes ini, kami menggunakan dua pembolehubah yang akan berubah selepas pelaksanaan badan gelung - ini adalah pembolehubah i dan x // pembolehubah i berubah dengan langkah 2 - i+=2 - singkatan untuk i=i+2 // pembolehubah x meningkat sebanyak 0.1 kali dengan setiap langkah x=x*0.1 - disingkatkan sebagai x*=0.1

Semua program dengan gelung for yang telah kami tulis setakat ini tidak boleh dipanggil universal. Kerana kami sendiri menetapkan bilangan ulangan badan gelung. 
Tetapi bagaimana jika bilangan ulangan bergantung pada beberapa nilai lain? Sebagai contoh, pengguna sendiri ingin menetapkan bilangan ulangan kitaran.
Apa yang perlu dilakukan dalam kes ini?
Semuanya sangat mudah. Daripada nilai mula dan tamat angka, kita boleh menggunakan sebarang pembolehubah yang boleh dikira atau ditetapkan oleh pengguna.

Sebagai contoh, kita perlu memaparkan petak nombor dari 1 hingga N, di mana nilai pembolehubah N dimasukkan daripada papan kekunci oleh pengguna.
Program ini akan kelihatan seperti ini:
  #include <iostream> menggunakan ruang nama std; utama() { int i,N; // i – pembolehubah gelung, N - nombor maksimum yang mana kita mengira kuasa dua cin>> N; // input N dari papan kekunci untuk ( i = 1; i <= N; i ++) // gelung: untuk semua i dari 1 hingga N - pembolehubah i secara berurutan akan mengambil nilai dari 1 hingga N { cout << "Kvadrat chisla "<<i<<" gagak " <<i*i<<"\n"; // Mengeluarkan kuasa dua nombor dalam format tertentu dan bergerak ke baris baharu } } Apabila memasuki gelung, pernyataan i = 1 dilaksanakan, dan kemudian pembolehubah i ditambah satu (i ++) dengan setiap langkah. Gelung dilaksanakan manakala syarat i <= N adalah benar. Dalam kandungan gelung, satu-satunya pernyataan output mencetak nombor itu sendiri dan segi empat samanya pada skrin mengikut format yang ditentukan.
Untuk kuasa dua atau eksponen rendah yang lain, lebih baik menggunakan pendaraban.

Jalankan program dan lihat hasil kerjanya dengan nilai berbeza pembolehubah N.