Struktur Kawalan Ulangan Bab 8 Struktur Kawalan Ulangan
Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1 .. n Kemaskini nilai i Y T
Gelung Berkawalkan Pembilang untuk ( pembilang=nilai_awal; uji pembilang; kemaskini pembilang) mula_untuk langkah 1 langkah 2 : langkah n tamat_untuk
Pernyataan for Sintaks umum pernyataan for <pernyataan>; for ( <awalan>; <ujian>; <pengemaskinian> ) <pernyataan>; Langkah perlaksanaan: Pengumpukan nilai awal kepada pembilang Ungkapan <ujian> dinilai Jika nilai tersebut benar, maka <pernyataan> akan dilaksanakan Pembilang dikemaskini menggunakan <pengemaskinian> Ulang langkah 2. hingga 4. Tamat gelung.
Pernyataan for Contoh 1: for ( bil = 1; bil <= 8; bil++ ) printf(“%d\t”, bil); bil bil <= 8 output 1 benar “1\t” 2 benar “2\t” 3 benar “3\t” 4 benar “4\t” 5 benar “5\t” 6 benar “6\t” 7 benar “7\t” 8 benar “8\t” 9 palsu Output: 1 2 3 4 5 6 7 8
Pernyataan for Contoh 2: digit = 0; for ( ; digit < 9; ) { printf(“%d\n”, digit); digit++; } Contoh 3: i = 0; for ( ; ; ) { printf(“%d\n”, 2*i); i++; Apakah output contoh 2 dan contoh 3 di atas ?
Pernyataan for Output 2: 1 2 3 4 5 6 7 8 Output 3: ? ? ?
Gelung berkawalkan syarat (1) (syarat diuji dahulu) Palsu Benar Langkah 1 .. n
Gelung berkawalkan syarat (1) (syarat diuji dahulu) Selagi <syarat benar> mula_selagi langkah 1 langkah 2 : langkah n tamat_selagi
Pernyataan while Sintaksis umum pernyataan while: while ( <ungkapan> ) <pernyataan>; Langkah perlaksanaan: <ungkapan> dinilai Jika <ungkapan> bernilai benar, <pernyataan> dilaksanakan Jika <ungkapan> bernilai palsu, tamat gelung. Ulang langkah 3. dan 4.
Pernyataan while Contoh 1: jumlah = i = 0; printf(“Masukkan nombor yang lebih besar dari 0 “); scanf(“%d”, &n); while ( i != n ) { jumlah += i; i++; } Andaikan n = 3 i i != n jumlah 0 benar 0 + 1 = 1 1 benar 1 + 1 = 2 2 benar 2 + 1 = 3 3 palsu
Pernyataan while Contoh 2: printf(“Masukkan nombor yang lebih besar daripada 0 “); scanf(“%d”, &n); i = n-1; jumlah = 0; while (i != 0 ) { jumlah += i; i--; } Andaikan n = 3; i i != 0 jumlah 2 benar 0 + 2 = 2 1 benar 2 + 1 = 3 0 palsu
Pernyataan while Apakah output bagi segmen aturcara di bawah ? printf(“Masukkan nombor yang lebih besar daripada 0 “); scanf(“%d”, &n); i = n-1; jumlah = 0; while (i ) { jumlah += i; i--; }
Gelung berkawalkan syarat (2) (syarat diuji kemudian) Langkah 1 .. n Syarat Benar Palsu
Gelung berkawalkan syarat (2) (syarat diuji kemudian) mula langkah 1 langkah 2 : langkah n tamat selagi <syarat benar>
Pernyataan do-while Sintaksis umum pernyataan do-while: do while ( <ungkapan> ) Langkah perlaksanaan: <pernyataan> dilaksanakan <ungkapan> dinilai Jika <ungkapan> bernilai benar, ulang langkah 1. hingga 2. Jika <ungkapan> bernilai palsu, tamat gelung.
Pernyataan do-while Contoh : printf(“Masukkan nombor yang lebih besar daripada 0 “); scanf(“%d”, &n); i = n-1; jumlah = 0; do { jumlah += i; i--; } while (i != n) ; Andaikan n= 3; i i != 0 jumlah 2 0 + 2 = 2 1 benar 2 + 1 = 3 0 palsu
Pernyataan for, while, dan do-while Bentuk for for ( <awalan> ; <ujian> ; <pengemaskinian> ) <pernyataan>; Bentuk while <awalan>; while ( <ujian> ) { <pengemaskinian>; } Bentuk do-while do { } while ( <ujian> );
Pernyataan continue Satu pernyataan kawalan yang membolehkan kita menyambung terus kepada gelung seterusnya tanpa perlu melaksanakan pernyataan lain di dalam gelung Boleh digunakan dalam gelung for, while, dan do-while
Pernyataan continue Contoh: for ( i = 0; i <= 9; i++ ) { if ( i % 2 ) continue else printf(“%d adalah nombor genap\n”, i); printf(“Cetak hanya bila genap ! \n”); } i i <= 9 i % 2 output 0 benar 0 % 2 = 0 “0 adalah nombor genap\n” “Cetak hanya nombor genap !\n” 1 benar 1 % 2 = 1 2 benar 2 % 2 = 0 “2 adalah nombor genap\n” :
Pernyataan break Sepertimana dalam switch, break digunakan untuk keluar dari gelung tersebut Contoh: printf(“Masukkan satu nilai antara 1 hingga 10: “); scanf(“%d”, & nilai); for ( i = 1; i <= 10; i++) { if ( i == nilai ) break; printf(“%d “, i); } printf(“\nKeluar daripada gelung apabila nilai %d”, i);
Pernyataan break Andaikan nilai = 5 i i <= 10 i == nilai output 1 benar palsu “1~” 2 benar palsu “2~” 3 benar palsu “3~” 4 benar palsu “4~” 5 benar benar “Keluar daripada gelung apabila nilai 5” 1 2 3 4 Keluar daripda gelung apabila nilai 5
Gelung Tersarang Contoh: for (i = 0; i < 2; i++ ) { for (j = 0; j < 5; j++ ) { printf(“%d, %d\t”, i, j); } printf(“\n”); i i < 2 j j < 5 output 0 benar 0 benar “0, 0\t” 1 benar “0, 1\t” 2 benar “0, 2\t” 3 benar “0, 3\t” 4 benar “0, 4\t” 5 palsu “\n” 1 benar 0 benar “1, 0\t” :