การทำงานแบบมีเงื่อนไข (if, if-else, if-else-if, Nested-if)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Advertisements

Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
PHPPHP การเขียนโปรแกรมคอมพิวเตอร์ 1 สาขาวิชาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ.
บทที่ 6 บทที่ 6 คำสั่งแก้ไขปัญหาแบบ เลือก (CONDITION)
บทที่ 5 การควบคุมทิศทางการทำงานของโปรแกรม
การเขียนโปรแกรมคอมพิวเตอร์ Computer programming
BC322 : Computer Programing (ครั้งที่ 1)
การเขียนโปรแกรม ภาษาซีเบื้องต้น โดย คุณครูปวีณา แนววงศ์
บทที่ 4 คำสั่งควบคุม โปรแกรม. คำสั่งควบคุมโปรแกรมออกได้เป็น 2 ประเภท คือ คำสั่งแบบกำหนดเงื่อนไข (Conditional Statement) คำสั่งแบบทำงานซ้ำ (Repetitive.
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
การเขียนโปรแกรมภาษาปาสคาล โดยใช้โครงสร้างหลักทั้ง 3 โครงสร้าง
การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
การเขียนผังงานเบื้องต้น (Flow chart)
หลักการโปรแกรม 1 Lecture 8: การทำซ้ำ (while, do-while)
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
แบบทดสอบ MICROSOFT EXCEL มีข้อมูลในแผ่นงานตั้งแต่แถวที่ 1 ถึงแถว 500 และคอลัมน์ A จนถึงคอลัมน์ M วิธีการเลือกช่วง ข้อมูลวิธีใด อย่างไร ที่อำนวยความสะดวกได้ดีและให้ผลรวดเร็ว.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
คำสั่งควบคุมการทำงาน
บทเรียนโปรแกรมเพื่อการทบทวน
การเขียนผังงานเบื้องต้น
เกม คณิตคิดเร็ว.
บทที่ 5 การใช้คำสั่ง Select Case , For Next และ Do While
บทที่ 4 การเขียนรหัสเทียม (Pseudo Code)
การเขียนโปรแกรม ภาษาปาสคาล (Pascal)
Chapter 4 ข้อความสั่ง เลือกทำ.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 4 เครื่องหมาย ตรรกะศาสตร์ และการดำเนินการทางตรรกะศาสตร์
การแสดงขั้นตอนวิธีด้วยรหัสเทียม (Pseudo-Code)
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 6 ผังงานและการออกแบบผังงานเพื่อแก้ปัญหาการเขียนโปรแกรมเบื้องต้น.
ACCOUNTING FOR INVENTORY
START INPUT R = 1 R = R Yes R*R <=2 No R = R PROCESS
การบัญชีต้นทุนช่วง (Process Costing).
หน่วยการเรียนที่ 4 เรื่อง การควบคุมทิศทางการทำงาน
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 13 การออกแบบผังงานแบบมีเงื่อนไขร่วมกับการทำงานแบบวนซ้ำ.
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 13 การเขียนรหัสเทียม (Pseudo Code)
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
การวิเคราะห์ปัญหา (Problem Analysis)
Control Statement เงื่อนไขคำสั่งในโปรแกรม ภาษา C
บทที่ 8 เงื่อนไขตัดสินใจ
สาระการเรียนรู้ ความหมายของอัลกอริทึม วิธีการเขียนผังงานที่ดี
การทำใบจัดซื้อ/จ้าง.
ขั้นตอนวิธี Algorithms.
บทที่ 2 อัลกอริธึมและการวิเคราะห์ปัญหา
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
“Thailand’s Sustainable Business” ณ โรงแรมเชอราตัน แกรนด์ สุขุมวิท
BC320 Introduction to Computer Programming
บทที่ 9 การทำซ้ำ (Loop).
การเขียนภาษาจาวาเบื้องต้น
บทที่ 3 Programming By Wathinee duangonnam
Week 5 C Programming.
SMS News Distribute Service
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
“ถ้าหากบริษัทบุหรี่ต้องหยุดทำการตลาดที่พุ่งเป้าไปที่เด็กๆ บริษัทบุหรี่จะล้มละลายภายใน 25 – 30 ปี เพราะจะไม่มีลูกค้าเพียงพอที่ธุรกิจจะอยู่ได้”
การเขียนโปรแกรม ด้วยภาษาคอมพิวเตอร์
บทที่ 7 การประมวลผลอาร์เรย์
บทที่ 8 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
การเคลื่อนที่แบบโปรเจคไตล์ (Projectile Motion) จัดทำโดย ครูศุภกิจ
OPERATOR ภาษาปาสคาล (Pascal)
2 โครงสร้างข้อมูลแบบสแตก (STACK).
กิจกรรมที่ 7 นายปรีชา ขอวางกลาง
Chapter 3 : Array.
Array: One Dimension Programming I 9.
การวิเคราะห์โจทย์ปัญหา (Problem Analysis)
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
Decision: Single and Double Selection (if and if-else statement)
บทที่ 7 การบัญชีภาษีมูลค่าเพิ่ม
Computer Game Programming
ใบสำเนางานนำเสนอ:

การทำงานแบบมีเงื่อนไข (if, if-else, if-else-if, Nested-if) 226111 Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 10 การทำงานแบบมีเงื่อนไข (if, if-else, if-else-if, Nested-if)

Outline 1 Problem Reviews 2 p if 3 if-else 4 if-else if 5 Nested-if

Objectives เพื่อให้นิสิตรู้และเข้าใจกระบวนการในการวิเคราะห์โจทย์ปัญหาแบบมีเงื่อนไข if if-else if-else if Nested if เพื่อเตรียมความพร้อมให้นิสิตสามารถวิเคราะห์และแก้ปัญหาโจทย์การทำงานแบบมีเงื่อนไขอันเป็นพื้นฐานในการประมวลผลเบื้องต้นของภาษาคอมพิวเตอร์ได้

Outline 1 Problem Reviews 2 p if 3 if-else 4 if-else if 5 Nested-if

Review #1 1. บริษัทรถโดยสารแห่งหนึ่งต้องการโปรแกรมสำหรับคิด ค่าบริการยอดรวม (ยอดเงินรวม) ในแต่ละเที่ยวการ เดินทางจากต้นทางคือกรุงเทพและปลายทางคือแม่สาย (เชียงราย) จำนวนที่นั่งของรถแต่ละคันมีทั้งหมด 32 ที่นั่ง และรถโดยสารมีกำหนดออกเดินทางชั่วโมงละคัน ซึ่งผู้โดยสาร อาจจะเต็มหรือไม่ก็ได้ โดยมีอัตราค่าโดยสารดังนี้ เด็กเล็กความสูงไม่เกิน 100 cm สามารถติดตามผู้ปกครองได้โดยไม่ เสียค่าใช้จ่าย เด็กที่มีความสูงอยู่ในช่วง 100-130 cm คิดอัตราค่าโดยสารคนละ 350 บาท เด็กที่มีความสูง 130 cm ขึ้นไปคิดอัตราค่าโดยสาร 750 บาท ผู้ใหญ่คิดอัตราค่าโดยสาร 750 บาท

T== ‘C’ m1 +1 T==‘B’ m2 +1 i +1 T==‘A’ m3 +1 T== ‘E’ START for i =1 to 32 first, last, seat, type m1, m2,m3, money T== ‘C’ m1 +1 T==‘B’ first, last, seat m2 +1 i +1 T==‘A’ m3 +1 first, last, seat T== ‘E’ 1 2

2 Money = m1*350+m2*750 +m3*750 money END

Review #2 2. ร้านวิสุทธ์พาณิชย์ต้องการโปรแกรมเพื่อคิดราคายอดรวมสินค้าของลูกค้าแต่ละราย ซึ่งลูกค้าสามารถซื้อสินค้าได้มากกว่าหนึ่งชิ้นและไม่จำเป็นต้องซื้อทุกรายการ โดยสินค้ามีรายละเอียดดังต่อไปนี้ สบู่เหลว Shokubutsu 500 ml ราคา 350 บาท -> A แชมพู Tsubaki 500 ml ราคา 499 บาท -> B ยาสีฟัน Oral B 160 g ราคา 170 บาท -> C โฟมล้างหน้า Shokubutsu 100 g ราคา 120 บาท -> D น้ำยาบ้วนปาก Listerine 250 ml ราคา 125 บาท -> E ครีมบำรุงผิว Vasseline 600 ml ราคา 220 บาท -> F ภาษีมูลค่าเพิ่มคิด 7 % ของราคาสินค้า

T== ‘A’ T==‘B’ i +1 T==‘C’ T== ‘F’ START for i =1 to 6 first, last, id, m1, ...,m5,m6 vat, money, total money T== ‘A’ m1 T==‘B’ first, last, id m2 i +1 A T==‘C’ . m3 first, last, id T== ‘F’ m6 F 1 2

2 Money = (m1*350)+(m2*499)+(m3*170)+(m4*120)+(m5*125)+(m6*220) Vat = money*0.07 Total money = money+vat Total money END

Review #3 3. จงคำนวณหาหาระยะทางสูงสุดที่ลูกบอลลอยขึ้นไปได้สำหรับการเคลื่อนที่ในแนวโพรเจ็คไทล์ โดยลูกบอลถูกขว้างออกไปด้วยความเร็วเท่ากับ 115. 67 m/s ทำมุม 30 องศา กับแนวระดับ (cos =30. , sin =30. ) กำหนดให้ความเร่งสู่ศูนย์ถ่วงของโลก (g) เท่ากับ 9.8 m/s2 และสมการเคลื่อนที่ในแนวโปรเจ็คไทล์มีดังนี้ สมการการเคลื่อนที่ในแนวดิ่ง สมการการเคลื่อนที่ในแนวราบ

1 START U, Zeta, seat, g Sx, Sy U, Zeta U, Zeta U, Zeta 1 END

Review #4 4. จงวิเคราะห์โปรแกรมเพื่อรับอักษรตัวเล็กมา 100 ตัว แล้วตรวจสอบว่ามีอักษรที่เป็นสระกี่ตัว และไม่ใช่สระกี่ตัว

START vowel=0,alphabet=0, count,letter count = 0 False True count ++ END vowel=0,alphabet=0, count,letter count = 0 letter letter is vowel vowel++ alphabet++ count ++ Count<=100 vowel alphabet True false False

Outline 1 Problem Reviews 2 p if 3 if-else 4 if-else if 5 Nested-if

if Condition Control Statement (1) True False if (Boolean expression) statement; if (expression) statement; if (Condition) statement;

if Condition Control Statement (2) True False Statement-2; if (Boolean expression) { statement-1; statement-2; ... statement-n; }

if Condition Control Statement (3) IF (Condition) THEN BEGIN Statement 1 ; Statement 2 ; END;

if Condition Control Statement (4) ในการเปรียบเทียบเงื่อนไขแบบ IF – THEN นิยมให้ทำงานตามคำสั่งเมื่อเงื่อนไขมีค่าเป็นจริง ไม่นิยมให้ทำงามตามคำสั่งเป็นเท็จ Condition Statement-1; Statement T F Statement-2; Condition Statement-1; 1 Statement-2; Statement;

if and Boolean Expression Condition int a = 5 ; int b = 4 ; if (a > b) { statement 1; statement 2; statement n; } printf(); a > b True False statement 1; statement 2; statement 3;

Example 3 จงเขียนผังงานและโปรแกรมรับชื่อนามสกุล รหัสนักศึกษา คะแนนสอบรวม และคะแนนเต็ม หากนักศึกษาสอบได้มากกว่า 60% ให้แสดงผลชื่อ นามสกุล รหัสนักศึกษา คะแนน และผลสอบว่าผ่าน Input Analysis ชื่อ / นามสกุล / รหัสนักศึกษา / คะแนนสอบ / คะแนนเต็ม Output Analysis แสดงผลชื่อ-สกุล รหัสนักศึกษา คะแนนสอบ ผลสอบ Process Analysis โปรแกรมรอรับชื่อ / นามสกุล / รหัสนักศึกษา / คะแนนสอบ / คะแนนเต็ม ตรวจสอบว่าคะแนนมากกว่าหรือเท่ากับ 60 % หรือไม่ ถ้าจริง แสดงผลชื่อ-สกุล รหัสนักศึกษา คะแนน และแสดงว่าสอบผ่าน

Example 3 (cont.) Variable Define first : ตัวแปรชนิดข้อความสำหรับเก็บชื่อขนาด 20 last : ตัวแปรชนิดข้อความสำหรับเก็บนามสกุลขนาด 20 id : ตัวแปรชนิดข้อความสำหรับเก็บรหัสนักศึกษาขนาด 9 point : ตัวแปรชนิดจำนวนทศนิยมสำหรับเก็บคะแนนรวม full : ตัวแปรชนิดจำนวนทศนิยมสำหรับเก็บคะแนนเต็ม

Process Description 4. แสดงผล คะแนนสอบและคะแนนเต็ม 6. จบการทำงาน 1. เริ่มต้นการทำงาน 2. รับค่า ชื่อ / นามสกุล / รหัสนักศึกษา / คะแนนสอบ / คะแนนเต็ม 3. แสดงผล ชื่อ / นามสกุล / รหัสนักศึกษา 4. แสดงผล คะแนนสอบและคะแนนเต็ม 5. ตัดสินใจเพื่อทำคำสั่งควบคุมการทำงานแบบมีเงื่อนไข โดยถ้านักศึกษาสอบได้มากกว่า 60% แล้วให้แสดง ชื่อ / นามสกุล / รหัสนักศึกษา / คะแนนสอบ และผลสอบ 6. จบการทำงาน

Pseudo Code 4. Show Point / Full Point 1. Begin 2. Read Name / Surname / ID / Point / Full Point 3. Show Name / Surname / ID 4. Show Point / Full Point 5. if (Point > = 60 %) Show Name / Surname / ID / Point / Passed 6. End

Flowchart START first, last, id, point/full >= 0.6 point, full 1 START point/full >= 0.6 first, last, id, point, full False first, last, id True "passed" point, full 1 END

Outline 1 Problem Reviews 2 p if 3 if-else 4 if-else if 5 Nested-if

if-else Condition Control Statement (1) if (Boolean expression) statement-1; else statement-2; การทำงานขึ้นอยู่กับเงื่อนไข ถ้าเป็นจริงไปทำงานด้านหนึ่ง ถ้าเป็นเท็จก็จะไปทำงานอีกอย่างหนึ่ง

If-else Condition Control Statement (2) ……… T F Statement-2.1; Statement-2.2; if (expression) { statement-1.1; statement-1.2; ... statement-1.n; } else statement-2.1; statement-2.2; statement-2.n;

If-else Condition Control Statement (3) ถ้า sex =1 เงื่อนไขเป็นจริง จะเพิ่มค่าตัวแปร Male ขึ้นอีก 1 ถ้า sex !=1 เงื่อนไขเป็นเท็จ จะเพิ่มค่าตัวแปร Female ขึ้นอีก 1 False Sex = 1 True Female = Female + 1 Male = Male +1

If-else Condition Control Statement (4) เริ่มต้น START STOP read age age > 60 “You are old” True False “You are young” รับค่าใส่ตัวแปร age เปรีบเทียบค่า age มากกว่า 60 ทำตามคำสั่งของทางเลือก ให้ตรงกับเงื่อนไข จบการทำงาน

If-else Condition Control Statement (5) เริ่ม เริ่มการทำงาน พิมพ์ Do you like Pascal แสดงข้อความ Do you like Pascal รับค่า ans รับค่าใส่ตัวแปร answer False True ans = ‘y’ OR ans=‘Y’ เปรียบเทียบค่า ans เท่ากับ y หรือ Y - ถ้าเป็นจริง พิมพ์ Thank you ถ้าเป็นเท็จ พิมพ์ I’m sorry to hear that พิมพ์ I’m sorry to hear that พิมพ์ Thank You พิมพ์ Good Bye พิมพ์คำว่า Goodbye จบการทำงาน จบ

if –else Condition Control Example (1) จงเขียนผังงานและโปรแกรมหารเลข 2 จำนวน โดยโปรแกรมต้องตรวจสอบได้ว่าตัวหารเป็น "0" หรือไม่ จงวิเคราะห์โจทย์ เขียนขั้นตอนการทำงานอย่างละเอียด เขียนรหัสเทียม เขียน Flowchart

if –else Condition Control Example (2) START 1 num1, num2 num2 != 0 False num1 "Error" True num1/num2 num2 1 END

Outline 1 Problem Reviews 2 p if 3 if-else 4 if-else if 5 Nested-if

if-else-if condition control statement (1) if (expression-1) statement-1; else if (expression-2) statement-2; ... else if (expression-m) statement-m; else statement-m+1;

if-else-if condition control statement (2) if (expression-1) { statement-1.1; ... statement-1.n; } else if (expression-2) statement-2.1; statement-2.n; ... else if (expression-m) { statement-m.1; statement-m.n; } else statement-m+1.1; statement-m+1.n;

if-else-if condition control statement (3) เป็นรูปแบบการเลือกการทำงานที่มีทางเลือกมากกว่า 2 ทางขึ้นไป Condition กรณี 1 กรณี 2 กรณี 3 กรณี 4 Statement 1; Statement 2; Statement 3; Statement 4;

if-else-if condition control statement (4) Score = mid + final score 80..100 70..79 60..69 50..59 0..49 Grade = ‘A’ Grade = ‘B’ Grade = ‘C’ Grade = ‘D’ Grade = ‘F’

if-else-if condition control Example (1) จงเขียนผังงานและโปรแกรมสำหรับรับ ชื่อ นามสกุล รหัสนักศึกษา และคะแนนวิชา Computers and Programming เพื่อตรวจสอบว่านักศึกษาได้เกรดระดับใด โดยใช้เกณฑ์ดังนี้ คะแนน 90 – 100 ได้เกรด A คะแนน 80 – 89.99 ได้เกรด B คะแนน 70 – 79.99 ได้เกรด C คะแนน 60 – 69.99 ได้เกรด D คะแนน 0 – 59.99 ได้เกรด F แล้วแสดงผลลัพธ์ ชื่อ สกุล รหัสนักศึกษา คะแนน และเกรด

if-else-if condition control Example (2) Output Analysis แสดงชื่อ นามสกุล รหัสนักศึกษา คะแนน และเกรดที่ได้ Input Analysis ชื่อ / นามสกุล / รหัสนักศึกษา / คะแนน Process Analysis โปรแกรมรอรับชื่อ / นามสกุล / รหัสนักศึกษา / คะแนนสอบ แสดงผลชื่อ-สกุล รหัสนักศึกษา และคะแนน

if-else-if condition control Example (3) Process Analysis (ต่อ) การตรวจสอบคะแนนสอบ ถ้ามากกว่าหรือเท่ากับ 90 แสดงผลว่าได้เกรด A ถ้ามากกว่าหรือเท่ากับ 80 แสดงผลว่าได้เกรด B ถ้ามากกว่าหรือเท่ากับ 70 แสดงผลว่าได้เกรด C ถ้ามากกว่าหรือเท่ากับ 60 แสดงผลว่าได้เกรด D ถ้าไม่ตรงเงื่อนไขที่ผ่านมาทั้งหมด แสดงผลว่าได้เกรด F

if-else-if condition control Example (4) Variable Define first : ตัวแปรชนิดข้อความสำหรับเก็บชื่อขนาด 20 last : ตัวแปรชนิดข้อความสำหรับเก็บนามสกุลขนาด 20 id : ตัวแปรชนิดข้อความสำหรับเก็บรหัสนักศึกษาขนาด 9 point : ตัวแปรชนิดจำนวนเต็มสำหรับเก็บคะแนน

if-else-if condition control Example (5) first, last, id, point first, last, id, point "Grade A" START a b True False Point >= 90

if-else-if condition control Example (6) "Grade C" True "Grade D" False END "Grade F" Point >= 60 Point >= 70 Point >= 80 "Grade B" a b

Outline 1 Problem Reviews 2 p if 3 if-else 4 if-else if 5 Nested-if

Nested if Condition Control Statement (1) if (expression-1) statement-1; else if (expression-2) statement-2; if (expression-3) statement-3; statement-4;

statements to be executed if test expression is true; else if(test expression 1) statements to be executed if test expressions 1 is true; if (test expression 2) . statements to be executed if all test expressions are false;

Nested if Condition Control Statement (2) True False Condition 2 Statement 2; Condition 3 Statement 3; Statement 4; เป็นรูปแบบการเลือกการทำงานที่มีทางเลือกมากกว่า 2 ทางขึ้นไป

Nested if Condition Control Statement (3) Score = mid + final False Score >=80 True False Score >=70 True Grade = ‘A’ False Score >=60 True Grade = ‘B’ False Score >=50 True Grade = ‘C’ Grade = ‘F’ Grade = ‘D’

Nested if Condition Control Example (2)

Assignment #1: if-else-if condition control จงเขียนโค้ดโปรแกรมสำหรับรับ ชื่อ นามสกุล รหัสนักศึกษา และคะแนนวิชา Computers and Programming เพื่อตรวจสอบว่านักศึกษาได้เกรดระดับใด โดยใช้เกณฑ์ดังนี้ คะแนน 90 – 100 ได้เกรด A คะแนน 80 – 89.99 ได้เกรด B คะแนน 70 – 79.99 ได้เกรด C คะแนน 60 – 69.99 ได้เกรด D คะแนน 0 – 59.99 ได้เกรด F แล้วแสดงผลลัพธ์ ชื่อ สกุล รหัสนักศึกษา คะแนน และเกรด

Assignment #2: Midterm Examination จงวิเคราะห์โจทย์ (Problem Analysis) วิเคราะห์ขั้นตอนการทำงาน (Process Description) เขียนรหัสเทียม (Pseudo Code) พร้อมทั้งเขียนผังงาน (Flowchart) สำหรับข้อสอบกลางภาคที่ผ่านมา