1 / 25

วิชาการเขียนโปรแกรมภาษาซี

วิชาการเขียนโปรแกรมภาษาซี. ครูทิตยา พล ขีดขีน กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี โรงเรียนทรายทองวิทยา อำเภอโพนทราย จังหวัดร้อยเอ็ด สพ ม. เขต 27. หน่วยที่ 1 ภาษาคอมพิวเตอร์และการโปรแกรม. สาระสำคัญ

charo
Download Presentation

วิชาการเขียนโปรแกรมภาษาซี

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. วิชาการเขียนโปรแกรมภาษาซีวิชาการเขียนโปรแกรมภาษาซี ครูทิตยา พลขีดขีน กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี โรงเรียนทรายทองวิทยา อำเภอโพนทราย จังหวัดร้อยเอ็ด สพม. เขต 27

  2. หน่วยที่ 1 ภาษาคอมพิวเตอร์และการโปรแกรม • สาระสำคัญ เครื่องคอมพิวเตอร์เป็นอุปกรณ์ทางอิเล็กทรอนิกส์ สิ่งที่คอมพิวเตอร์เข้าใจคือสัญญาณทางไฟฟ้า แต่ในการเขียนโปรแกรมเพื่อให้คอมพิวเตอร์ทำงานนั้นมีภาษาให้เลือกใช้หลายภาษา นักเรียนจะต้องเข้าใจว่าเหตุใดคอมพิวเตอร์จึงสามารถประมวลผลภาษาโปรแกรมได้ และโปรแกรมที่ได้ถูกสร้างขึ้นก็มีหลายประเภทขึ้นอยู่กับการประยุกต์มาใช้งานกับเครื่องคอมพิวเตอร์ สำหรับโปรแกรมที่นำมาใช้ในการเรียนนี้คือ โปรแกรม DEV C++ ซึ่งนักเรียนจะต้องเข้าใจขั้นตอนในการพัฒนาโปรแกรมด้วยภาษาซีให้สามารถประมวลผลตามต้องการได้

  3. จุดประสงค์ • มีความรู้ความเข้าใจเกี่ยวกับความหมายของภาษาคอมพิวเตอร์ • มีความรู้ความเข้าใจเกี่ยวกับการแปลงภาษาคอมพิวเตอร์ • มีความรู้ความเข้าใจเกี่ยวกับประเภทของโปรแกรม • มีความรู้ความสามารถในขั้นตอนการพัฒนาโปรแกรม

  4. เนื้อหา • โปรแกรมภาษา • ประเภทของโปรแกรม • ขั้นตอนการพัฒนาโปรแกรม • ขั้นตอนการพัฒนาโปรแกรมด้วย DEV C++ • แบบฝึกหัดหลังเรียน

  5. คอมพิวเตอร์ (Computer) • ตามพจนานุกรมฉบับราชบัณฑิตยสถาน พ.ศ. 2552 หมายถึง “เครื่องอิเล็กทรอนิกส์แบบอัตโนมัติ ทำหน้าที่เสหมือนสมองกล ให้สำหรับแก้ปัญหาต่างๆ ทั้งที่ง่ายและซับซ้อน โดยวิธีทางคณิตศาสตร์ “ • ตัวเครื่องคอมพิวเตอร์ที่ประกอบด้วยวงจรทางไฟฟ้าอิเล็กทรอนิกส์จะเรียกว่าฮาร์ดแวร์ (Hardware) โดยส่วนประกอบที่สำคัญได้แก่ หน่วยรับข้อมูล หน่วยประมวลผล หน่วยแสดงผล และหน่วยเก็บข้อมูล

  6. ภาษาคอมพิวเตอร์ (Computer) • ภาษาที่คอมพิวเตอร์เข้าใจ คือ ภาษาเครื่อง (Machine Language) ซึ่งเป็นรหัสเลขฐานสอง • รหัสนีโมนิก(mnemonic) เป็นอักษรภาษาอังกฤษใช้แทนคำสั่งรหัสเลขฐานสอง • ภาษาคอมพิวเตอร์ที่ใช้รหัสนีโมนิกในการเขียนโปรแกรมเรียกว่า ภาษาแอสแซมบลี (Assembly Language) • เป็นภาษาที่ทำงานได้เร็ว เพราะเข้าถึงหน่วยประมวลผลได้เร็วที่สุดเป็น เราเรียกภาษานี้ว่า ภาษาระดับต่ำ (Low – Level Language)

  7. ภาษาระดับสูง (High– Level Language) • มีการพัฒนาภาษาโปรแกรมเป็นภาษาระดับสูงโดยใช้คำภาษาอังกฤษมาสั่งงานและควบคุมคอมพิวเตอร์ • เช่น BASIC, COBOL,FORTRAN และ ภาษา C

  8. ตัวอย่าง ถ้าหากต้องการเขียนโปรแกรมภาษา C โดยสั่งให้พิมพ์คำว่า “Test” ซึ่งใช้คำสั่งที่เป็นคำภาษาอังกฤษเข้าใจง่ายๆ ดังนี้ • #include<stdio.h> • main() { • Printf(“Test”); } เมื่อต้องการให้คอมพิวเตอร์ทำงานจะต้องนำตัวแปลภาษาซี หรือ ซีคอมไพล์เลอร์มาแปลงคำภาษาอังกฤษด้านบนให้เป็นเลขฐานสองที่คอมพิวเตอร์เข้าใจอีกทีหนึ่ง

  9. 1.โปรแกรมภาษา รหัสภาษาเครื่อง (Executable Program) โปรแกรมต้นฉบับ(Source Program) โปรแกรมแปลภาษา ขั้นตอนการแปลภาษาแอสเซมบลีเป็นภาษาเครื่อง โปรแกรมต้นฉบับ(Source Program) โปรแกรมแอสเซมเบอร์(Assembler) รหัสภาษาเครื่อง

  10. สำหรับการเขียนโปรแกรมด้วยภาษาระดับสูงจะมีวิธีในการแปลสองประเภทคือ การแปลคำสั่งทีละคำสั่งให้เครื่องทำงานทีละคำสั่ง จากนั้นจึงแปลคำสั่งบรรทัดต่อไปเช่น การเขียนโปรแกรมด้วยภาษาเบสิก ตัวแปลภาษาประเภทนี้เรียกว่า อินเตอร์พรีเตอร์ (Interpreter) การทำงานของตัวอินเตอร์พรีเตอร์นี้จะแปลความหมายของคำสั่งทีละคำสั่ง ถ้าไม่พบข้อผิดพลาดเครื่องจะทำคำสั่งที่แปลได้ แต่ถ้าพบข้อผิดพลาดจะหยุดทำงานและแจ้งข้อผิดพลาดออกมา

  11. การแปลคำสั่งอีกแบบหนึ่งเรียกว่า คอมไพเลอร์ (Compiler) โดยมันจะมองโปรแกรมต้นฉบับทั้งหมด และแปลให้เป็นรหัสภาษาเครื่อง ถ้าพบข้อผิดพลาดก็จะแจ้งออกมา ทำให้โปรแกรมทำงานได้เร็ว เพราะเครื่องไม่ต้องแปลอีกเมื่อจะทำคำสั่งถัดไป สำหรับตัวแปรภาษาเบสิกรุ่นใหม่ๆ จะทำการแปลแบบคอมไพเลอร์ เช่น เทอร์โบเบสิก หรือวิชวลเบสิก เป็นต้น

  12. อินเตอร์พรีเตอร์ รหัสภาษาเครื่อง (Executable Program) โปรแกรมต้นฉบับ(Source Program) Interpreter แปลทีละบรรทัด คอมไพเลอร์ โปรแกรมต้นฉบับ(Source Program) รหัสภาษาเครื่อง Compiler แปลทั้งโปรแกรม

  13. ภาษาซี • เป็นภาษาโปรแกรมที่โปรแกรมเมอร์นิยมใช้กันมาก เนื่องจากเป็นภาษาที่มีความเร็วในการทำงานสูงใกล้เคียงกับภาษาเครื่อง มีโครงสร้างที่ชัดเจน เข้าใจง่าย และสามารถเขียนโปรแกรมเพื่อติดต่อกับฮาร์ดแวร์ของเครื่องคอมพิวเตอร์ได้เป็นอย่างดี • เกิดขึ้นที่ห้องปฏิบัติการเบลล์เล็บ (Bell Labs) นายเดนนีสริทซี (Dennis Ritchi ) เป็นผู้พัฒนาขึ้น การศึกษาภาษาซียังถือว่าเป็นพื้นฐานในการศึกษาภาษาใหม่ๆ ได้ • ข้อเสีย คำสั่งไม่เหมือนคำศัพท์ภาษาอังกฤษโดยตรง จึงอาจจะจดจำยากขึ้น และวิธีการใช้คำสั่งจะมีกฎเกณฑ์รายละเอียดจำนวนมาก จึงไม่เหมาะกับผู้เริ่มต้นเขียนโปรแกรม

  14. 2. ประเภทของโปรแกรม • โปรแกรมระบบปฏิบัติการ ทำหน้าที่คอยดูแลระบบ ติดต่อกับฮาร์ดแวร์ส่วนต่างๆ เช่น Dos (Operating System),UNIX,Windows • โปรแกรมเอนกประสงค์ (Utility Program) ช่วยอำนวยความสะดวกกับผู้ใช้และเป็นเครื่องมือแก้ปัญหาหรือวิเคราะห์ปัญหารวมทั้งตรวจสอบระบบ เช่น McAfee Virus Scan,Winzip • โปรแกรมประยุกต์ หรือ ซอฟต์แวร์สำเร็จรูป (Package Software) เป็นโปรแกรมที่พัฒนาขึ้นมาสำหรับงานเฉพาะด้าน เช่น เกม ,ดาต้าเบส,กราฟฟิก,อินเทอร์เน็ต ,ประมวลผลคำ

  15. 3.ขั้นตอนการพัฒนาโปรแกรม3.ขั้นตอนการพัฒนาโปรแกรม • กำหนดและวิเคราะห์ปัญหา (Problem Definition and Problem Analysis) • เขียนฝังงานและซูโดโค้ด (Pseudocoding) • เขียนโปรแกรม (Programming) • ทดสอบและแก้ไขโปรแกรม (Program Testingand Debugging) • ทำเอกสารและบำรุงรักษาโปรแกรม (Program Documentationand Maintenance)

  16. 1. การกำหนดและวิเคราะห์ปัญหา • กำหนดขอบเขตของปัญหา • กำหนดลักษณะของข้อมูลเข้าและออกจากระบบ (Input/Output Specification) • กำหนดวิธีการประมวลผล (Process Specification)

  17. ถ้าหากต้องการออกแบบโปรแกรมให้คอมพิวเตอร์รับค่าข้อมูล 3 ค่า และแสดงค่าเฉลี่ยทางจอภาพ เราอาจกำหนดและวิเคราะห์ปัญหาได้ดังนี้ • 1. รับข้อมูลจากคีย์บอร์ด • 1.1 รับข้อมูลเฉพาะที่เป็นตัวเลขมาเก็บในตัวแปร • 1.2 ถ้าเท่ากับ 0 ให้รับใหม่ • 2. หาค่าเฉลี่ย • 2.1 รวมค่าทุกค่าที่รับมาเข้าด้วยกัน • 2.2 นำค่ารวมที่ได้หารด้วย 3 • 2.3 นำค่าผลลัพธ์ไปเก็บในตัวแปร • 3. แสดงผลลัพธ์ทางหน้าจอ • 3.1 แสดงค่าว่าค่าเฉลี่ยเท่ากับ • 3.2 แสดงผลลัพธ์โดยมี่ทศนิยมสองตำแหน่ง

  18. นำเข้าข้อมูล ประมวลผล นำข้อมูลออก รับข้อมูลตัวที่ 1 รับข้อมูลตัวที่ 2 รับข้อมูลตัวที่ 3 อ่านค่าเฉพาะที่เป็นตัวเลข 3 ตัว นำตัวเลขทั้งสามตัวมารวมกัน นำผลรวมมาหารด้วย 3 แสดงค่าเฉลี่ย ทศนิยมสองตำแหน่ง

  19. 2.การเขียนผังงานและซูโดโค้ด2.การเขียนผังงานและซูโดโค้ด • เขียนลำดับขั้นตอนการทำงานของโปรแกรมที่เรียกว่า อัลกอริทึม (Algorithm) ซึ่งแสดงขั้นตอนการแก้ปัญหา โดยใช้ประโยคที่ชัดเจนไม่คลุมเครือ และมีรายละเอียดการทำงานพอสมควร เพียงพอที่จะนำไปเขียนเป็นโปรแกรมให้ทำงานจริง อาจเขียนให้อยู่ในรูปของรหัสจำลองหรือ ซูโดโค้ด (Pseudo-code) หรือเขียนเป็นผังงาน (Flowchart) ก็ได้ • (Pseudo-code) เป็นคำอธิบายขั้นตอนการทำงานของโปรแกรม เป็นคำย่อ ไม่มีรูปแบบเฉพาะตัว • ผังงาน (Flowchart) จะใช้สัญลักษณ์ต่างๆ แทนการทำงานและทิศทางของโปรแกรม

  20. 3.การเขียนโปรแกรม • เขียนเป็นโปรแกรมเพื่อให้คอมพิวเตอร์สามารถประมวลผลได้ โดยเปลี่ยนขั้นตอนการทำงานให้อยู่ในรูปรหัสภาษาคอมพิวเตอร์ การเขียนโปรแกรมต้องเขียนตามภาษาที่คอมพิวเตอร์เข้าใจโดยอาจใช้ภาษาระดับสูง หรือ ระดับต่ำ ซึ่งสามารถเลือกได้หลายภาษา การเขียนโปรแกรมแต่ละภาษาจะต้องทำตามหลักไวยากรณ์ (Syntax) ที่กำหนดไว้ในภาษานั้น นอกจากนี้การเลือกใช้ภาษาจะต้องพิจารณาถึงความถนัดของผู้เขียนโปรแกรมด้วย

  21. 4. การทดสอบและแก้ไขโปรแกรม • หลังจากเขียนโปรแกรมจะต้องทดสอบความถูกต้องของโปรแกรมที่เขียนขึ้น หาจุดผิดพลาดของโปรแกรมว่ามีหรือไม่ และตรวจสอบจนไม่พบข้อผิดอีก • จุดผิดพลาดของโปรแกรม เรียกว่า บัก (Bug) • การแก้ไขข้อผิดพลาดให้ถูกต้อง เรียกว่า ดีบัก (Debug) • ข้อผิดพลาดจากการเขียนโปรแกรมมี 2 ประเภท • 1. เขียนคำสั่งไม่ถูกต้องตามหลักการเขียนโปรแกรมภาษานั้นๆ เรียกว่า Syntax Error หรือ Coding Error • 2. ข้อผิดพลาดทางตรรก หรือ Logical Errorเป็นข้อผิดพลาดที่โปรแกรมทำงานได้ แต่ผลลัพธ์ออกมาไม่ถูกต้อง

  22. 5. ทำเอกสารและบำรุงรักษาโปรแกรม • ขั้นตอนนี้ทำให้ผู้ใช้สามารถใช้งานโปรแกรมได้อย่างมีประสิทธิภาพ และสะดวกในการตรวจสอบข้อผิดพลาดโดยเขียนเป็นเอกสารประกอบโปรแกรมขึ้นมา โดยทั่วไปแล้วแบ่งออกเป็นสองประเภท คือ • 1. คู่มือการใช้ หรือ User Document หรือ User Guide ซึ่งจะอธิบายการใช้โปรแกรม • 2. คู่มือโปรแกรมเมอร์ หรือ Program Document หรือ Technical Reference ซึ่งจะอำนวยความสะดวกในการแก้ไขโปรแกรม และพัฒนาโปรแกรมในอนาคต โดยจะมีรายละเอียดต่างๆ เกี่ยวกับโปรแกรม เช่น ชื่อโปรแกรม การับข้อมูล การพิมพ์ผลลัพธ์ขั้นตอนต่างๆ ในโปรแกรมเป็นต้น ส่วนการบำรุงรักษาโปรแกรม (Maintenance) เป็นการที่ผู้เขียนโปรแกรมจะต้องคอยตรวจสอบการใช้โปรแกรมจริง เพื่อแก้ไขข้อผิดพลาดซึ่งอาจเกิดขึ้นในภายหลัง รวมทั้งพัฒนาโปรแกรมให้ทันสมัยอยู่เสมอเมื่อเวลาผ่านไป

  23. 4.ขั้นตอนการพัฒนาโปรแกรมด้วย DEV C++ • การเขียนโปรแกรมด้วย DEV C++ มี 3 ขั้นตอนดังนี้ • 1. เขียนโปรแกรมต้นฉบับด้วยโปรแกรม DEV C++ • 2. ใช้คอมไพเลอร์แปลภาษาซี • ทำการเชื่อมโยงไฟล์

  24. ขบวนการทั้งสามชั้นตอนสามารถทำได้โดย DEV C++ เพียงตัวเดียว เนื่องจากโปรแกรมนี้ได้รวมโปรแกรมพัฒนางาน หรือ ไอดีอี (Integrate Development Environment: IDE) เอาไว้ด้วย ทำให้สามารถเขียนโปรแกรมต้นฉบับได้ง่ายขึ้น เมื่อเขียนโปรแกรมต้นฉบับแล้ว จะต้องจัดเก็บเป็นไฟล์ที่มีนามสกุลเป็น .C จากนั้นให้คอมไฟล์โปรแกรมก็จะได้ไฟล์ออบเจ็กต์โค้ดที่มีนามสกุลเป็น .OBJ เมื่อทำการเชื่อมโยงไฟล์เข้ากับไลบรารีคำสั่งด้วย Link จะได้ไฟล์ที่มีนามสกุลเป็น.EXE ที่พร้อมทำงานได้บนเครื่องคอมพิวเตอร์

  25. หน้าต่างโปรแกรม DEV C++

More Related