งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Control Structures Control Structures โครงสร้างควบคุมการทำงานโครงสร้างควบคุมการทำงาน.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Control Structures Control Structures โครงสร้างควบคุมการทำงานโครงสร้างควบคุมการทำงาน."— ใบสำเนางานนำเสนอ:

1 Control Structures Control Structures โครงสร้างควบคุมการทำงานโครงสร้างควบคุมการทำงาน

2 Control Structures   ในการเขียนโปรแกรมจะประกอบด้วย กระบวนการต่าง ๆ ซึ่งเราสามารถแบ่งได้ เป็น 3 กรณีคือ In sequence ( ทำตามลำดับก่อนหลัง ) Branching ( มีเงื่อนไขในการทำงานโดยมี ทางเลือกในการทำงาน ) Looping ( มีการทำงานแบบวนรอบ หรือ ทำซ้ำ )   Branch: คือกระบวนการทำงานโดยมี เงื่อนไขกำหนดไว้ให้เลือกทำอย่างใด อย่างหนึ่ง เช่น ถ้าได้คะแนนตั้งแต่ 80 – 100 ได้เกรด A   Loop: คือการทำงานคำสั่งในเดิม ๆ หลายรอบ โดยมี เงื่อนไขกำหนดว่าจะออกจากการทำงานเมื่อใด

3 Flow of Execution

4 Selection b One-Way Selection b Two-Way Selection b Compound (Block of) Statements b Multiple Selections (Nested if) b switch Structures ประกอบด้วยลักษณะการทำงาน ดังนี้

5 One-Way Selection b b Syntax:if(expression) statement b b Expression คือเงื่อนไขที่ใช้ในการตัดสินใจ b b Statement คือ คำสั่งที่ต้องการให้ทำงาน

6 6 The if Statement b The if statement has the following syntax: if ( condition ) statement; if is a Java reserved word The condition must be a boolean expression. It must evaluate to either true or false. If the condition is true, the statement is executed. If it is false, the statement is skipped.

7 Example if(score >=90) grade = ‘A’; คำอธิบาย ถ้า score มากกว่าหรือเท่า 90 ก็ให้ grade มีค่าเป็น A ถ้า score มากกว่าหรือเท่า 90 ก็ให้ grade มีค่าเป็น A แสดงว่า expression ต้องมีค่าเป็นจริง ถึงจะมีการทำงานตาม แสดงว่า expression ต้องมีค่าเป็นจริง ถึงจะมีการทำงานตาม statement statement

8 The if Statement b An example of an if statement: if (sum > MAX) delta = sum - MAX; System.out.println ("The sum is " + sum); First, the condition is evaluated. The value of sum is either greater than the value of MAX, or it is not. If the condition is true, the assignment statement is executed. If it is not, the assignment statement is skipped. Either way, the call to println is executed next.

