Download presentation
1
Struktur Kawalan Pilihan
Bab 7 Struktur Kawalan Pilihan
2
Pemilihan Tunggal Carta-alir syarat langkah a langkah 1 .. k
palsu benar
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 if ( <ungkapan> ) Sintaks pernyataan if
<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: Contoh 3: min = k;
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)
6
Pernyataan if Contoh 2: Contoh 3: min = k;
if (k < j) { min = k; printf(“k lebih kecil dari j\n”); } Jika (k < j) palsu : output : Contoh 3: if (k < j) Jika (k < j) benar : output : k lebih kecil dari j
7
Dwi-pemilihan Carta -alir langkah a syarat langkah 1 .. k langkah n+1
palsu benar langkah k=1 .. n
8
Dwi-pemilihan Kod Pseudo jika <syarat benar> mula_jika langkah 1
: 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> )
Jika nilai <ungkapan> bukan sifar, <pernyataan-1> akan dilaksanakan Jika nilai <ungkapan> sifar, <pernyataan-2> akan dilaksanakan
10
Pernyataan if-else Contoh 1: min = i; else if (i < j) 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: min = i; max = j; } else { min = j;
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>; <ungkapan-1> <ungkapan-2> Perlaksanaan Benar Tidak dinilai <pernyataan-1> Palsu <pernyataan-2> <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; Blok A (Paras 2) Blok If-else luar (Paras 1) Blok B (Paras 2)
15
Pernyataan if-else Dua paras
(a > b) (a > c) (b > c) Perlaksanaan Benar Tidak Dinilai maks = a; Palsu maks = c; maks = b;
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
Multi-pemilihan – Carta Alir
Benar syarat1 syarat2 Syarat h palsu Langkah1 .. k Langkah q .. r Langkah k+1 .. m n+1 .. p :
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>; default : <pernyataan-n>; }
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”); case 3: printf(“Tiga\n”); default : printf(“Lain-lain\n”); }
22
Penggunaan break int nombor; Diberi segmen aturcara:
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
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”); }
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.