ประกอบวชิ า ว.30268 เทคโนโลยี 2 ครูผสู้ อน ครูรัชชนก วงศเ์ ขียว
หนงั สืออิเลก็ ทรอนิกส์เร่ือง ภาษาซี โรงเรียน เล่มน้ี ใชป้ ระกอบ วิชา ว 30268 ภาษาซีช้นั มธั ยมศึกษาปี ท่ี 6 ซ้ึงในเน้ือหาจะ อธิบายถึงความรู้เก่ียวกบั ภาษาซีในโรงเรียนวงั เหนือวทิ ยา หวงั เป็นอยา่ งยงิ่ วา่ จะเป็นประโยชน์ต่อผู้ ศึกษาไดเ้ ป็นอยา่ งดี ชื่อ ชนภทั ร ใจบุญ ชื่อ พิทวสั สวยสด ผจู้ ดั ทา
ภาษาซีเป็นภาษาที่ถือวา่ เป็นท้งั ภาษาระดบั สูงและ ระดบั ต่า ถกู พฒั นาโดยเดนนิส ริดชี (Dennis Ritche) แห่ง หอ้ งทดลองเบลล์ (Bell Laboratories) ที่เมอร์รีฮิล มลรัฐนิว เจอร์ซี่ โดยเดนนิสไดใ้ ชห้ ลกั การของภาษา บีซีพีแอล (BCPL : Basic Combine Programming Language) ซ่ึงพฒั นาข้ึนโดย เคน ทอมสนั (Ken Tomson) การออกแบบและพฒั นาภาษาซี ของเดนนิส ริดชี มีจุดมุ่งหมายใหเ้ ป็นภาษาสาหรับใชเ้ ขียน โปรแกรมปฏิบตั ิการระบบยนู ิกซ์ และไดต้ ้งั ช่ือวา่ ซี (C) เพราะ เห็นวา่ ซี (C) เป็นตวั อกั ษรต่อจากบี (B) ของ ภาษา BCPL ภาษาซีถือวา่ เป็นภาษาระดบั สูงและภาษาระดบั ต่า ท้งั น้ีเพราะ ภาษาซีมีวิธีใชข้ อ้ มลู และมีโครงสร้างการควบคุม การทางานของโปรแกรมเป็นอยา่ งเดียวกบั ภาษาของโปรแกรม ระดบั สูงอื่นๆ
ภาษาคอมพิวเตอร์ หมายถึง ภาษาใด ๆ ท่ี ผใู้ ชง้ านใชส้ ื่อสารกบั คอมพวิ เตอร์ หรือคอมพวิ เตอร์ ดว้ ยกนั แลว้ คอมพิวเตอร์สามารถทางานตามคาส่ังน้นั ได้ คาน้ีมกั ใชเ้ รียกแทนภาษาโปรแกรม แตค่ วามเป็นจริง ภาษาโปรแกรมคือส่วนหน่ึงของภาษาคอมพวิ เตอร์ เท่าน้นั และมีภาษาอ่ืน ๆ ที่เป็นภาษาคอมพิวเตอร์เช่นกนั ยกตวั อยา่ งเช่น เอชทีเอม็ แอล เป็นท้งั ภาษามาร์กอปั และ ภาษาคอมพิวเตอร์ดว้ ย แมว้ า่ มนั จะไม่ใช่ภาษา โปรแกรม หรือภาษาเคร่ืองน้นั กน็ บั เป็น ภาษาคอมพิวเตอร์ ซ่ึงโดยทางเทคนิคสามารถใช้ ในการเขียนโปรแกรมได้ แต่กไ็ ม่จดั วา่ เป็นภาษา โปรแกรม
ภาษาคอมพิวเตอร์สามารถแบ่งออกเป็นสองกลุม่ คือ ภาษาระดบั สูง (high level) และภาษาระดบั ต่า (low level) ภาษา ระดบั สูงถกู ออกแบบมาเพ่อื ใหใ้ ชง้ านง่ายและสะดวกสบาย มากกวา่ ภาษาระดบั ต่า โปรแกรมท่ีเขียนถกู ตอ้ งตามกฎเกณฑ์ และไวยากรณ์ของภาษาจะถูกแปล (compile) ไปเป็น ภาษาระดบั ต่าเพือ่ ใหค้ อมพวิ เตอร์สามารถนาไปใชง้ านหรือ ปฏิบตั ิตามคาส่งั ไดต้ อ่ ไป ซอฟตแ์ วร์สมยั ใหม่ส่วนมากเขียน ดว้ ยภาษาระดบั สูง แปลไปเป็นออบเจกตโ์ คด้ (object code) แลว้ เปลี่ยนใหเ้ ป็นชุดคาส่ังในภาษาเครื่อง ภาษาคอมพวิ เตอร์อาจแบ่งกลุม่ ไดเ้ ป็นอีก สองประเภทคือ ภาษาที่มนุษยอ์ า่ นออก (human-readable) และภาษาท่ีมนุษยอ์ า่ นไม่ ออก (non human-readable) ภาษาท่ีมนุษย์ อา่ นออกถกู ออกแบบมาเพือ่ ใหม้ นุษย์ สามารถเขา้ ใจและสื่อสารไดโ้ ดยตรงกบั คอมพิวเตอร์ ส่วนใหญ่เป็นภาษาองั กฤษ) ส่วนภาษาท่ีมนุษยอ์ ่านไม่ออกจะมีโคด้ ส่วน
1.พรีโปรเชสเชอร์ไดเรคทฟี (Pre-processor Directive) ส่วนหวั ของโปรแกรม(Header File)เป็นส่วนสาคญั ส่วนหน่ึงของภาษา C เป็นส่วนท่ีบอกใหค้ อม ไพลเ์ ลอร์ รับทราบวา่ ใหน้ าไฟลส์ ่วนดงั กล่าวมาคอมไพลร์ ่วมดว้ ยดงั ตวั อยา่ งเฮดเดอร์ไฟล์ คือ #include <stdio.h> โดยช่ือเฮด เดอร์ไฟลท์ ี่ผนวกเขา้ มาสามารถเขียนอยภู่ ายในเครื่องหมาย < > หรือ \" \" กไ็ ด้ เฮดเดอร์ไฟลเ์ ป็นไฟลช์ นิดขอ้ ความ (Text File) ท่ีภายใน โปรแกรมจะมีการประกาศคา่ ตวั แปร และคา่ คงท่ีตา่ งๆ ซ่ึงจะบรรจุฟังกช์ น่ั มาตรฐานต่างๆ รวมเขา้ ดว้ ยกนั ตาม ลกั ษณะงานท่ีใช้ และเกบ็ ลงในไลบารี โดยจาถูกนามา อ่านรวมกนั กบั ชุดคาสั่งขณะทาการคอมไพลเ์ ลอร์ เฮดเดอร์ไฟลท์ ี่เรานิยมใชบ้ ่อยมีอยู่ 2 เฮดเดอร์ คือ stdio.h และ conio.h
stdio.h เป็นเฮดเดอร์ที่เก่ียวขอ้ งกบั ฟังชน่ั อินพตุ และเอาตพ์ ตุ Input and Output) เช่น ฟังกช์ นั่ printf( ) , scanf ( ) conio.h เป็นเฮดเดอร์ที่เกี่ยวกบั ฟังกช์ นั่ รอรับ คาส่งั เช่น getch ( ) ความหมายของพรีโปรเชสเชอร์กค็ ือ \"ตวั ประมวลผล ก่อน\" ช่ึงจะตอ้ งถกู กาหนดไวน้ อกฟังกช์ นั่ เสมอ โดยส่วนน้ีจะไดร้ ับการประมวลผลก่อนชุดคาสั่งภายใน ฟังชน่ั จึงเป็นที่มาของพรีโปรเชสเชอร์นนั่ เอง การ เขียน จะตอ้ งนาหนา้ ดว้ ยเคร่ืองหมาย # เสมอ อยา่ งไรกต็ ามพรีโป รเชสเชอร์จะมีอยหู่ ลายตวั ดว้ ยกนั เช่น #if #ifdef #ifndef #else #elif #endif #include #define #undef #line #error #pragma
2. ฟังกช็ ่ันหลกั (Main Function) ฟังกช็ นั่ main( ) ในภาษา C จดั เป็นฟังกช็ นั่ ที่ทาหนา้ เสมือนกบั เป็นโปรแกรมหลกั ที่สั่งใหช้ ุดคาส่ัง ทางาน รวมถึงการเรียกใชฟ้ ังกช์ น่ั ยอ่ ยๆอื่นทางาน กล่าวคือการสงั่ งาน ในโปรแกรมจะอยภู่ ายในฟังกช์ นั่ main ( ) นนั่ เอง 3. ประโยคคาสั่ง (Compound Statement) เป็นชุดคาสัง่ ที่บรรจุอยใู่ นฟังชน่ั นน่ั ๆ ซ่ึงอาจจะเป็น - ประโยคท่ีใชส้ าหรับประกาศตวั แปร (Variable) หรือการกาหนดคา่ เร่ิมตน้ ใหก้ บั ตวั แปรต่างๆ โดยตวั แปรท่ีใชง้ านในโปรแกรม จาเป็นตอ้ ง ไดร้ ับการประกาศชนิดขอ้ มลู ของตวั แปรน้นั ๆดว้ ย - ประโยคนิพจนค์ ณิตศาสตร์ เช่น ประโยค คานวณตวั เลขต่างๆ - ประโยคคาสั่งควบคุมอ่ืนๆ เช่น คาสง่ั ควบคุมวงจรลปู คาส่ังควบคุมเง่ือนไข เป็นตน้
4. คาอธิบายภายในโปรแกรม (Program Comment) คาอธิบายโปรแกรม เป็นส่วนที่ผเู้ ขียนโปรแกรม นามาใชอ้ ธิบายจุดสาคญั ตา่ งๆ ภายในโปรแกรม เช่น ใชอ้ ธิบายจุดประสงคข์ องโปรแกรมส่วน น้นั ๆ รวมถึงการป้ องการหลงลืม กรณีที่ตอ้ ง กลบั มา ปรับปรุงโปรแกรมใหม่ รูปแบบการ เขียนคาอธิบายในภาษา C /*คาอธิบาย*/ หรือ // คาอธิบาย เช่น /*comment*/ หรือ //comment
วิธีการเขียนผงั งานที่ดี การเขียนผงั งานคานึงถึงส่ิงต่าง ๆ ดงั น้ี 1. ใชส้ ัญลกั ษณ์ตามท่ีกาหนดไว้ 2. ผงั งานจะตอ้ งมีจุดเร่ิมตน้ (Start)และสิ้นสุด (Stop/End/Finish) 3. ใชห้ วั ลกู ศรแสดงทิศทางการไหลของขอ้ มลู จากบนลง ลา่ งหรือซา้ ยไปขวา (ยกเวน้ ท่ีตอ้ งทาซา้ ) 4. ทุกแผนภาพตอ้ งมีลกู ศรแสดงทิศทางเขา้ 1 เส้นและ ออก 1 เส้นโดยไม่มีการปลอ่ ยจุดใดจุดหน่ึงไว้ 5. เขียนคาอธิบายการทางานในแต่ละข้นั ตอนโดยใช้ ขอ้ ความท่ีส้ัน กะทดั รัด ชดั เจนและเขา้ ใจไดง้ ่าย 6. ควรหลีกเลี่ยงโยงเสน้ ไปมาทาใหเ้ กิดจุดตดั มากเพราะ จะทาใหเ้ กิดขอ้ ผิดพลาดง่าย ควรใชส้ ญั ลกั ษณ์เช่ือมจุดต่อเน่ือง แทน 7. ไม่ควรโยงเสน้ เช่ือมผงั งานที่อยไู่ กลมาก ๆ ควรใช้ สัญลกั ษณ์จุดเชื่อมตอ่ แทน 8. ผงั งานที่ดีควรมีความเป็นระเบียบเรียบร้อย สะอาด และชดั เจน สามารถเขา้ ใจและติดตามข้นั ตอนไดง้ ่าย 9. ผงั งานควรมีการทดสอบความถกู ตอ้ งของการทางาน ก่อนไปเขียนโปรแกรม
ประเภทของผงั งาน โดยทว่ั ไปผงั งานคอมพวิ เตอร์แบ่งเป็น 2 ประเภทใหญ่ 1. ผงั งานระบบ (System Flowchart) เป็นผงั งานที่แสดงถึงข้นั ตอนการทางานภายในระบบหน่ึง ๆ เพื่อใหเ้ ห็นโครงสร้างโดยภาพรวมของระบบ ซ่ึงจะแสดงถึงความ เก่ียวขอ้ งของส่วนท่ีสาคญั ตา่ งๆ ในระบบน้นั เช่น เอกสารขอ้ มูล เบ้ืองตน้ ส่ือบนั ทึกขอ้ มลู ท่ีใช้ ขอ้ มูลจะส่งผา่ นไปยงั หน่วยงานใด มี กิจกรรมประมวลผลขอ้ มูลอะไรในหน่วยงานน้นั แลว้ จะส่งต่อไป หน่วยงานใด เป็นตน้ ดงั น้นั ผงั งานระบบอาจเก่ียวขอ้ งกบั ขอ้ มูล สื่อ หรือแหลง่ บนั ทึกขอ้ มลู วสั ดุปกรณ์ คน หรือฝ่ ายงานที่เกี่ยวขอ้ ง ซ่ึง แต่ละจุดจะประกอบไปดว้ ย การนาขอ้ มลู เขา้ วธิ ีการประมวลผล และการแสดงผลลพั ธ์ (Input – Process - Output) ดงั ภาพ
2. ผงั งานโปรแกรม (Program Flowchart) หรือเรียกส้ันๆ วา่ ผงั งาน ผงั งานประเภทน้ีแสดงถึงข้นั ตอนของคาส่ังท่ีใชใ้ น โปรแกรม ผงั งานน้ีอาจสร้างจากผงั งานระบบโดยผเู้ ขียนผงั งาน จะดึงเอาแตล่ ะจุด ที่เก่ียวขอ้ งกบั การทางานของเครื่อง คอมพิวเตอร์ที่ปรากฏในผงั งานระบบมาเขียน เพอื่ ใหท้ ราบวา่ ถา้ จะใชค้ อมพิวเตอร์ทางานควรที่จะมีข้นั ตอนคาส่ังอยา่ งไร เพอื่ ให้ ไดผ้ ลลพั ธ์ตามท่ีตอ้ งการ และจะไดน้ ามาเขียนโปรแกรม คอมพิวเตอร์ตอ่ ไป ดงั น้นั การเขียนผงั งานกจ็ ะมีประโยชน์ เหมาะสาหรับ ผบู้ ริหาร ผวู้ เิ คราะห์ระบบ ผเู้ ขียนโปรแกรม และบุคคลอื่นที่ ตอ้ งการศึกษา ทาใหท้ ราบถึงความสมั พนั ธ์ของระบบต้งั แต่ เริ่มตน้ วา่ มีการปฏิบตั ิแต่ละข้นั ตอนอยา่ งไร ใชว้ ธิ ีการอะไรบา้ ง สุดทา้ ยจะไดผ้ ลลพั ธ์อะไรบา้ ง เม่ือเขา้ ใจระบบงานหรือสิ่งท่ีกา ลงั ศึกษากจ็ ะช่วยใหส้ ามารถปฏิบตั ิงานและแกป้ ัญหาไดอ้ ยา่ งมี ประสิทธิภาพมากยงิ่ ข้ึน ดงั ภาพ
Search
Read the Text Version
- 1 - 13
Pages: