ประดิษฐ์กรรมคอมพิวเตอร์

Download Report

Transcript ประดิษฐ์กรรมคอมพิวเตอร์

ประดิษฐ์ กรรมคอมพิวเตอร์
อาจารย์นณ
ั ฑ์ศิตา ชูรัตน์
ลักษณะรายวิชา
รหัสวิชา 3105-2209
ชื่อวิชา ประดิษฐ์ กรรมคอมพิวเตอร์
จานวนหน่วยกิต 3 หน่วยกิต เวลาเรี ยน 4 คาบ
จุดประสงค์รายวิชา
•
•
•
เพื่อให้สามารถประยุกต์ความรู ้ในด้านวิชาชีพ มาสร้างเป็ นประดิษฐ์
กรรมงานคอมพิวเตอร์
เพื่อให้สามารถปฏิบตั ิการสร้างประดิษฐ์กรรมงานคอมพิวเตอร์
เพื่อให้มีกิจนิสยั ในการทางานด้วยความประณี ต รอบคอบ และ
ปลอดภัย ตระหนักถึงคุณภาพของงานและมีจริ ยธรรมในงานอาชีพ
มาตรฐานรายวิชา
•
•
•
•
วางแผนและกาหนดขอบข่ายของงานประดิษฐ์กรรมงานคอมพิวเตอร์
ออกแบบงานประดิษฐ์กรรมงานคอมพิวเตอร์
สร้างและทดสอบงานประดิษฐ์กรรมงานคอมพิวเตอร์
เขียนคู่มือและสรุ ปรายงานผล
คาอธิบายรายวิชา
ประมวลผลความรู ้จากรายวิชาต่าง ๆโดยนามาประยุกต์ใช้ให้
สอดคล้องกับเทคโนโลยีจนได้ผลเด่นชัด เพื่อเป็ นการพิสูจน์ความรู ้ และ
ทักษะในระดับช่างเทคนิค ผูเ้ รี ยนจะต้องวางแผน นาเสนอโครงงาน
ผลงานทางวิชาการ หรื อการออกแบบ หรื อสร้างเครื่ องหรื ออุปกรณ์ ใน
งานอิเล็กทรอนิกส์คอมพิวเตอร์ที่เกี่ยวข้องให้แล้วเสร็ จในเวลากาหนด
ซึ่งจะต้องมีรายงานผลการปฏิบตั ิ และประเมินผลงานเป็ นระยะตลอด
การทาโครงงานเมื่อเสร็ จสมบูรณ์แล้ว ต้องเสนอผลงานให้
คณะกรรมการตรวจสอบและสัมภาษณ์
เกณฑ์การให้คะแนน
คะแนนมีท้ งั หมด 100 คะแนน สามารถแบ่งออกเป็ นคะแนนย่อย
ดังต่อไปนี้
สอบกลางภาคเรี ยน
10 คะแนน
สอบปลายภาคเรี ยน
30 คะแนน
จิตพิสัย
10 คะแนน
มาเรี ยน
10 คะแนน
รายงาน
10 คะแนน
แบบฝึ กหัด
10 คะแนน
ใบงานปฏิบตั ิ
20 คะแนน
กฎกติกาในการเรี ยน
•
•
•
•
การมาเรี ยน
การแต่งกาย
มารยาทในห้องเรี ยน
การใช้หอ้ งเรี ยน
เรี ยนโปรแกรมอย่างไรให้ได้ผลเร็ วที่สุด
การเรี ยนทุกอย่างย่อมมีจุดมุ่งหมาย ท่านศึกษาด้านคอมพิวเตอร์เพื่ออะไร ??
โปรแกรมคอมพิวเตอร์ เกิดขึน้ ได้ อย่ างไร
Pascal
Perl
Basic
C
PHP
Cobol
C++
ASP
Fortran
Java
C#
Ada
ภาษาคอมพิวเตอร์ (Computer Language)
ภาษาคอมพิวเตอร์ เป็ นสัญลักษณ์ที่มนุษย์พฒั นาขึ้นมาเพื่อควบคุม
การทางานของอุปกรณ์ต่าง ๆ และสัง่ การให้คอมพิวเตอร์ สามารถ
ทางาน ได้ตามที่มนุษย์ตอ้ งการ
ยุคของภาษาคอมพิวเตอร์
•
•
•
•
•
•
ภาษาคอมพิวเตอร์ มีการพัฒนาหรื อมีววิ ฒั นาการมาโดยลาดับเช่นเดียวกับ
คอมพิวเตอร์ โดยจะสามารถแบ่งออกเป็ นยุค หรื อเป็ นรุ่ นของภาษา
(Generation) ซึ่ งในยุคหลัง ๆจะมีการพัฒนาภาษาให้มีความสะดวก ใน
การอ่าน และเขียนง่ายขึ้นกว่าภาษาในยุคแรก ๆ เนื่องจากจะมีโครงสร้างภาษา
ใกล้เคียงกับภาษาอังกฤษ
สามารถแบ่งภาษาคอมพิวเตอร์ ออกได้เป็ น 5 ยุค ดังนี้
1. ภาษาเครื่ อง (Machine Language)
2. ภาษาแอสเซมบลี (Assembly Language)
3. ภาษาชั้นสู ง (High-level Language)
4. ภาษาขั้นสู งมาก (Very high-level Language)
5. ภาษาธรรมชาติ (National Language)
ประวัติความเป็ นมาของภาษาซี
ในปี ค.ศ 1972 Dennis Ritchie เป็ นผูค้ ิดค้นสร้างภาษาซี
ขึ้นเป็ นครั้งแรก โดยพัฒนาจากภาษา B และภาษา BCPL จน
ปัจจุบนั ได้รับความนิยมเป็ นอย่างแพร่ หลาย เนื่องจากเป็ นภาษา
ระดับกลาง มีความยืดหยุน่ และเป็ นมาตรฐานทัว่ โลก ง่ายต่อการศึกษา
ค้นคว้า
ทาไมถึงต้ องเลือกเรียนภาษาซีเป็ นภาษาแรก
1. เพื่อเป็ นศึกษาต่อภาษาอื่นได้ง่าย
2. เรี ยนรู ้ง่าย และคล่องตัว ไม่เทอะทะ
3. มีมาตรฐานในการเขียนทัว่ โลก
โปรแกรมแปลภาษา
Compiler เป็ นโปรแกรมแปลภาษาระดับสูง โดยทาการ
แปลโปรแกรมที่เขียนด้วยภาษาระดับสูง ซึ่งเรี ยกว่า source
program ทั้งโปรแกรมให้เป็ น object program แล้วจึง
ให้คอมพิวเตอร์ทางานตามภาษานั้น แต่ถา้ เจอข้อผิดพลาด จะแสดง
ข้อความแสดงความผิดพลาดออกมาให้ programmer
อินเตอร์ พรีเตอร์ (Interpreter) เป็ นตัวแปลภาษาอีกตัว
หนึ่งที่จะทาการแปลโปรแกรมภาษาชั้นสูงทีละคาสัง่ ให้เป็ นภาษาเครื่ อง
หรื อทางานคาสัง่ นั้นทันทีทนั ใดเลย ก่อนที่จะไปทาการแปลต่อใน
บรรทัดต่อไป ถ้าในระหว่างการแปล เกิดพบข้อผิดพลาด ที่บรรทัดใด ก็
จะฟ้ อง ให้ทาการแก้ไข ที่บรรทัดนั้นทันที
หลักการเขียนโปรแกรม
ในการเขียนโปรแกรมคอมพิวเตอร์ ผูเ้ ขียนโปรแกรมจะต้องเข้าใจหลักเกณฑ์
ของภาษาโปรแกรม และระบบการทางานของคอมพิวเตอร์ ว่ามีโครงสร้างและ
วิธีการใช้คาสั่งอย่างไร ซึ่ งในการเขียนโปรแกรมคอมพิวเตอร์ มีหลักเกณฑ์การเขียน
โปรแกรม ประกอบด้วย 5 ขั้นตอนดังนี้คือ
1. ทาความเข้าใจและวิเคราะห์ปัญหา
2. กาหนดแผนในการแก้ปัญหา
3. เขียนโปรแกรมตามแผนที่กาหนด
4. ทดสอบและตรวจสอบความถูกต้องของโปรแกรม
5. นาโปรแกรมที่ผา่ นการทดสอบไปใช้งาน
1. ทาความเข้าใจและวิเคราะห์ปัญหา
ขั้นตอนนี้เป็ นขั้นตอนแรกสุ ดที่นกั เขียนโปรแกรม จะต้องทาก่อน
ลงมือเขียนโปรแกรม เพื่อทาความเข้าใจกับปัญหาที่เกิดขึ้น และค้นหา
จุดมุ่งหมาย หรื อสิ่ งที่ตอ้ งการ
โดยสรุ ปแล้วการวิเคราะห์งาน เป็ นการศึกษา ผลลัพธ์หรื อสิ่ งที่
ต้องการ (Output) ข้อมูลนาเข้า (Input) และวิธีการประมวลผล
(Process) และตัวแปร (Variable) ที่จะใช้เขียนโปรแกรม
2. กาหนดแผนในการแก้ปัญหา
หลังจากขั้นตอนการวิเคราะห์ปัญหาแล้ว ขั้นตอนถัดไปเป็ นการวางแผน
แก้ไขปั ญหา โดยการใช้เครื่ องมือมาช่วยในการแก้ไขปั ญหา ขั้นตอนนี้ ยังไม่เป็ น
การเขียนโปแกรมจริ ง ๆ แต่จะช่วยให้การเขียนโปแกรมง่ายขึ้น โดยสามารถเขียน
ตามขั้นตอนที่ได้กาหนดไว้ในขั้นตอนนี้ และยังช่วยให้ข้ นั ตอนการเขียนโปรแกรม
มีความผิดพลาดน้อยลง
ในขั้นตอนการวางแผนแก้ไขปั ญหานี้ ผอู ้ อกแบบการแก้ไขปั ญหา สามารถนา
เครื่ องมือมาช่วยในการแก้ไขปั ญหาได้แก่
อัลกอริ ทึม (Algorithm)
ผังงาน (Flowchart)
รหัสจาลอง หรื อรหัสเทียม (Psudo-code
3. เขียนโปรแกรมตามแผนที่กาหนด
ผังงาน (Flowchart)
เป็ นเครื่ องมืออีกแบบหนึ่งที่ใช้รูปภาพ แสดงถึงขั้นตอนการเขียนโปรแกรม
หรื อขั้นตอนในการแก้ปัญหาทีละขั้น และมีเส้นที่แสดงทิศทาง การไหลของ
ข้อมูล ตั้งแต่จุดเริ่ มต้นจนกระทัง่ ได้ผลลัพธ์ตามที่ตอ้ งการ ซึ่งจะทาให้ผอู ้ ่าน
สามารถอ่านและทาความเข้าใจได้โดยง่าย
ผังงานคือ คือ รู ปภาพ (Image) หรื อสัญลักษณ์(Symbol) ที่
ใช้เขียนแทนขั้นตอน คาอธิบาย ข้อความ หรื อคาพูด ที่ใช้ในอัลกอริ ทึม
(Algorithm) เพราะการนาเสนอขั้นตอนของงานให้เข้าใจตรงกัน
ระหว่างผูเ้ กี่ยวข้อง ด้วยคาพูด หรื อข้อความ ทาได้ยากกว่าเมื่อใช้รูปภาพ หรื อ
สัญลักษณ์
ผังงานแบ่ งได้ 2 ประเภท
ผังงานระบบ (System Flowchart)
คือ ผังงานที่แสดงขั้นตอนการทางานในระบบอย่างกว้าง ๆ แต่ไม่เจาะลง
ในระบบงานย่อย
ผังงานโปรแกรม (Program Flowchart)
คือ ผังงานที่แสดงถึงขั้นตอนในการทางาน ของโปรแกรม ตั้งแต่รับ
ข้อมูล คานวณ จนถึงแสดงผลลัพธ์
ประโยชน์ ของผังงาน
• ช่วยลาดับขั้นตอนการทางานของโปรแกรม และสามารถนาไปเขียน
โปรแกรมได้โดยไม่สบั สน
• ช่วยในการตรวจสอบ และแก้ไขโปรแกรมได้อย่างง่าย เมื่อเกิด
ข้อผิดพลาด
• ช่วยให้การดัดแปลง แก้ไข ทาได้อย่างสะดวกและรวดเร็ ว
• ช่วยให้ผอู ้ ื่นสามารถศึกษาการทางานของโปรแกรมได้อย่างง่ายและ
รวดเร็ วมากขึ้น
วิธีการเขียนผังงานที่ดี
ใช้สญ
ั ลักษณ์ตามที่กาหนดไว้
ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่างหรื อซ้ายไปขวา
คาอธิบายในภาพควรสั้นกระทัดรัด และเข้าใจได้ง่าย
ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า-ออก
ไม่ควรโยงเส้นเชื่อมผังงานที่อยูไ่ กลมาก ๆ ควรใช้สญ
ั ลักษณ์จุดเชื่อมต่อ
แทน
• ผังงานควรมีการทดสอบความถูกต้องของการทางานก่อนนาไปเขียน
•
•
•
•
•
สั ญลักษณ์ ที่ใช้ ในการเขียนผังงาน
โครงสร้ างของผังงาน (Structured Flowchart)
ในโปรแกรมทุกโปรแกรมจะประกอบด้วยโครงสร้างที่เป็ นตัว
ควบคุมการทางานของโปรแกรม เพื่อกาหนดทิศทางการทางานของ
โปรแกรม ว่าจะต้องไปทาขั้นตอนอะไรต่อไป โดยทัว่ ไปการเขียน
โปรแกรมที่ดีควรจะประกอบด้วยโครงสร้างควบคุม เพื่อทาให้
โปรแกรม มีความง่ายต่อการเขียน การตรวจสอบการอ่านและการ
บารุ งรักษา โครงสร้างควบคุมหลักที่มีอยูใ่ นโปรแกรมจะมีอยู่ 3
โครงสร้างคือ
– โครงสร้างการทางานแบบตามลาดับ (Sequence)
– โครงสร้างการทางานแบบมีการเลือก (Selection)
– โครงสร้างการทางานแบบมีการทางานซ้ า (Iteration)
• โครงสร้ างการทางานแบบตามลาดับ (Sequence)
เป็ นโครงสร้างของโปรแกรมที่มีการทางานที่เป็ นลาดับขั้นตอนไม่มีการข้ามขั้น
หรื อย้อนกลับไปทาคาสั่งเก่าที่ได้ทาไปแล้ว
• โครงสร้ างการทางานแบบมีการเลือก (Selection)
เป็ นโครงสร้างที่ใช้การตรวจสอบเงื่อนไขเพื่อตัดสิ นใจการทางานอย่างใด อย่าง
หนึ่ง โดยโครงสร้างแบบนี้จะมีอยูด่ ว้ ยกัน 2 รู ปแบบ คือ
IF-THEN-ELSE และ IF-THEN
• โครงสร้ างการทางานแบบมีการทางานซ้า (Iteration)
เป็ นโครงสร้างที่มีการประมวลผลกลุ่มคาสั่งซ้ าหลายครั้ง ตามลักษณะเงื่อนไขที่
กาหนด อาจเรี ยกการทางานซ้ า แบบนี้ได้อีกแบบว่า การวนลูป (looping) โครงสร้าง
แบบการทางานซ้ านี้ จะมีอยู่ 3 ประเภทคือ
• While-do Do-While For