Concept of Programing.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Application Development Overview Nithi Thanon Computer Science Prince of Songkla University.
Advertisements

แนวคิดในการเขียนโปรแกรม
อัลกอริทึ่มทำงานวนซ้ำ
Chapter 8 : Logic Modeling & Data Modeling
ลักษณะโครงสร้างของผังงาน
โครงสร้างควบคุมและคำสั่งแบบเงื่อนไข
ขั้นตอนการพัฒนาโปรแกรม
เฉลย Lab 10 Loop.
Program Flow Chart.
ผังงานโปรแกรม (Program Flowchart)
คำสั่งเพื่อการกำหนดเงื่อนไข
หน่วยที่ 1 ระบบคอมพิวเตอร์
วิชา การออกแบบและพัฒนาซอฟต์แวร์
Repetitive Statements (Looping)
คำสั่งเงื่อนไขและการควบคุม
การเขียนผังงานแบบโครงสร้าง
1 นายทินวัฒน์ พงษ์ทองเมือง. 2 การเปิดให้ Program ทำงาน 3  p:\xampplite\ xampplite-control.exe  Start Apache.
คำสั่งควบคุมการทำงาน
การเขียนโปรแกรมภาษาซี
การเขียนอัลกอริทึม แบบโฟลวชาร์ต
การเขียนผังงาน ผังงานคือ อะไร ?.
2.3.1 รหัสเทียม (Pseudo code)
การออกแบบโครงสร้าง (Structured Design)
อัลกอริทึ่มทำงานวนซ้ำ
บทที่ 2 แนวคิดในการเขียนโปรแกรม. ขั้นตอนการ พัฒนาโปรแกรม ในการพัฒนาโปรแกรมมีขั้นตอนหลัก 5 ขั้นตอน ซึ่งไม่ว่าจะทำการพัฒนาโปรแกรม ครั้งใดจะต้องปฏิบัติตามขั้นตอนเหล่านี้
บทที่ 6 พจนานุกรมข้อมูล และ คำอธิบายกระบวนการ
20 May 2556 Problem Analysis and Algorithms in Programming.
การทำซ้ำ Pisit Nakjai.
Problem Analysis and Algorithm in Programming (การวิเคราะห์ปัญหา และการจำลองความคิดในการเขียนโปรแกรมคอมฯ)
ผังงานโปรแกรม (Program Flowchart)
Introduction to Computer Organization and Architecture Flow of Control ภาษาเครื่อง สายงานของการ ควบคุม.
Introduction to Flowchart
BC322 : Computer Programing (ครั้งที่ 1)
การเปรียบเทียบเงื่อนไข
โครงสร้างภาษาซี C ++ structure
บทที่ 1 บทนำ 1.1 ฮาร์ดแวร์คอมพิวเตอร์ 1.2 ซอฟต์แวร์คอมพิวเตอร์
โครงสร้างการทำงานแบบวนซ้ำ
หลักการโปรแกรม อ.ธนากร อุยพานิชย์.
การประมวลผลแบบวน ( LOOP )
C Programming By Mr. Sanae Sukprung.
การควบคุมทิศทางการทำงาน
แนวข้อสอบ Final (จดด่วน)
บทที่ 6 การเขียนโปรแกรมแบบมีเงื่อนไข
INC 161 , CPE 100 Computer Programming
ใช้สำหรับ Turbo C++ Version 3.0
วิธีปฏิบัติทางบัญชี 1. การรับบริจาคเงินสด
การเขียนผังงาน (Flowchart)
การแสดงขั้นตอนวิธีด้วยรหัสเทียม (Pseudo-Code)
การควบคุมการทำงานด้วยภาษา C
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
โครงสร้างโปรแกรมภาษา C
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
คำอธิบายรายวิชา การเขียนผังงาน รหัสเทียม ตรรกศาสตร์เบื้องต้น การเขียนโปรแกรมคอมพิวเตอร์แบบโครงสร้าง ชนิดตัวแปร ตัวดำเนินการทางตรรกะ ตัวดำเนินการเปรียบเทียบ.
ความรู้พื้นฐานการเขียนโปรแกรม
บทที่ 2 ขั้นตอนการทำงาน (Algorithm)
การออกแบบระบบ System Design.
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 13 การเขียนรหัสเทียม (Pseudo Code)
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop) Part1
การประเมินส่วนราชการ
Problem Solving ขั้นตอนวิธีและการแก้ปัญหาสำหรับวิทยาการคอมพิวเตอร์
การเขียนผังงาน (Flow Chart)
การเขียนโปรแกรมคอมพิวเตอร์
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
บทที่ 6 การเขียนผังงาน (Flowchart)
การสร้างผังงานโปรแกรม
การวิเคราะห์โจทย์ปัญหา (Problem Analysis)
Lecture 7: ทางเลือกแบบมีโครงสร้างซ้อนใน
การตั้งมาตรฐานคุณภาพ
อัลกอริทึม (Algorithm) ???
ใบสำเนางานนำเสนอ:

