Tips 20 : Aktiviti pada buku teks SK ms 83

Seseorang bertanya lagi “Aktiviti 19 ms 83 membuatkan saya pening…”

Jawapan saya:
Untuk aktiviti ini rasanya merupakan satu kesilapan..persoalan mengenai switch case saya dah terangkan dengan panjang lebar pada tips yang sebelum ini. Ada yang kita boleh selesaikan dengan switch case dan ada yang mustahil atau tidak efiesin menggunakan switch case.

Jika cikgu nak buat juga…..programnya kan menjadi panjang seperti dibawah!!!! tak effisien sebenarnya…jadi kesimpulannya jangan sesekali minta pelajar buat aktiviti ini…..tolong tukarkan dengan soalan yang lain….yang lebih ringkas…

import java.util.Scanner;
public class Gred{
public static void main(String[] args){
//int markah = 73;
Scanner input = new Scanner (System.in);
System.out.println (“Masukkan markah antara 0 hingga 100″);
int markah = input.nextInt ();
String gred=””;
switch(markah){
case 100 :
case 99 :
case 98 :
case 97 :
case 96 :
case 95 :
case 94 :
case 93 :
case 92 :
case 91 :
case 90 :
gred = “A+”;
break;
case 89 :
case 88 :
case 87 :
case 86 :
case 85 :
case 84 :
case 83 :
case 82 :
case 81 :
case 80 :
gred = “A”;
break;
case 79 :
case 78 :
case 77 :
case 76 :
case 75 :
gred = “A-“;
break;
case 74 :
case 73 :
case 72 :
case 71 :
case 70 :
gred = “B+”;
break;
case 69 :
case 68 :
case 67 :
case 66 :
case 65 :
gred = “B”;
break;
case 64 :
case 63 :
case 62 :
case 61 :
case 60 :
gred = “C+”;
break;
case 59 :
case 58 :
case 57 :
case 56 :
case 55 :
case 54 :
case 53 :
case 52 :
case 51 :
case 50 :
gred = “C”;
break;
case 49 :
case 48 :
case 47 :
case 46 :
case 45 :
gred = “D”;
break;
case 44 :
case 43 :
case 42 :
case 41 :
case 40 :
gred = “E”;
break;
default:
gred = “G”;
break;
}

System.out.println(“Gred : ” + gred);
}
}

Tapi nanti sekejap…..ini….adalah berdasarkan kefahaman saya…….sebenarkan ada caranya supaya jadi ringkas…….nak tahu jawapannya….sila baca yang seterusnya untuk penyelesaian…..

Setelah saya postkan artikel ini….tiba-tiba ada seorang guru dari pulau pinang……(terima kasih kepada cikgu ini)…..katanya ada seorang pelajar dapat buat dengan cara yang lain…..saya terkejut…….saya rasa pelajar nie seorang genius dapat berfikir diluar kotak….tahniah dan syabas….kepada pelajar pulau pinang ini…..apa yang pelajar ni buat ialah dia bahagikan markah ┬ádengan no 5, (integer division) maka julat yang terhasil menjadi sedikit….saya pun buktikan apa yang pelajar buat ini adalah benar..dengan cara membuat program dibawah ini….

for (int i = 100; i > 32; i–)
System.out.println(i + ” == ” + i / 5);

100 == 20
99 == 19
98 == 19
97 == 19
96 == 19
95 == 19
94 == 18
93 == 18
92 == 18
91 == 18
90 == 18
89 == 17
88 == 17
87 == 17
86 == 17
85 == 17
84 == 16
83 == 16
82 == 16
81 == 16
80 == 16
79 == 15
78 == 15
77 == 15
76 == 15
75 == 15
74 == 14
73 == 14
72 == 14
71 == 14
70 == 14
69 == 13
68 == 13
67 == 13
66 == 13
65 == 13
64 == 12
63 == 12
62 == 12
61 == 12
60 == 12
59 == 11
58 == 11
57 == 11
56 == 11
55 == 11
54 == 10
53 == 10
52 == 10
51 == 10
50 == 10
49 == 9
48 == 9
47 == 9
46 == 9
45 == 9
44 == 8
43 == 8
42 == 8
41 == 8
40 == 8
39 == 7
38 == 7
37 == 7
36 == 7
35 == 7
34 == 6
33 == 6

Ini adalah program yang dihasilkan oleh pelajar tersebut….

import java.util.Scanner;
public class Aktiviti12b{
public static void main (String [] args){
Scanner input = new Scanner(System.in);
System.out.println(“Sila masukkan markah”);
int markah = input.nextInt();
switch (markah/5) {
case 100:
case 20:
case 19:
case 18:
System.out.println(“Gred = A+”);
break;
case 17:
case 16:
System.out.println(“Gred = A”);
break;
case 15:
System.out.println(“Gred = A-“);
break;
case 14:
System.out.println(“Gred = B+”);
break;
case 13:
System.out.println(“Gred = B”);
break;
case 12:
System.out.println(“Gred = C+”);
break;
case 11:
case 10:
System.out.println(“Gred = C”);
break;
case 9:
System.out.println(“Gred = D”);
break;
case 8:
System.out.println(“Gred = E”);
break;
default:
System.out.println(“Gred = G”);
break;

}
}
}

Tahniah dan syabas sekali lagi….
Terima kasih banyak Cikgu Shaberi yang sudi berkongsi penyelesaian ini.

This entry was posted in Berita Utama. Bookmark the permalink.

2 Responses to Tips 20 : Aktiviti pada buku teks SK ms 83

  1. lomotech says:

    kenapa tak guna case (markah >= 90): break; case (markah >=80): break; ?

Leave a Reply

Your email address will not be published. Required fields are marked *