BC322 : Computer Programing (ครั้งที่ 1)
อาจารย์ผู้สอนบรรยาย เว็บไซต์สำหรับ Download Slide bootsara.p@bu.ac.th อาจารย์ศุภชัย พึ่งสังวาลย์ (S.1012) supachai.p@bu.ac.th เว็บไซต์สำหรับ Download Slide http://tulip.bu.ac.th/~bootsara.p BC322 : Computer Programing (ครั้งที่ 1)
สิ่งที่ต้องเตรียม ตำราอ่านประกอบ สมุดจด 1 เล่ม กระดาษสำหรับการ Quiz คู่มือเรียนรู้ภาษาซีด้วยตนเอง. ผศ.รุ่งทิวา เสาร์สิงห์. สำนักพิมพ์ซีเอ็ดยูเคชั่น. 2549. คู่มือเรียนภาษาซี. อรพิน ประวัติบริสุทธิ์. สำนักพิมพ์โปรวิชั่น. 2547. หรือเล่มอื่นที่อ่านแล้วเข้าใจ BC322 : Computer Programing (ครั้งที่ 1)
Course Outline ครั้งที่ Topic (ก่อน Midterm) 1 ทบทวน Flowchart , Pseudo code และ Algorithm 2 The Basic of C Data Types Variables, Constants Operator 3 คำสั่ง printf() คำสั่ง scanf() 4 คำสั่ง if คำสั่ง switch-case 5 คำสั่ง for 6 คำสั่ง while คำสั่ง do..While 7 ตะลุยโจทย์เรื่อง Loop 8 Text File (สอบ lab ในห้อง Comp.) BC322 : Computer Programing (ครั้งที่ 1)
Course Outline ครั้งที่ Topic (หลัง Midterm) 9 SubProgram 10 One-Dimensional Array 11 Data Searching (Sequential, Binary) 12 Data Sorting (Bubble, Selection) 13 Array: Two Dimensional Array 14 Character Strings (สอบ lab ในห้อง Comp.) BC322 : Computer Programing (ครั้งที่ 1)
หลักเกณฑ์การให้คะแนน คะแนน Midterm 40 % คะแนน Final 40 % คะแนนสอบ Lab 8 % คะแนนการบ้าน 7 % คะแนนเข้าห้องเรียน 5 % BC322 : Computer Programing (ครั้งที่ 1)
ปัญหาในการเรียนวิชา BC322 ยอมแพ้ตั้งแต่ยกแรก ถอดใจ D, W ฉันทำไม่ได้ !! ไม่เข้าใจและไม่พยายามเข้าใจ ทำให้เขียนโปรแกรมไม่ได้ ไม่มีความตั้งใจและความพยายามบวกด้วยความขยัน ปรึกษาหรือถามอาจารย์เหรอป่าว สู้ ๆ BC322 : Computer Programing (ครั้งที่ 1)
จุดเริ่มต้นในการเขียนโปรแกรม อ่านโจทย์ให้เข้าใจก่อน ค่อยๆ วิเคราะห์เพื่อดูว่าจะต้องทำอย่างไรต่อไป หาว่าข้อมูลที่จำเป็นต้องใช้ในโจทย์คืออะไร เขียนขั้นตอนในการทำงานเป็นลำดับด้วยภาษาของเรา แทนขั้นตอนในแต่ละขั้นตอนด้วยคำสั่ง ทดสอบโปรแกรมว่าได้ผลลัพธ์ตามที่ต้องการหรือไม่ BC322 : Computer Programing (ครั้งที่ 1)
เริ่มลุยกันเลย !!! 3 ตัวนี้ต่างกันอย่างไร Flowchart Algorithm Pseudo code BC322 : Computer Programing (ครั้งที่ 1)
เรียกว่าอะไร? ตอบ Pseudo Code Begin Sum = 0 Read Wage While Wage <>0 Sum = Sum + Wage End do WRITE Sum End เรียกว่าอะไร? ตอบ Pseudo Code BC322 : Computer Programing (ครั้งที่ 1)
Flowchart สัญลักษณ์ ความหมาย จุดเริ่มต้น จุดจบการทำงาน การรับและ แสดงผลของข้อมูล การแสดงผลทางเครื่องพิมพ์ การประมวลผลการทำงาน BC322 : Computer Programing (ครั้งที่ 1)
Flowchart สัญลักษณ์ ความหมาย จุดเชื่อมการทำงานที่อยู่หน้าเดียวกัน จุดเชื่อมการทำงานที่อยู่คนละหน้า การเปรียบเทียบหรือตัดสินใจ โปรแกรมย่อย BC322 : Computer Programing (ครั้งที่ 1)
Pseudo Code ต่อไปนี้ ใช้สำหรับทำอะไร Read Salary 6. While Wage <>0 Sum = Sum + Num Read Num End do 2. A = 0 3. Total = Total + N 4. Display ‘Hello’ 5. IF Number > 0 THEN Positive = Positive + 1 BC322 : Computer Programing (ครั้งที่ 1)
Ex1. จงเขียนขั้นตอนการคำนวณหาอายุ(Age) นักศึกษา โดยรับปี พ. ศ Ex1. จงเขียนขั้นตอนการคำนวณหาอายุ(Age) นักศึกษา โดยรับปี พ.ศ.เกิด (Year) Input : Output : ปีเกิด(Year) อายุ(Age) จงเขียน Algorithm , Flowchart และ Pseudo code BC322 : Computer Programing (ครั้งที่ 1)
Algorithm1 เริ่มต้นทำงาน รับค่า ปี พ.ศ.เกิด (Year) คำนวณอายุ(Age) จากสูตร Age = 2550- Year แสดงผลอายุ(Age) จบการทำงาน BC322 : Computer Programing (ครั้งที่ 1)
Flowchart1 Pseudo Code1 Begin Read Year Age = 2550-Year Write Age End START Begin Read Year Age = 2550-Year Write Age End Read Year Age=2550-Year Write Age STOP BC322 : Computer Programing (ครั้งที่ 1)
Ex2 จงเขียนขั้นตอนการคิดเกรด โดยมีเงื่อนไขดังนี้ ถ้าได้คะแนนสอบ 50 คะแนนขึ้นไป ให้เกรดเป็น ‘Pass’ ถ้าได้คะแนนต่ำกว่า 50 คะแนน ให้เกรดเป็น ‘Fail’ แสดงผลลัพธ์ของเกรด Input : ? Output : ? คะแนนสอบ(Score) เกรด(Grade) BC322 : Computer Programing (ครั้งที่ 1)
Algorithm2 เริ่มต้นทำงาน รับค่า คะแนนสอบ (Score) ถ้าคะแนนสอบตั้งแต่ 50 คะแนนขึ้นไป กำหนดให้ Grade=‘Pass’ ถ้าน้อยกว่า 50 คะแนน กำหนดให้ Grade=‘Fail’ แสดงผล เกรด (Grade) จบการทำงาน BC322 : Computer Programing (ครั้งที่ 1)
Flowchart 2 Pseudo Code2 Begin Read Score IF Score >= 50 THEN START Read Score Begin Read Score IF Score >= 50 THEN Grade = ‘Pass’ ELSE Grade = ‘Fail’ END IF Write Grade End Score>=50 Y Grade = ‘Pass’ N Grade = ‘Fail’ Write Grade STOP BC322 : Computer Programing (ครั้งที่ 1)
Ex3. จงเขียนขั้นตอนเพื่อรับค่าน้ำหนักของเพื่อนใน Section (จำนวน 80 คน) แล้วคำนวณหาน้ำหนักเฉลี่ย Input : ? Output : ? น้ำหนัก(Weight) น้ำหนักเฉลี่ย(Avg) BC322 : Computer Programing (ครั้งที่ 1)
Algorithm3 เริ่มต้นทำงาน กำหนดค่าเริ่มต้นให้ i = 1 (สำหรับนับจำนวนคน) Sum= 0 (สำหรับหาค่าผลรวม ในขณะที่ i<=80 ให้ รับน้ำหนัก(Weight) หาค่าผลรวมสะสมจากสูตร Sum = Sum+ Weight เพิ่มค่าตัวแปรสำหรับนับจำนวนคนอีก 1 จากสูตร i=i+1 หาค่าเฉลี่ยจากสูตร Avg = Sum / 80 แสดงผลน้ำหนักเฉลี่ย (Avg) จบการทำงาน BC322 : Computer Programing (ครั้งที่ 1)
Flowchart 3 N Y Avg= Sum/80 Read Weight Write Avg START i=1 Sum=0 Sum = Sum+Weight i = i + 1 STOP BC322 : Computer Programing (ครั้งที่ 1)
Pseudo Code3 Begin i=1, Sum=0 while i<=80 Read Weight Sum=Sum+ Weight i = i + 1 end do Avg = Sum / 80 Write Avg End BC322 : Computer Programing (ครั้งที่ 1)
Quiz 10 นาที จงเขียน Algorithm , Flowchart และ Pseudo code ให้รับค่าตัวเลข 2 ค่า (Num1,Num2) และรับค่าChoice ที่จะให้เลือกทำ โดยให้แสดงผลลัพธ์(Result) ดังนี้ ถ้าเลือก Choice ‘A’ ให้นำตัวเลขมาบวกกัน ถ้าเลือก Choice ‘B’ ให้นำตัวเลขมาลบกัน Input : ? Output : ? จงเขียน Algorithm , Flowchart และ Pseudo code BC322 : Computer Programing (ครั้งที่ 1)