Concept of Programing

ขั้นตอนการพัฒนาโปรแกรม มี 5 ขั้นตอน วิเคราะห์ปัญหา (Analysis) วางแผนและออกแบบ (Planning & Design) เขียนโปรแกรม (Coding) ทดสอบโปรแกรม (Testing) จัดทำคู่มือ (Documentation)

โจทย์ที่ใช้อธิบายขั้นตอนการพัฒนาโปรแกรม จงเขียนโปรแกรมรับค่าเลขจำนวนเต็ม 2 จำนวนและหาผลบวกของเลขทั้ง 2 จำนวนนั้น

วิเคราะห์ปัญหา (Analysis) 1 ขั้นตอนนี้เป็นขั้นตอนที่สำคัญที่สุด ผู้เขียนโปรแกรมต้องวิเคราะห์ว่าจะเขียน โปรแกรมแก้ปัญหาอย่างไร ผู้เขียนโปรแกรมต้องวิเคราะห์ด้วยว่าต้องนำ ข้อมูลอะไรบ้างเข้าในโปรแกรม

วิเคราะห์ปัญหา (Analysis) 1 1. ปัญหา คือ รับค่าเลขจำนวนเต็ม 2 จำนวนและหาผลบวก ผลรวม = เลขจำนวนเต็มตัวที่ 1 + เลขจำนวนเต็มตัวที่ 2 2. ตัวแปรที่ใช้ คือ X ใช้เก็บเลขจำนวนเต็มตัวที่ 1 Y ใช้เก็บเลขจำนวนเต็มตัวที่ 2 SUM ใช้เก็บผลรวม

3. ข้อมูลนำเข้า คือ ค่าของ X และ Y 4 3. ข้อมูลนำเข้า คือ ค่าของ X และ Y 4. ผลลัพธ์ คือ คำนวณหาผลบวก จากสูตร SUM = X + Y ขั้นตอนการทำงาน 1. รับค่า X และ Y เข้ามาในโปรแกรม 2. คำนวณหาผลบวก จากสูตร SUM = X + Y

วางแผนและออกแบบ (Planning & Design) 2 ซูโดโค้ด (Pseudocode) START READ X READ Y COMPUTE SUM=x + Y PRINT SUM STOP เขียนลำดับการทำงานของโปรแกรม โดยใช้ประโยคภาษาอังกฤษที่สื่อความหมายง่าย ๆ

โฟลวชาร์ต (Flowchart) START เขียนลำดับการทำงานของการเขียนโปรแกรม โดยแทนด้วยสัญลักษณ์เป็นตัวสื่อความหมาย INPUT X,Y SUM=X+Y PRINT SUM STOP

สัญลักษณ์การเขียนอัลกอลิทึมแบบโฟลวชาร์ต สัญลักษณ์รูปภาพ ความหมาย จุดเริ่มต้น (start) หรือ จุดสิ้นสุด (End) รับข้อมูล (Input) หรือ แสดงผลข้อมูล (Output) รับข้อมูลนำเข้าจากคีย์บอร์ด (Input from Keyboard)

