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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Component องค์ประกอบของ GUI.
Advertisements

Chapter 8 : Logic Modeling & Data Modeling
Control Statement if..else switch..case for while do-while.
คำสั่งในการควบคุมโปรแกรม
Control Statement for while do-while.
โปรแกรมควบคุมเลือกทำตามเงื่อนไข
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
Lecture no. 5 Control Statements
Lecture 4: ทางเลือก, เงื่อนไขของทางเลือก
การควบคุมทิศทางการทำงาน
คำสั่ง while ควบคุมการทำงานวนซ้ำ กรณีระบบงานมีลักษณะตรวจสอบเงื่อนไขก่อน แล้วเข้าสู่ส่วนลำดับงานคำสั่งที่กำหนดไว้ การเขียนคำสั่ง while ต้องกำหนดนิพจน์แบบตรรกะเป็นเงื่อนไขมีค่าในหน่วยความจำเป็น.
ผังงานโปรแกรม (Program Flowchart)
คำสั่งแบบเลือกทำ Week 6.
Lab 4: คำสั่ง if - else อ.ณัฐพงศ์ พยัฆคิน.
Repetitive Statements (Looping)
โครงสร้างคำสั่งแบบเลือก (Selection)
คำสั่งเงื่อนไขและการควบคุม
คำสั่งควบคุมการทำงาน
การควบคุมทิศทางการทำงานของโปรแกรม
ตัวอย่างการใช้คำสั่ง IF_THEN
Relational Operators by Accords (IT SMART CLUB 2006) by Accords 1.
คำสั่งควบคุม (Control Statement)
 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
Flowchart รูปแบบ If ซ้อน If ก็คือ การเอา If ไปไว้ใน If ทางฝั่ง True  โดยโครงสร้าง If ซ้อน If นั้นเอาไว้ใช้กับ กรณีตรวจสอบเงื่อนไขที่มากกว่า 2 กรณี เพราะเนื่องจาก.
คำสั่งควบคุมการทำงาน
รูปแบบ if-else if if (เงื่อนไข1) {
Flow Control.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
Chapter 4 คำสั่งควบคุมทิศทาง
ครั้งที่ 3.
ครูรัตติยา บุญเกิด.
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
คำสั่งควบคุมการทำงานของ ActionScripts
Week 3 Flow Control in PHP
Week 6 การทำซ้ำโดย for loop
Computer Programming for Engineers
Week 5 การทำซ้ำโดย while loop และ do while loop
Week 7 การเขียนโปรแกรมเบื้องต้น
Week 6 การทำซ้ำโดย for loop
Chapter 5 การทำซ้ำโดย while loop และ do while loop
Week 5 การทำซ้ำโดย while loop และ do while loop
บทที่ 10 คำสั่งควบคุม OUTLINE 1. คำสั่งแบบเรียงลำดับ (Sequence)
คำสั่งควบคุมขั้นตอน Flow control statements
การออกแบบโครงสร้าง (Structured Design)
CHAPTER 4 Control Statements
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรที่ ๑ ทักษะการโปรแกรม เบื้องต้น วันที่สาม.
Control Flow.
บทที่ 4 คำสั่งควบคุมแบบมีทางเลือก
อัลกอริทึ่มทำงานวนซ้ำ
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
บทที่ 7 เงื่อนไขในภาษาซี
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
คำสั่งวนซ้ำ.
การเขียนโปรแกรม (ภาษาซี)
Flowchart การเขียนผังงาน.
Variable, Data type, Expression, Operators Data input, Data output
Powerpoint Templates Page 1 Powerpoint Templates Selection Structure โครงสร้างการทำงานแบบทางเลือก.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
Week 5 While and Do-While loop (Control Structure 2)
ผังงานโปรแกรม (Program Flowchart)
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์ สัปดาห์ที่ 5 การเขียนโปรแกรมแบบทางเลือก การเขียนโปรแกรมแบบวนซ้ำ.
การประมวลผลแบบวน ( LOOP )
บทที่ 6 การเขียนโปรแกรมแบบมีเงื่อนไข
INC 161 , CPE 100 Computer Programming
WEEK5-2: 14 SEP 2017 Input / Output Selection Statement
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
ใบสำเนางานนำเสนอ:

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

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

Flow of Execution

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

One-Way Selection Syntax: if(expression) statement

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.

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

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.

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

Two-Way Selection Syntax: if(expression) statement1 else statement2

Two-Way Selection

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

Logic of an if statement condition evaluated false statement true

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

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

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

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 }

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

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

Example if(balance > 50000.00) else if (balance >=25000.00) intererestRate = 0.07; else if (balance >=25000.00) intererestRate = 0.05; else if (balance >=10000.00) intererestRate = 0.03; else intererestRate = 0.00;

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

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

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

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

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

switch Statement

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

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

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

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

ฝึกปฏิบัติ Exercise

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

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

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 = ……………………………………….

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 = …………….……………………………….

ให้นำส่วนของโปรแกรมต่อไปนี้ไปใช้ในการเขียนโปรแกรมชื่อ 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 = ………………………….………………….

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

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

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

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

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

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 -> ตัวอักษร : ไม่มี

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

The End