780 likes | 1.22k Views
05-530-111 Computer Programming 1. บทที่ 1. ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม. เนื้อหารายวิชา (Course Description). 05-530-111 Computer Programming 1.
E N D
บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม
เนื้อหารายวิชา (Course Description) 05-530-111Computer Programming 1 การเขียนผังงาน ภาษาสําหรับเขียนโปรแกรม ประเภทขอมูลแบบตางๆ คาคงที่ ตัวแปร นิพจนและตัวกระทําการ คําสั่งในการควบคุมการทํางาน อารเรย โปรแกรมยอยและอารกิวเมนตวิธีการนําขอมูลเขา-ออก อยางงาย การเขียนโปรแกรมเพื่อทํางานกับแฟมขอมูล รูปแบบการเขียนโปรแกรมที่ดี เทคนิคการแกปญหาตางๆ
การวัดผลสัมฤทธิ์ในการเรียน (Grading) • การสอบกลางภาค30% • การสอบปลายภาค30% • การบ้าน10% • การสอบย่อย 10% • การสอบปฏิบัติการ 20%
ผังงานที่ดีควรมีคุณสมบัติดังนี้ผังงานที่ดีควรมีคุณสมบัติดังนี้ การเขียนผังงาน (Flowchart) (1) มีความถูกต้องตรงกับความต้องการ (2) ควรใช้เวลาในการปฏิบัติงานน้อยที่สุด (3) สั้น กระชับ รัดกุม มีเฉพาะขั้นตอนที่จำเป็นเท่านั้น (4) มีความยืดหยุ่น สามารถใช้ได้ทั้งในปัจจุบันและอนาคต (5) ควรใช้เวลาในการพัฒนาน้อยที่สุด (6) ง่ายต่อการทำความเข้าใจ และการนำไปใช้งาน
ผังงานกับชีวิตประจำวันผังงานกับชีวิตประจำวัน
ตัวอย่างผังงานขั้นตอนส่งจดหมายตัวอย่างผังงานขั้นตอนส่งจดหมาย
ตัวอย่างผังงานการทานยาตัวอย่างผังงานการทานยา
ผังระบบ • หมายถึง ผังงานที่แสดงขั้นตอนการทำงานของระบบทั้งหมด • แสดงถึงอุปกรณ์ในรับข้อมูล เอกสารเบื้องต้น สื่อบันทึกข้อมูล วิธีการประมวลผล สูตรที่ใช้ในการคำนวณ การแสดงผลลัพธ์และอุปกรณ์ที่ใช้แสดงผลลัพธ์ในแต่ละจุดของผังงาน • เป็นแสดงการทำงานทั้งระบบอย่างกว้าง ๆ ไม่ละเอียด
ตัวอย่างผังระบบคำนวณบัญชีเงินเดือนตัวอย่างผังระบบคำนวณบัญชีเงินเดือน
ตัวอย่างผังระบบการจ่ายเงินเดือนตัวอย่างผังระบบการจ่ายเงินเดือน
ผังโปรแกรม • เป็นเครื่องมือ (Tools) ที่ใช้อธิบายหรือแสดงขั้นตอนของคำสั่งการทำงานอย่างละเอียด • ใช้สัญลักษณ์ในการเขียนผังงานเช่นเดียวกับการเขียนผังงานระบบ • เป็นการวางแผนการเขียนโปรแกรมโดยผังงานโปรแกรมจะแสดงลำดับคำสั่งเป็นขั้นตอนในการปฏิบัติงานอย่างละเอียด • ส่วนใหญ่การเขียนผังงานจะมีลักษณะเป็นโครงสร้าง(Structure Flowchart)
ผังโปรแกรมโครงสร้าง • 1 การทำงานแบบเป็นลำดับ (Sequence) • 2 การทำงานแบบเลือกทำ (Selection) • หนึ่งทางเลือก (One Alternative) • สองทางเลือก (Two Alternative) • หลายทางเลือก (Multiple-Alternative) • 3. การทำงานแบบทำซ้ำหรือวนรอบ (Loop) • การทำงานแบบทำซ้ำแบบเงื่อนไขเป็นจริง (DO-WHILE) • การทำงานแบบทำซ้ำจนเงื่อนไขเป็นจริง (DO-UNTIL หรือ REPEAT-UNTIL) • การทำงานแบบทำซ้ำตามจำนวนรอบที่ระบุ (FOR Loop)
Flowchart แบบทางเลือก • แบบ 1 ทางเลือก
ตัวอย่าง Flowchart แบบทางเลือก
ตัวอย่าง Flowchart สองทางเลือก
ตัวอย่าง Flowchart หลายทางเลือก
ประโยชน์ของผังงาน • 1. ลำดับขั้นตอนการทำงานของโปรแกรม และสามารถนำไปเขียนโปรแกรมได้โดยไม่สับสน • 2. ตรวจสอบความถูกต้อง และแก้ไขโปรแกรมได้ง่าย เมื่อเกิดข้อผิดพลาด • 3. การปรับปรุง เปลี่ยนแปลง แก้ไข ทำได้อย่างสะดวกและรวดเร็ว • 4. ทำให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น
วิธีการเขียนผังงานที่ดีวิธีการเขียนผังงานที่ดี • 1. ใช้สัญลักษณ์ตามที่กำหนดไว้ • 2. ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือจากซ้ายไปขวา • 3. คำอธิบายในภาพสัญลักษณ์ผังงานควรสั้นกะทัดรัด และเข้าใจง่าย • 4. ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า - ออก • 5. ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน • 6. ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนนำไปเขียนโปรแกรมจริง
การโปรแกรม (programming) เป็นการแก้ปัญหาโดยใช้คอมพิวเตอร์ • การโปรแกรมประกอบด้วย 2 ส่วน ได้แก่ • อัลกอริทึม • การ codingprogram
ภาษาคอมพิวเตอร์(Computer Language) • ภาษาเครื่อง (Machine Language) • ภาษาแอสเซ็มบลี (Assembly Language) • ภาษาระดับสูง (High-Level Language) เครื่องคอมพิวเตอร์สามารถประมวลผลได้จากภาษาเครื่องเท่านั้น!
การแปลภาษา Source Program Compiler Executable Program Test.c #include <stdio.h> void main( ) { printf(“Hello”); getch(); }
การแปลภาษา • มี2 ชนิด คือ • Compilerทำการอ่านโปรแกรมทั้งหมดในครั้งเดียว จากนั้นทำการแปลเป็น executable program • Interpreterทำการอ่านแล้วแปลทีละ 1 คำสั่ง(บรรทัด)
แนะนําภาษาซี • ภาษาโปรแกรม (Programing Language) • คือภาษาที่ถูกคิดค้นขึ้นมาใช้กับคอมพิวเตอร์ • ปัจจุบันมีหลายพันภาษา แต่ภาษาที่เป็นที่รู้จักและเป็นที่นิยมใช้ทั่วไปนั้นอาจจะมีเพียงหลายสิบภาษา • แต่ละภาษา สร้างขึ้นด้วยวัตถุประสงค์ที่แตกต่างกันและมีจุดเด่นของภาษาที่ต่างกัน
แนะนําภาษาซี (ต่อ) • ภาษาซี (C Programming Language) • เป็นภาษาเชิงโครงสร้างที่มีการออกแบบโปรแกรมในลักษณะโมดูลที่มีจุดเด่นในเรื่อง • ประสิทธิภาพด้านความเร็วของการทํางาน • ความยืดหยุ่นสูงในการเขียนโปรแกรม
ประวัติความเป็นมา • ภาษาซีได้รับการพัฒนาขึ้นโดย เดนนิส ริทชี (Dennis Ritchie) ขณะที่ทํางานอยู่ที่เบลแล็บบอราทอรี (Bell Laboratories) โดยพัฒนาขึ้นจากหลักการพื้นฐานของภาษาบี (B) และบีซีพีแอล (BCPL) ในช่วงปี ค.ศ.1971 ถึง 1973 โดยได้เพิ่มชนิดข้อมูลและความสามารถอื่น ๆ ให้มากขึ้น
Dennis Ritchie ประวัติความเป็นมา (ต่อ) B C BCPL
รูปแบบโปรแกรมภาษาซี • ในการเขียนภาษาโปรแกรม ผู้เขียนโปรแกรมจะต้องศึกษา รูปแบบพื้นฐานของภาษา และ ไวยากรณ์ ของภาษานั้น รูปแบบพื้นฐานของภาษาจะเขียนโปรแกรมในลักษณะของโมดูล คือมีการแบ่งออกเป็นส่วนย่อย ๆ ที่เรียกว่า ฟังก์ชัน (Function)
กระบวนการที่สำคัญ ในการเขียนโปรแกรม กระบวนการ ที่สำคัญ ในการเขียนโปรแกรม คือ • การรับข้อมูล • การประมวลผลข้อมูล • การแสดงผลข้อมูล การรับข้อมูล การประมวลผลข้อมูล การแสดงผลข้อมูล
ตัวอย่างโปรแกรมภาษาซีเบื้องต้นตัวอย่างโปรแกรมภาษาซีเบื้องต้น #include <stdio.h> void main( ) { /* Display message to standard output */ printf(“My first program.”); } My first program.
ส่วนประกอบของโปรแกรมภาษาซีเบื้องต้นส่วนประกอบของโปรแกรมภาษาซีเบื้องต้น Header #include <stdio.h> void main( ) { /* Display message to standard output */ printf(“My first program.”); }
ส่วนประกอบที่ 1 ส่วนหัว (Header) • เป็นส่วนที่อยู่ที่ตอนต้นของโปรแกรม โดยอยู่นอกส่วนที่เรียกว่าฟังก์ชัน จะประกอบด้วยคําสั่งที่เป็นการกำหนดค่าหรือกำหนดตัวแปรต่าง ๆ • เป็นคำสั่งที่ขึ้นต้นด้วยสัญลักษณ์“ # ” • เรียกว่า ตัวประมวลผลก่อน (Preprocessor) ซึ่งก็คือคําสั่งที่จะได้รับการทำก่อนที่จะมีการคอมไพล์โปรแกรม
ตัวประมวลผล • ตัวประมวลผลก่อนที่สำคัญของภาษาซีแบ่งออกเป็น 2 ประเภทดังนี้ # include • เป็นฟังก์ชันมาตรฐานที่ผู้ผลิตคอมไพเลอร์ได้จัดเตรียมไว้ให้ ซึ่งผู้เขียนโปรแกรมสามารถเรียกใช้งานได้ทันที โดยไม่ต้องเขียนโปรแกรมแกรมเอง ตัวอย่างเช่น #include <stdio.h> # define • ใช้สําหรับกําหนดค่าคงที่ • ตัวอย่างเช่น #define YES 1