โปรแกรมควบคุมเลือกทำตามเงื่อนไข
จัดทำโดย 565703044 นายนิอุสมาน ปาเกแม 565703038 นายจักรพงษ์ เกตุกลางดอน 565703038 นายวิระศักดิ์ ขันเอียด 565703061 นายหัมลานน์ ดือราโอ
หัวข้อที่นำเสนอ คำสั่งที่ใช้ในโปรแกรมควบคุมเลือกทำตามเงื่อนไข เครื่องหมายเปรียบเทียบในโปรแกรมควบคุมเลือกทำตามเงื่อนไข ตัวอย่าง Flowchart ที่ใช้ในโปรแกรมควบคุมเลือกทำตามเงื่อนไข
โปรแกรมควบคุมเลือกทำตามเงื่อนไข โปรแกรมควบคุมเลือกทำตามเงื่อนไข if-else, switch-case
โปรแกรมควบคุมเลือกทำตามเงื่อนไข เป็นคำสั่งที่ใช้เลือกทำโดยพิจารณาจากเงือนไขที่กำหนด (condition statement)
โปรแกรมควบคุมเลือกทำตามเงื่อนไข คำสั่งเงื่อนไขที่ใช้ในควบคุมการเลือกได้แก่ if, if-else switch-case
คำสั่งเงื่อนไข if จะเลือกทำคำสั่ง (หรือกลุ่มคำสั่ง) ก็ต่อเมื่อ ตรวจสอบเงื่อนไขแล้ว เป็นจริง ตัวอย่าง Flowchart ของโครงสร้างแบบทางเลือก if เงื่อนไข เท็จ คำสั่ง จริง
รูปแบบของโครงสร้างแบบทางเลือก if เงื่อนไขในการตรวจสอบจะเป็นชนิด boolean คือ จริง (true) หรือ เท็จ (false) if (เงื่อนไขที่ต้องการตรวจสอบ) คำสั่ง; if เป็นคำสงวน ถ้าเงื่อนไขเป็นจริง คำสั่งนี้จะถูกทำงาน ถ้าเงื่อนไขเป็นเท็จ โปรแกรมจะไม่ทำคำสั่งนี้
คำสั่งเงื่อนไข if ตัวอย่างของการใช้คำสั่ง if if (x > 0) total = total * x; System.out.println(“The total is ”+total); โปรแกรมจะตรวจสอบว่าค่าของ x มากกว่า 0 หรือไม่ หากมากกว่า(จริง) ตัวแปร total จะคูณกับ x หากน้อยกว่า(เท็จ) คำสั่งในการคำนวณ total จะถูกข้าม หลังจากการทำงานของคำสั่ง if ในส่วนของ println ก็จะถูก เรียกใช้งาน
เครื่องหมายเปรียบเทียบ เครื่องหมายที่ใช้ในการเปรียบเทียบ (relational operators)และให้ผลลัพธ์เป็น boolean ได้แก่ > มากกว่าหรือไม่ < น้อยกว่าหรือไม่ >= มากกว่าหรือเท่ากันหรือไม่ <= น้อยกว่าหรือเท่ากันหรือไม่ != ไม่เท่ากันหรือไม่ == เท่ากันหรือไม่ เครื่องหมาย = นั้นเป็นการกำหนดค่า แต่ == นั้น เป็นการเปรียบเทียบค่า
คำสั่งเงื่อนไข if-else else สามารถถูกเพิ่มใน คำสั่งเงื่อนไขของ if ได้ โดยจะเรียกว่าเป็นคำสั่ง if-else ตัวอย่าง Flowchart ของโครงสร้างแบบทางเลือก if-else เงื่อนไข เท็จ คำสั่งที่ 1 จริง คำสั่งที่ 2 คำสั่งที่ 3
รูปแบบของโครงสร้างแบบทางเลือก if-else คำสั่งที่ 1; else คำสั่งที่ 2; หากเงื่อนไขเป็น “จริง” โปรแกรมจะทำงานใน คำสั่งที่ 1 หากเงื่อนไขเป็น “เท็จ” โปรแกรมจะทำงานใน คำสั่งที่ 2
กลุ่มคำสั่ง (Block Statements) คำสั่งที่อยู่ภายใต้คำสั่ง if-else สามารถมีได้มากกว่า 1 คำสั่ง เรียกว่า กลุ่มคำสั่ง หรือ Block Statements กลุ่มคำสั่งจะอยู่ภายในเครื่องหมาย {……}
คำสั่งเงื่อนไข if-else-if-else (Nested if) ตัวอย่าง Flowchart ของโครงสร้างแบบทางเลือก nested if เงื่อนไขที่ 1 เท็จ คำสั่งที่ 1 จริง คำสั่งที่ 5 คำสั่งที่ 2 เงื่อนไขที่ 2 เงื่อนไขที่ 3 คำสั่งที่ 3 คำสั่งที่ 4
รูปแบบของโครงสร้างของ if-else-if-else คำสั่งที่ 1; else if (เงื่อนไขที่ 2) คำสั่งที่ 2; else if (เงื่อนไขที่ 3) คำสั่งที่ 3; else คำสั่งที่ 4;
การเปรียบเทียบ Strings การเปรียบเทียบสตริง จะใช้เมธอด compareTo และequals ตัวอย่าง การใช้เมธอด compareTo และ equals String s1="abc",s2="xyz",s3="abc"; if(s1.compareTo(s2)<0) System.out.println(“s1<s2"); if(s1.compareTo(s3)==0) System.out.println(“s1==s3"); if(s1.equals(s3)) System.out.println(“s1 equals s3"); เมธอด compareTo จะนำค่า unicode ของสตริงมาเปรียบเทียบ เมธอด equals จะให้ค่าเป็นจริง ก็ต่อเมื่อ สตริงทั้งสองเหมือนกัน
การเปรียบเทียบ จำนวนทศนิยม การเปรียบเทียบจำนวนทศนิยม(float,double) จะต้องมีความระมัดระวังในการเปรียบเทียบความเท่ากัน ในการเขียนโปรแกรมจะหลีกเลี่ยงการใช้เครื่องหมาย == และใช้การเปรียบเทียบในลักษณะมากกว่าหรือน้อยกว่าแทน ตัวอย่างเช่น if(Math.abs(x-y) > 0.0001)
คำสั่งเงื่อนไข switch-case นิพจน์ที่อยู่ในคำสั่ง switch จะถูกประมวลว่าตรงกับ case ใด โปรแกรมก็จะทำงานตามคำสั่งที่อยู่ใน case นั้นๆ โดยค่าที่ใช้ตรวจสอบ จะต้องเป็นจำนวนเต็มที่เล็กว่าหรือเทียบเท่า int รวมไปถึง char ตรวจสอบ คำสั่งที่ 1 2 1 คำสั่งที่ 2 คำสั่งที่ 3 3
โปรแกรมควบคุมเลือกทำตามเงื่อนไขswitch-case { case ค่าที่ 1 : คำสั่งที่ 1; case ค่าที่ 2 : คำสั่งที่ 2; case ค่าที่ 3 : คำสั่งที่ 3; case … … } switch และ case คือคำสงวน
คำสั่งเงื่อนไข switch-case บ่อยครั้งที่จะใช้คำสั่ง break เป็นคำสั่งสุดท้ายในแต่ละ case เมื่อโปรแกรมพบคำสั่ง break จะทำให้โปรแกรมออกจากคำสั่ง switch หากไม่มีคำสั่ง break โปรแกรมจะทำงานใน case ถัดๆไป switch (นิพจน์ที่ต้องการตรวจสอบ) { case ค่าที่ 1 : คำสั่งที่ 1; break; case ค่าที่ 2 : คำสั่งที่ 2; break; case ค่าที่ 3 : คำสั่งที่ 3; break; case … … break; }
คำสั่งเงื่อนไข switch-case default เป็นอีกกรณีหนึ่งในคำสั่ง switch-case ในกรณีที่ตรวจสอบแล้วพบว่า นิพจน์ มีค่าไม่ตรงกับ case ใดๆเลย โปรแกรมจะเข้าไปทำงานในส่วนของ default default เป็นคำสงวน
คำถาม คำสั่งที่อยู่ภายใต้คำสั่ง if-else สามารถมีได้มากกว่า 1 คำสั่งเรียกว่าอะไร ก. กลุ่มคำสั่ง ข. Default ค. Statement ง. คำสั่ง