9 import javax.swing.JOptionPane; class If1 { public static void main (String args[]) { int score = 50; if (score > 0) { String message = "score = " + score + "grade = pass" ; JOptionPane.showMessageDialog(null,message); System.exit(0); }

10 Two-Way Selection b Syntax:if(expression) statement1 statement1else statement2 statement2 b else คือ ถ้าเงื่อนไขที่ 1 มีค่าเป็นเท็จ ก็ให้ทำใน statement ที่ 2 แทน

11 Two-Way Selection

12 Example if (hours > 40.0) if (hours > 40.0) wages = 40.0 * rate * rate *(hour-40.0); else else wage = hours * rate; wage = hours * rate;

13 Logic of an if statement condition evaluated false statement true

14 14 The if-else Statement b An else clause can be added to an if statement to make it an if-else statement: if ( condition ) statement1; else statement2; b If the condition is true, statement1 is executed; if the condition is false, statement2 is executed b One or the other will be executed, but not both

15 Logic of an if-else statement condition evaluated statement1 true false statement2

16 import javax.swing.JOptionPane; class If2 { public static void main (String args[]) { double score ;String message,data; data = JOptionPane.showInputDialog(null,"Enter score : "); score = Double.parseDouble(data); if (score >= 49) message = "score = " + score + "grade = Pass"; else message = "score = " + score + "grade = F" ; JOptionPane.showMessageDialog(null,message); System.exit(0); }

17 Compound (Block of) Statements b Syntax {statement1statement2... statementn } ในกรณีที่คำสั่ง (statement) ในคำสั่ง if มีมากกว่า 1 คำสั่งเราจำเป็นต้องใช้ เครื่องหมาย { } ครอบคำสั่งเอาไว้ เช่น if(age >18) { System.out.println(“Eligible to vote.”); System.out.println(“No longer a minor.”); }else{ System.out.println(“Not eligible to vote.”); System.out.println(“still a minor.”); }

18 18 Block Statements b Several statements can be grouped together into a block statement b A block is delimited by braces ( { … } ) b A block statement can be used wherever a statement is called for in the Java syntax b For example, in an if-else statement, the if portion, or the else portion, or both, could be block statements

19 Multiple Selection: Nested if b Syntax if(expression1)statement1 elseif(expression2) statement2 statement2else statement3 statement3 b ในกรณีที่มีทางเลือกมากกว่าสอง ทาง เราต้องใช้ if เข้ามาซ้อน เอาไว้เพื่อให้ทำเงื่อนไขต่อไป b ข้อสังเกตุ else if จะต้องมีเงื่อนไข b แต่ถ้าเป็น else จะไม่มีเงื่อนไข

20 Example if(balance > ) intererestRate = 0.07; else if (balance >= ) intererestRate = 0.05; else if (balance >= ) intererestRate = 0.03; else intererestRate = 0.00;

21 import javax.swing.JOptionPane; class If3 { public static void main (String args[]) { double score ;String message,data,grade; data = JOptionPane.showInputDialog(null,"Enter score : "); score = Double.parseDouble(data); if (score <= 49) { grade = "E"; } else if ( score <= 59 ) { grade =" D"; }

22 else if ( score <= 69) {grade =" C"; } else if ( score <= 79) {grade =" B";} else {grade =" A";} message = " score = " + score + "grade = "+grade; JOptionPane.showMessageDialog(null,messa ge); System.exit(0); }

23 แบบฝึกปฏิบัติ ใน Lab b b ให้เขียนโปรแกรมชื่อ Student1.Java ให้ สามารถ b b รับค่า ชื่อพนักงาน (Emp_name) เงินเดือน พนักงาน (Salary) โดยถ้าเงินเดือนตั้งแต่ ขึ้นไปเสียภาษี (TAX) 5 % จาก เงินเดือนจากนั้นคิดเงินสุทธิที่ได้รับ (NET = SALARY-TAX) แล้ว b b แสดง ชื่อ เงินเดือน ภาษีและเงินสุทธิ (NET) ของพนักงาน ออกทางจอภาพ ทั้งนี้รับข้อมูลพนักงานเพียงคนเดียว

24 The switch Statement b The general syntax of a switch statement is: switch ( expression ) { case value1 : statement-list1 case value2 : statement-list2 case value3 : statement-list3 case... }switchandcasearereservedwords If expression matches value2, control jumps to here

25 switch Structures b Expression ตัวเลือกที่ใช้ในการ ตัดสินใจทำงานตามคำสั่งต่าง ๆ switch(expression) { case value1: statements1 break; case value2: statements2 break;... case valuen: statementsn break; default: statements }

26 switch Statement

27 Example I switch(grade){ case ‘A’:System.out.println(“grade is A”); break; break; case ‘B’:System.out.println(“grade is B”); case ‘B’:System.out.println(“grade is B”); break; break; case ‘C’:System.out.println(“grade is C”); case ‘C’:System.out.println(“grade is C”); break; break; case ‘D’:System.out.println(“grade is D”); case ‘D’:System.out.println(“grade is D”); break; break; case ‘F’:System.out.println(“grade is F”); case ‘F’:System.out.println(“grade is F”); break; break; default:System.out.println(“grade is invalid”); default:System.out.println(“grade is invalid”);}

28 คำสั่ง switch (The switch Statement) มักจะถูกใช้บ่อยในกรณีของการเลือกหนึ่งทางเลือกในหลายๆทางเลือก มักจะถูกใช้บ่อยในกรณีของการเลือกหนึ่งทางเลือกในหลายๆทางเลือก Switch: switch ( ตัวแปร ) { case ค่าที่ 1 : คำสั่งที่ 1; break; case ค่าที่ 2 : คำสั่งที่ 2; break;. case ค่าที่ N : คำสั่งที่ N; break; default : คำสั่งเมื่อไม่มีค่าที่ตรงกับที่ระบุใน case ; } ข้อจำกัดของการใช้คำสั่ง Switch ตัวแปรที่ใช้ในการตรวจสอบ จะต้องมีชนิดเป็นตัวเลขอย่างใดอย่างหนึ่ง ได้แก่ char, byte, short หรือ int

29 Example II switch(score/10){ case 0:case 1:case 2: case 3:case 4:case 5: grade = ‘F’; break; break; case 6:grade=‘D’; break; break; case 7:grade=‘C’; case 7:grade=‘C’; break; break; case 8:grade=‘B’; case 8:grade=‘B’; break; break; case 8:grade=‘B’; case 8:grade=‘B’; break; break; case 9: case 10: grade=‘A’; case 9: case 10: grade=‘A’; break; break; default: System.out.println(“Invalid test score”); default: System.out.println(“Invalid test score”);}

30 public class SwitchDemo { public static void main(String[] args) { int month = 8; switch (month) { case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 3: System.out.println("March"); break; case 4: System.out.println("April"); break; case 5: System.out.println("May"); break; case 6: System.out.println("June"); break; case 7: System.out.println("July"); break; case 8: System.out.println("August"); break; case 9: System.out.println("September"); break; case 10: System.out.println("October"); break; case 11: System.out.println (" November"); break; case 12: System.out.println("December"); break; }

31 ฝึกปฏิบัติ Exercise

32 ตอบคำถามผลลัพธ์ส่วนของโปรแกรม ต่อไปนี้ if (6 < 2 * 5) System.out.print(“Hello”); System.out.print(“ There”); ผลลัพธ์ …………………………………………………. if (7 <= 7) System.out.println(6 – 9 * 2 / 6); ผลลัพธ์ ………………………………………………….

33 if (7 < 8) {System.out.println(“ ”); System.out.println(“ ”); } ผลลัพธ์ …………………………………………………. if (5 < 3) System.out.println(“*”);else if (7 == 8) System.out.println(“&”);elseSystem.out.println(“$”); ผลลัพธ์ ………………………………………………….

34 x = 100; y = 200; if (x > 100 && y 100 && y <= 200) System.out.println(x + y); else System.out.println(2 * x – y); ผลลัพธ์ …………………………………………………. alpha = 5; switch (alpha) {case 1 : case 2 : alpha = alpha + 2; break; case 4 : alpha++; case 5 : alpha = 2 * alpha; case 6 : alpha = alpha + 5; break; default : alpha- -; } ผลลัพธ์ alpha = ……………………………………….

35 beta = 3; switch (beta) {case 3 : beta = beta + 3; case 1 : beta++; break; case 5 : beta = beta + 5; case 4 : beta = beta + 4; } ผลลัพธ์ beta = ………………………………………. a = 6; if (a > 0) switch (a) {case 1 : a = a + 3; case 3 : a++; break; case 6 : a = a + 6; case 8 : a = a * 8; break; default : a- -; }else a = a + 2; ผลลัพธ์ a = …………….……………………………….

36 ให้นำส่วนของโปรแกรมต่อไปนี้ไปใช้ในการเขียนโปรแกรมชื่อ Findab.java ให้สมบูรณ์เพื่อแสดงผลลัพธ์ของ a และ b และ b int a = 3, b = 5; boolean found; if (a > a * b && 10 a * b && 10 < b) found = 2 * a > b; else {found = 2 * a < b; if (found) {a = 3; b = 15; } if (b > 0) {b = 0; a = 1; }} ผลลัพธ์ a = ……….……………………………………. ผลลัพธ์ b = ………………………….………………….

37 Exercise  ให้เขียนโปรแกรมเพื่อรับข้อมูลตัวเลข 5 ตัว แล้วหาผลรวม และ ค่าเฉลี่ย (FindTotal_Avg.java) Enter number1 : Enter number2 : Enter number3 : Enter number4 : Enter number5 : Sum = Average =

38 Exercise: เขียนโปรแกรมตรวจสอบค่าตัวเลข (FindNumber.java)  รับค่าตัวเลขจำนวนเต็ม 1 ตัว ผ่าน Input Dialog Box  ตรวจสอบว่าตัวเลขนั้นเป็นเลขเต็มบวก เต็มลบ หรือว่าเลขศูนย์  แสดงผลข้อมูลผ่านทาง Output Dialog Box หรือผ่านทาง คอนโซล

39 Exercise: เขียนโปรแกรมค้นหาตัวเลขที่มีค่าสูงสุด (FindMax.java) เขียนโปรแกรมค้นหาตัวเลขที่มีค่าสูงสุด (FindMax.java)  รับค่าตัวเลขจำนวนเต็ม 3 ตัว ผ่าน Input Dialog Box  ตรวจสอบว่าตัวเลขทั้ง 3 ตัวนั้น ตัวใดมีค่าสูงสุด  แสดงผลตัวเลขที่มีค่าสูงสุดผ่านทาง Output Dialog Box หรือ ผ่านทางคอนโซล

40 Exercise  เขียนโปรแกรมแปลงค่าจากหน่วยฟุต เป็นเซนติเมตร 2 ฟุต 6 นิ้ว = ? เซนติเมตร2 ฟุต 6 นิ้ว = ? เซนติเมตร แปลงหน่วยฟุตไปเป็นนิ้ว (1 ฟุต = 12 นิ้ว ) แปลงหน่วยฟุตไปเป็นนิ้ว (1 ฟุต = 12 นิ้ว ) –2 ฟุต 6 นิ้ว = (2 * 12) + 6 = 30 นิ้ว แปลงหน่วยนิ้วไปเป็นเซนติเมตร (1 นิ้ว = 2.54 เซนติเมตร ) แปลงหน่วยนิ้วไปเป็นเซนติเมตร (1 นิ้ว = 2.54 เซนติเมตร ) –30 นิ้ว = 30 * 2.54 = เซนติเมตร

41 Exercise  สร้างไฟล์ใหม่ตั้งชื่อว่า Exercise.java  เขียนโปรแกรมคำนวณหาค่าพื้นที่สามเหลี่ยม รับค่าตัวแปรที่เป็นค่าความยาวฐาน และค่าความสูงของ สามเหลี่ยม รับค่าตัวแปรที่เป็นค่าความยาวฐาน และค่าความสูงของ สามเหลี่ยม คำนวณ พื้นที่สามเหลี่ยม = 0.5 * ความยาวฐาน * ความสูง คำนวณ พื้นที่สามเหลี่ยม = 0.5 * ความยาวฐาน * ความสูง แสดงผลค่าพื้นที่สามเหลี่ยมที่คำนวณได้ แสดงผลค่าพื้นที่สามเหลี่ยมที่คำนวณได้  การรับค่าและการแสดงผล ให้กระทำผ่าน JOptionPane

42 Exercise: switch เขียนโปรแกรมค้นหาตัวอักษรบนโทรศัพท์  รับค่าตัวเลขจำนวนเต็ม 1 จำนวน ( ระหว่าง 0-9)  ตรวจสอบว่าบนโทรศัพท์มือถือที่ตำแหน่งตัวเลขดังกล่าว มี ตัวอักษรอะไรบ้าง ตัวเลข 1 -> ตัวอักษร : ไม่มี ตัวเลข 2 -> ตัวอักษร : a b c ตัวเลข 3 -> ตัวอักษร : d e f ตัวเลข 4 -> ตัวอักษร : g h i ตัวเลข 5 -> ตัวอักษร : j k l  ถ้ารับค่าตัวเลขอื่น ที่ไม่อยู่ระหว่าง 0-9 ให้แสดงข้อความว่า “Input number is incorrect!!!” ตัวเลข 6 -> ตัวอักษร : m n o ตัวเลข 7 -> ตัวอักษร : p q r s ตัวเลข 8 -> ตัวอักษร : t u v ตัวเลข 9 -> ตัวอักษร : w x y z ตัวเลข 0 -> ตัวอักษร : ไม่ มี

43 Exercise: switch เขียนโปรแกรมค้นหาตัวอักษรบนโทรศัพท์ เขียนโปรแกรมค้นหาตัวอักษรบนโทรศัพท์

44 The End


ดาวน์โหลด ppt Control Structures Control Structures โครงสร้างควบคุมการทำงานโครงสร้างควบคุมการทำงาน.

งานนำเสนอที่คล้ายกัน


Ads by Google