สัญลักษณ์การเขียนอัลกอลิทึมแบบโฟลวชาร์ต สัญลักษณ์รูปภาพ ความหมาย การคำนวณ (Process) การตัดสินใจ (Dicision) หรือ การเปรียบเทียบ (Compare) แสดงผลข้อมูลออกทางเครื่องพิมพ์ (Printer)

สัญลักษณ์การเขียนอัลกอลิทึมแบบโฟลวชาร์ต สัญลักษณ์รูปภาพ ความหมาย การทำงานย่อย (Sub Program) จุดเชื่อมต่อ (Connection) ทิศทาง (Flow)

สัญลักษณ์การเขียนอัลกอลิทึมแบบโฟลวชาร์ต สัญลักษณ์รูปภาพ ความหมาย แสดงผลทางจอภาพ จุดเชื่อมต่อคนละหน้า คำอธิบาย

ตัวอย่างที่ 1 วิเคราะห์ปัญหา จงเขียนโฟลวชาร์ตแสดงขั้นตอนการหาพื้นที่ของรูปสี่เหลี่ยมคางหมู วิเคราะห์ปัญหา 1. ปัญหา คือ ต้องการคำนวณหาพื้นที่ของรูปสี่เหลี่ยมคางหมู จากสูตร พื้นที่สี่เหลี่ยมคางหมู = ½ x ผลบวกของด้านคู่ขนาน x สูง 2. ตัวแปรที่ใช้ คือ w1 ใช้เก็บความยาวของด้านคู่ขนานด้านที่ 1 w2 ใช้เก็บความยาวของด้านคู่ขนานด้านที่ 2 h ใช้เก็บความสูงของรูปสี่เหลี่ยมคางหมู Area ใช้เก็บพื้นที่ของรูปสี่เหลี่ยมคางหมู

3. ข้อมูลนำเข้า คือ ค่าของ W1,W2 และh 4 3. ข้อมูลนำเข้า คือ ค่าของ W1,W2 และh 4. ผลลัพธ์ คือ คำนวณพื้นที่ของรูปสี่เหลี่ยมคางหมู จาก สูตร Area= ½ x(w1+w2)xh ขั้นตอนการทำงาน 1. รับค่า w1,w2,h เข้ามาในโปรแกรม 2. คำนวณหาพื้นที่ของรูปสี่เหลี่ยมคางหมู จากสูตร Area = ½ x (w1+w2) x h

Flowchart ตัวอย่างที่ 1 START INPUT w1,w2,h Area =1/2 x(w1+w2)x h STOP

START START INPUT w1,w2,h INPUT w1,w2,h Area =1/2 x(w1+w2)x h Area =1/2 x(w1+w2)x h Area Area STOP STOP

เขียนโปรแกรม (Coding) 3 เป็นการนำอัลกอลิทึมในขั้นตอนที่ 2 มาเขียน โปรแกรมตามหลักไวยากรณ์ (Syntax)ภาษาซี

เขียนโปรแกรม (Coding) 3 #include <stdio.h> viod main(viod) { int x,y,sum; printf(“Value of x is : ”); scanf(“%d”,&x); printf(“Value of y is : ”); scanf(“%d”,&y); sum=x+y; printf(“Sum of %d+%d is %d\n”,x,y,sum); }

เขียนโปรแกรม (Coding) 3 #include <stdio.h> viod main(viod) { int x,y,sum; printf(“Value of x is : ”); scanf(“%d”,&x); printf(“Value of y is : ”); scanf(“%d”,&y); sum=x+y; printf(“Sum of %d+%d is %d\n”,x,y,sum); } INPUT X INPUT Y SUM = X+Y PRINT SUM

ทดสอบโปรแกรม (Testing) 4 เป็นการนำผลลัพธ์จากขั้นตอนที่ 3 มาทำการ Run แล้วทดสอบโดยการป้อนค่า x และ y เข้าไปใน โปรแกรม และตรวจสอบผลลัพธ์ที่ได้ว่าถูกต้อง หรือไม่ หากไม่ถูกต้องก็กลับไปทำการแก้ไข โปรแกรมอีกครั้ง

