1 bab 7 struktur kawalan pilihan. 2 pemilihan tunggal carta-alir langkah a syarat langkah 1.. k...
Post on 19-Dec-2015
277 Views
Preview:
TRANSCRIPT
1
Bab 7
Struktur Kawalan Pilihan
2
Pemilihan TunggalCarta-alir
langkah a
syarat langkah 1 .. k
langkah k+1
palsu benar
3
Pemilihan TunggalKod Pseudo
langkah ajika < syarat benar > mula_jika
langkah 1langkah 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 = koutput : 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
Dwi-pemilihan Carta -alir
langkah a
syarat langkah 1 .. k
langkah n+1
palsu benarlangkah k=1 .. n
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;
elsemin = j;
printf(“Nilai minima ialah %d\n”, min);
Jika i = 2, j = 5 min mengambil nilai i danoutput: Nilai minima ialah 2
Jika i = 6, j = 3 min mengambil nilai j danoutput: 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>;
<ungkapan-1> <ungkapan-2> Perlaksanaan
Benar Tidak dinilai <pernyataan-1>
Palsu Benar <pernyataan-2>
Palsu Palsu <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 B
(Paras 2)
Blok
If-else
luar
(Paras 1)
15
Pernyataan if-else Dua paras
(a > b) (a > c) (b > c) Perlaksanaan
Benar Benar Tidak
Dinilai
maks = a;
Benar Palsu Tidak
Dinilai
maks = c;
Palsu Tidak
Dinilai
Benar maks = b;
Palsu Tidak
Dinilai
Palsu maks = c;
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
Benar
Benar
syarat1
syarat2
Syarat h
palsu
palsu
palsu
Langkah1 .. k
Langkah q .. r
Langkahk+1 .. m
Langkahn+1 .. p
::
18
Multi-pemilihan – Kod Pseudojika <syarat_1 benar> mula_jika_1
langkah 1langkah 2
:langkah k
tamat_jika_1jika_tidak jika <syarat_2 benar> mula_jika_2
langkah k+1langkah k+2
:langkah m
tamat_jika_2:
jika_tidak jika <syarat_h benar> mula_jika_hlangkah n+1langkah n+2:langkah p
tamat_jika_hjika_tidak mula_jika_tidak
langkah qlangkah 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
DuaTigaLain-lain
jika nombor = 3 TigaLain-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”);}
}
top related