1 / 23

Bab 7

Bab 7. Struktur Kawalan Pilihan. langkah a. palsu. benar. syarat. langkah 1 .. k. langkah k+1. Pemilihan Tunggal. Carta-alir. Pemilihan Tunggal. Kod Pseudo langkah a jika < syarat benar > mula_jika langkah 1 langkah 2 . . langkah k tamat_jika langkah k + 1.

eddy
Download Presentation

Bab 7

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bab 7 Struktur Kawalan Pilihan

  2. langkah a palsu benar syarat langkah 1 .. k langkah k+1 Pemilihan Tunggal Carta-alir

  3. Pemilihan Tunggal Kod Pseudo langkah a jika < syarat benar > mula_jika langkah 1 langkah 2 . . langkah k tamat_jika langkah k + 1

  4. Pernyataan if • Sintaks pernyataan if if ( <ungkapan> ) <pernyataan>; • <pernyataan> hanya akan dilaksanakan jika nilai <ungkapan> adalah bukan sifar (benar) • <ungkapan> di sini boleh terdiri dari ungkapan hubungan atau ungkapan mantik (logik) • Contoh 1: if ( k < j ) min = k; printf(“Akhir pernyataan if\n”); • Jika (k < j) benar : min = k output : Akhir pernyataan if  Jika (k < j) palsu : output : Akhir pernyataan if

  5. Pernyataan if • Contoh 2: if (k < j) { min = k; printf(“k lebih kecil dari j\n”); } • Jika (k < j) benar : min = k, output : k lebih kecil dari j • Contoh 3: if (k < j) min = k; printf(“k lebih kecil dari j\n”); • Jika (k < j) benar : min = k, output : k lebih kecil dari j

  6. Pernyataan if • Contoh 2: if (k < j) { min = k; printf(“k lebih kecil dari j\n”); } • Jika (k < j) palsu : output : • Contoh 3: if (k < j) min = k; printf(“k lebih kecil dari j\n”); • Jika (k < j) benar : output : k lebih kecil dari j

  7. langkah a palsu benar syarat langkah 1 .. k langkah k=1 .. n langkah n+1 Dwi-pemilihan • Carta -alir

  8. Dwi-pemilihan • Kod Pseudo jika <syarat benar> mula_jika langkah 1 langkah 2 : langkah k tamat_jika jika_tidak mula_jika_tidak langkah k+1 langkah k+2 : langkah n tamat_jika_tidak langkah n+1

  9. Pernyataan if-else • Sintaks pernyataan if-else if ( <ungkapan> ) <pernyataan-1>; else <pernyataan-2>; • Jika nilai <ungkapan> bukan sifar, <pernyataan-1> akan dilaksanakan • Jika nilai <ungkapan> sifar, <pernyataan-2> akan dilaksanakan

  10. Pernyataan if-else • Contoh 1: if (i < j) min = i; else min = j; printf(“Nilai minima ialah %d\n”, min); Jika i = 2, j = 5  min mengambil nilai i dan output: Nilai minima ialah 2 Jika i = 6, j = 3  min mengambil nilai j dan output: Nilai minima ialah 3

  11. Pernyataan if-else • Contoh 2: if (i < j) { min = i; max = j; } else { min = j; max = i; } printf(“Min = %d, Max = %d\n”, min, max); Jika i = 2, j = 5:  output : Min = 2, Max = 5 Jika i = 6, j = 3:  output : Min = 3, Max = 6

  12. Pernyataan if-else-if • Sintaks pernyataan if-else-if: if ( <ungkapan-1> ) <pernyataan-1>; else if ( <ungkapan-2> ) <pernyataan-2>; else <pernyataan-3>;

  13. Pernyataan if-else-if #include <stdio.h> void main( ) { char aks; scanf(“%c”, &aks); if ( (aks >= ‘a’) && (aks <= ‘z’) ) printf(“Huruf kecil\n”); else if ( (aks >= ‘A’) && (aks <= ‘Z’) ) printf(“Huruf besar\n”); else if ( (aks >= ‘0’) && (aks <= ‘9’) ) printf(“Digit\n”); else printf(“Aksara istimewa\n”); }

  14. Pernyataan if-else Dua paras • Apabila melibatkan pengujian tersarang • Contoh: if (a > b) { if (a > c) maks = a; else maks = c; } else { if (b > c) maks = b; else maks = c; } Blok A (Paras 2) Blok If-else luar (Paras 1) Blok B (Paras 2)

  15. Pernyataan if-else Dua paras

  16. Masalah else Terjuntai • Berlaku apabila blok suatu pernyataan if atau else itu tidak lengkap • Contoh: if (a < 0) if (b > 0) { : } else { : } Blok A Blok B ?

  17. Benar syarat1 Langkah1 .. k palsu Benar Langkah k+1 .. m syarat2 palsu : : Benar Langkah n+1 .. p Syarat h palsu Langkah q .. r Multi-pemilihan – Carta Alir

  18. Multi-pemilihan – Kod Pseudo jika <syarat_1 benar> mula_jika_1 langkah 1 langkah 2 : langkah k tamat_jika_1 jika_tidak jika <syarat_2 benar> mula_jika_2 langkah k+1 langkah k+2 : langkah m tamat_jika_2 : jika_tidak jika <syarat_h benar> mula_jika_h langkah n+1 langkah n+2 : langkah p tamat_jika_h jika_tidak mula_jika_tidak langkah q langkah q+1 : langkah r tamat_jika_tidak

  19. Pernyataan switch dan break • Digunakan untuk memilih satu sahaja dari beberapa pilihan • Satu bentuk alternatif kepada pernyataan if-else-if • Hanya boleh digunakan jika nilai bagi ungkapan berjenis int atau char • Sintaks pernyataan switch: switch ( <ungkapan> ) { case <ungkapan-1> : <pernyataan-1> ; break; : case <ungkapan-m> : <pernyataan-m>; break; default : <pernyataan-n>; break; }

  20. Pernyataan switch dan break • Bentuk if-else-if int nombor; scanf(“%d”, &nombor); if (nombor == 1) printf(“Satu\n”); else if (nombor == 2) printf(“Dua\n”); else if (nombor == 3) printf(“Tiga\n”); else printf(“Lain-lain\n”);

  21. Pernyataan switch dan break • Bentuk switch-break int nombor; scanf(“%d”, &nombor); switch (nombor) { case 1: printf(“Satu\n”); break; case 2: printf(“Dua\n”); break; case 3: printf(“Tiga\n”); break; default : printf(“Lain-lain\n”); }

  22. Penggunaan break • Diberi segmen aturcara: int nombor; scanf(“%d”, &nombor); switch (nombor) { case 1: printf(“Satu\n”); case 2: printf(“Dua\n”); case 3: printf(“Tiga\n”); default : printf(“Lain-lain\n”); } • Output: Jika nombor = 1  Satu Dua Tiga Lain-lain jika nombor = 3  Tiga Lain-lain

  23. Penggunaan break #include <stdio.h> void main( ) { char aks; scanf(“%c”, &aks); switch (aks) { case ‘a’ : case ‘e’ : case ‘i’ : case ‘o’: case ‘u’: printf(“huruf vokal\n”); break; default: printf(“huruf konsonan\n”); } }

More Related