จัดทำคู่มือ (Documentation) 5 จุดประสงค์ที่สำคัญของการจัดทำคู่มือเพื่อ ช่วยให้ผู้อื่นศึกษาซอร์สโค้ดของโปรแกรมได้ ง่ายขึ้น จะเป็นประโยชน์สำหรับการพัฒนา เพิ่มเติมในอนาคต สิ่งที่สำคัญสำหรับการ จัดทำคู่มือ คือ “คู่มือมีรายละเอียดมากที่สุด”

ลักษณะของการเขียนผังงาน ตามลำดับ (Sequence) เป็นส่วนงานที่ต้องทำตามลำดับ ก่อน-หลัง Set x to 0 คือ x=0 Input x หรือ Read x Print x หรือ Show x Compute x=x+y Add 1 to x Divide total by 3 (total / 3) Divide total by 3 to s (x=total/3) Command A Command B Command C

เลือกทำ(Selection) การเลือกทำแบบเลือกทำทางเดียว เรียกว่า if-then จริง Command A Condition จริง เท็จ If condition then Read x End if หรือ If x<5 then

เลือกทำ(Selection) การเลือกทำแบบสองทางเลือก เรียกว่า if-then-else จริง Command A Command B Condition จริง เท็จ If condition then Print ‘xxx’ Else Print ‘yyy’ Print ‘zzz’ End if

เลือกทำ(Selection) การเลือกจากกลุ่มรายการที่มีจำนวนมากกว่าสองทาง เรียกว่า CASE Condition Command A Command B Command C Command D

case grade of 4 : write ‘A’ 3 : write ‘B’ 2 : write ‘C’ 1 : write ‘D’ 0 : write ‘F’ endcase

การทำซ้ำ (Looping) การทำงานซ้ำแบบตรวจสอบเงื่อนไขก่อนทำ เรียกว่า Do-While (ทำในขณะที่ เช่น X<=10) Command B Condition จริง เท็จ Command A DoWhile A<10 Read x Compute x=x+5 Write x End Do

การทำซ้ำ (Looping) การทำงานซ้ำแบบตรวจสอบเงื่อนไขหลังทำ เรียกว่า Repeat-Until (ทำจนกระทั้ง เช่น X=10) Command A เท็จ Condition จริง Command B

ตัวอย่างที่ 2 จงคำนวณหาเกรดวิชาคอมพิวเตอร์ของนักศึกษาชั้นปีที่ 1 จากแฟ้มข้อมูล คะแนน พร้อมทั้งแสดงเกรดของนักศึกษาแต่ละคน โดยเกณฑ์ที่ใช้ ในการตัดเกรด คือ คะแนน เกรด ตั้งแต่ 80 ขึ้นไป A 70 ถึง 79 B 60 ถึง 69 C 50 ถึง 59 D น้อยกว่า 49 F ชื่อ คะแนน สมพร 70 สมชัย 85 สมศักดิ์ 45 สมชาย 73 สมศรี 66

วิเคราะห์ปัญหา 1. ปัญหา คือ ต้องการคำนวณหาเกรดวิชาคอมพิวเตอร์นักศึกษาชั้นปีที่ 1 โดยอ่านข้อมูลชื่อและคะแนนจากไฟล์ 2. ตัวแปรที่ใช้ คือ point ใช้เก็บคะแนนนักศึกษา grade ใช้เก็บเกรดของนักศึกษา 3. ข้อมูลนำเข้า คือ ค่าคะแนนของนักศึกษา โดยการอ่านจากไฟล์ การพิจารณาว่าอ่านไฟล์ข้อมูลว่าจบหรือยัง IF EOF THEN STOP ELSE . . . END IF

ชื่อ เกรด สมพร B สมชัย A สมศักดิ์ F สมชาย สมศรี C 4. ผลลัพธ์ คือ เกรดของนักศึกษา ซึ่งได้จากการนำคะแนนของนักศึกษาคนนั้น ๆ มาพิจารณาตามเกณฑ์ที่กำหนด ตัวอย่างผลลัพธ์ที่ได้ ชื่อ เกรด สมพร B สมชัย A สมศักดิ์ F สมชาย สมศรี C

ขั้นตอนการทำงาน 1. อ่านชื่อนักศึกษาและคะแนนจากแฟ้มข้อมูล 2. ตรวจสอบค่าคะแนนของนักศึกษาว่าอยู่ในช่วงใด และ ได้เกรดเท่าไร 3. แสดงชื่อและเกรดของนักศึกษาแต่ละคน 4. ทำรายการของนักศึกษาคนต่อไป โดยวนกลับไปทำ ขั้นตอนที่ 1

ตัวอย่างที่ 3 วิเคราะห์ปัญหา จงเขียนโฟลวชาร์ตแสดงการหาผลบวกของเลขคู่ที่มีค่าอยู่ในช่วง 1 ถึง 100 วิเคราะห์ปัญหา 1. ปัญหา คือ ต้องทำการคำนวณหาผลบวกของเลขคู่ในช่วง 1 – 100 2+4+6+…+100=? 2. ตัวแปรที่ใช้ คือ Count ใช้เก็บค่าตัวบวก Sum ใช้เก็บผลบวก 3. ข้อมูลนำเข้า ไม่มี 4. ผลลัพธ์ คือ ผลบวกของเลขคู่ทั้งหมดที่อยู่ในช่วง 1 - 100

กำหนดค่าเริ่มต้นให้ Count และ Sum เป็น 0 ขั้นตอนการทำงาน กำหนดค่าเริ่มต้นให้ Count และ Sum เป็น 0 เพิ่มค่าตัวบวกเพื่อเป็นตัวบวกตัวถัดไป คือ Count=Count+2 ตรวจสอบตัวแปร Count ว่ามีค่ามากกว่า 100 หรือไม่ หากมากกว่า 100 ให้จบการทำงาน หากไม่มากกว่า 100 ให้ทำขั้นตอนต่อไป คำนวณ Sum=Sum+Count แล้วกลับไปทำขั้นตอนที่ 2 อีกครั้ง

โฟลวชาร์ตแสดงการหาผลบวกของเลขคู่จาก 1 - 100 START Count = 0 Sum = 0 Count = Count + 2 Count > 100 Sum = Sum + Count STOP

ตัวอย่างที่ 4 วิเคราะห์ปัญหา จงเขียนโฟลวชาร์ตแสดงการแปลงค่าจากคริสตศักราชไปเป็นพุทธศักราช พร้อมทั้งแสดงผลลัพธ์ โดยแยกส่วนของการรับค่าข้อมูล ค.ศ. ออกจากส่วนของการแปลงค่าจาก ค.ศ. ไปเป็น พ.ศ. (Sub Program) วิเคราะห์ปัญหา ปัญหา คือ ต้องการแปลงค่าข้อมูลจาก ค.ศ. ไปเป็น พ.ศ. จากสูตร พ.ศ. = ค.ศ. + 543 ตัวแปรที่ใช้ คือ BE ใช้เก็บค่าปี ค.ศ. CE ใช้เก็บค่าปี พ.ศ.

ข้อมูลนำเข้า คือ ค่าปี ค.ศ. โดยรับค่ามาเก็บไว้ใน ตัวแปร CE ผลลัพธ์ คือ ค่าปี พ.ศ. ซึ่งได้จากการแปลงค่าปี ค.ศ. โดยใช้สูตร BE = CE + 543

ขั้นตอนการทำงาน 1. รับค่า CE 2. ทำการเรียกโปรแกรมย่อยขึ้นมาทำงาน 3. โปรแกรมย่อยทำการแปลงค่าจาก ค.ศ. ไปเป็น พ.ศ. BE = CE + 543 4. กลับสู่การทำงานที่โปรแกรมหลักอีกครั้ง และแสดง ผลลัพธ์

โฟลวชาร์ตแสดงการแปลง ค.ศ. ไปเป็น พ.ศ. START INPUT CE CONVERTION PRINT BE END CONVERTION BE = CE + 543 RETURN