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

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

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

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


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

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

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

3 Flow of Execution

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

5 One-Way Selection Syntax: if(expression) statement

6 The if Statement The if statement has the following syntax:
The condition must be a boolean expression. It must evaluate to either true or false. if is a Java reserved word if ( condition ) statement; 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 แสดงว่า expression ต้องมีค่าเป็นจริง ถึงจะมีการทำงานตาม statement

8 The if Statement 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 Syntax: if(expression) statement1 else statement2

11 Two-Way Selection

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

13 Logic of an if statement
condition evaluated false statement true

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

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

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
ในกรณีที่คำสั่ง (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.”); Syntax { statement1 statement2 . statementn }

18 Block Statements Several statements can be grouped together into a block statement A block is delimited by braces ( { … } ) A block statement can be used wherever a statement is called for in the Java syntax 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
Syntax if(expression1) statement1 else if(expression2) statement2 else statement3 ในกรณีที่มีทางเลือกมากกว่าสองทาง เราต้องใช้ if เข้ามาซ้อนเอาไว้เพื่อให้ทำเงื่อนไขต่อไป ข้อสังเกตุ else if จะต้องมีเงื่อนไข แต่ถ้าเป็น else จะไม่มีเงื่อนไข

20 Example if(balance > 50000.00) else if (balance >=25000.00)
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"; } if ( score <= 79) {grade =" B"; } {grade =" A"; } message = " score = " + score + "grade = "+grade; JOptionPane.showMessageDialog(null,message); System.exit(0); }

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

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

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

26 switch Statement

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

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

29 Example II switch(score/10) { case 0:case 1:case 2:
case 3:case 4:case 5: grade = ‘F’; break; case 6:grade=‘D’; case 7:grade=‘C’; case 8:grade=‘B’; case 9: case 10: grade=‘A’; 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(“&”); System.out.println(“$”);

34 x = 100; y = 200; if (x > 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
ให้นำส่วนของโปรแกรมต่อไปนี้ไปใช้ในการเขียนโปรแกรมชื่อ Findab.java ให้สมบูรณ์เพื่อแสดงผลลัพธ์ของ a และ b int a = 3, b = 5; boolean found; if (a > 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)
รับค่าตัวเลขจำนวนเต็ม 3 ตัว ผ่าน Input Dialog Box ตรวจสอบว่าตัวเลขทั้ง 3 ตัวนั้น ตัวใดมีค่าสูงสุด แสดงผลตัวเลขที่มีค่าสูงสุดผ่านทาง Output Dialog Box หรือผ่านทางคอนโซล

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

41 Exercise สร้างไฟล์ใหม่ตั้งชื่อว่า Exercise.java
เขียนโปรแกรมคำนวณหาค่าพื้นที่สามเหลี่ยม รับค่าตัวแปรที่เป็นค่าความยาวฐาน และค่าความสูงของสามเหลี่ยม คำนวณ พื้นที่สามเหลี่ยม = 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 โครงสร้างควบคุมการทำงาน

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


Ads by Google