1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah...

23
1 Bab 8 Struktur Kawalan Ulangan
  • date post

    18-Dec-2015
  • Category

    Documents

  • view

    248
  • download

    4

Transcript of 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah...

Page 1: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

1

Bab 8

Struktur Kawalan Ulangan

Page 2: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

2

Gelung Berkawalkan Pembilang

i = nilai awal

uji nilai iLangkah 1 .. n Kemaskini nilai i

Y

T

Page 3: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

3

Gelung Berkawalkan Pembilang

untuk ( pembilang=nilai_awal; uji pembilang; kemaskini pembilang) mula_untuk

langkah 1

langkah 2

:

langkah n

tamat_untuk

Page 4: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

4

Pernyataan for Sintaks umum pernyataan for

for ( <awalan>; <ujian>; <pengemaskinian> ) <pernyataan>;

Langkah perlaksanaan:1. Pengumpukan nilai awal kepada pembilang

2. Ungkapan <ujian> dinilai

3. Jika nilai tersebut benar, maka <pernyataan> akan dilaksanakan

4. Pembilang dikemaskini menggunakan <pengemaskinian>

5. Ulang langkah 2. hingga 4.

6. Tamat gelung.

Page 5: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

5

Pernyataan for Contoh 1:

for ( bil = 1; bil <= 8; bil++ ) printf(“%d\t”, bil);

bil bil <= 8 output1 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 78

Page 6: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

6

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 ?

Page 7: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

7

Pernyataan for Output 2:

012345678

Output 3:? ? ?

Page 8: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

8

Gelung berkawalkan syarat (1)(syarat diuji dahulu)

Syarat

Palsu

Benar Langkah 1 .. n

Page 9: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

9

Gelung berkawalkan syarat (1)(syarat diuji dahulu)

Selagi <syarat benar> mula_selagi

langkah 1

langkah 2

:

langkah n

tamat_selagi

Page 10: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

10

Pernyataan while Sintaksis umum pernyataan while:

while ( <ungkapan> )<pernyataan>;

Langkah perlaksanaan:1. <ungkapan> dinilai

2. Jika <ungkapan> bernilai benar, <pernyataan> dilaksanakan

3. Jika <ungkapan> bernilai palsu, tamat gelung.

4. Ulang langkah 3. dan 4.

Page 11: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

11

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

Page 12: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

12

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 jumlah2 benar 0 + 2 = 21 benar 2 + 1 = 30 palsu

Page 13: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

13

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--;}

Page 14: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

14

Gelung berkawalkan syarat (2)(syarat diuji kemudian)

Langkah 1 .. n

Syarat

Benar

Palsu

Page 15: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

15

Gelung berkawalkan syarat (2)(syarat diuji kemudian)

mula

langkah 1

langkah 2

:

langkah n

tamat selagi <syarat benar>

Page 16: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

16

Pernyataan do-while Sintaksis umum pernyataan do-while:

do <pernyataan>while ( <ungkapan> )

Langkah perlaksanaan:1. <pernyataan> dilaksanakan

2. <ungkapan> dinilai

3. Jika <ungkapan> bernilai benar, ulang langkah 1. hingga 2.

4. Jika <ungkapan> bernilai palsu, tamat gelung.

Page 17: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

17

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 jumlah2 0 + 2 = 21 benar 2 + 1 = 30 palsu

Page 18: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

18

Pernyataan for, while, dan do-while Bentuk for

for ( <awalan> ; <ujian> ; <pengemaskinian> )<pernyataan>;

Bentuk while<awalan>;while ( <ujian> ) {

<pernyataan>;<pengemaskinian>;

}

Bentuk do-while<awalan>;do {

<pernyataan>;<pengemaskinian>;

} while ( <ujian> );

Page 19: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

19

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

Page 20: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

20

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 output0 benar 0 % 2 = 0 “0 adalah nombor genap\n”

“Cetak hanya nombor genap !\n”1 benar 1 % 2 = 12 benar 2 % 2 = 0 “2 adalah nombor genap\n”

“Cetak hanya nombor genap !\n”

:

Page 21: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

21

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);

Page 22: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

22

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

Page 23: 1 Bab 8 Struktur Kawalan Ulangan. 2 Gelung Berkawalkan Pembilang i = nilai awal uji nilai i Langkah 1.. nKemaskini nilai i Y T.

23

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 output0 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”: