วันอาทิตย์ที่ 14 กรกฎาคม พ.ศ. 2562

ภาษา Python


โลโก python
ภาษาไพทอน (Python programming language) เป็นภาษาโปรแกรมแบบอินเทอร์พรีเตอร์ ที่สร้างโดย กีโด ฟาน รอสซัม (Guido van Rossum) ในพ.ศ. 2533 ปัจจุบันดูแลโดย มูลนิธิซอฟต์แวร์ไพทอน

จุดเด่นของภาษาไพทอน

ไพทอนเป็นภาษาสคริปต์ ทำให้ใช้เวลาในการเขียนและคอมไพล์ไม่มาก ทำให้เหมาะกับงานด้านการดูแลระบบ (System administration) เป็นอย่างยิ่ง ได้มีการสนับสนุนภาษาไพทอนโดยเป็นส่วนหนึ่งของระบบปฏิบัติการยูนิกซ์, ลินุกซ์ และสามารถติดตั้งให้ทำงานเป็นภาษาสคริปต์ของวินโดวส์ ผ่านระบบ Windows Script Host ได้อีกด้วย และ Python เองก็ได้ถูกนำมาพัฒนา Web application อย่างแพร่หลาย ซึ่งมี Framework สำหรับทำเว็บของ Python ที่ได้รับความนิยมอย่างมากคือ Django

ไวยากรณ์อ่านง่าย

ไวยากรณ์ของไพทอนได้กำจัดการใช้สัญลักษณ์ที่ใช้ในการแบ่งบล็อกของโปรแกรม และใช้การย่อหน้าแทน ทำให้สามารถอ่านโปรแกรมที่เขียนได้ง่าย นอกจากนั้นยังมีการสนับสนุนการเขียน docstring ซึ่งเป็นข้อความสั้นๆ ที่ใช้อธิบายการทำงานของฟังก์ชัน, คลาส, และโมดูลอีกด้วย

ความเป็นภาษากาว

ไพทอนเป็นภาษากาว (Glue Language) ได้อย่างดีเนื่องจากสามารถเรียกใช้ภาษาโปรแกรมอื่นๆ ได้หลายภาษา ทำให้เหมาะที่จะใช้เขียนเพื่อประสานงานโปรแกรมที่เขียนในภาษาต่างกันได้

ไลบรารีในไพทอน

การเขียนโปรแกรมในภาษาไพทอนโดยใช้ไลบรารีต่าง ๆ เป็นการลดภาระของโปรแกรมเมอร์ได้เป็นอย่างดี ทำให้โปรแกรมเมอร์ไม่ต้องเสียเวลากับการเขียนคำสั่งที่ซ้ำๆ เช่นการแสดงผลข้อมูลออกสู่หน้าจอ หรือการรับค่าต่าง ๆ
ไพทอนมีชุดไลบรารีมาตรฐานมาให้ตั้งแต่ติดตั้งอินเตอร์พรีเตอร์ นอกจากนั้นยังมีผู้พัฒนาจากทั่วโลกดำเนินการพัฒนาไลบรารีซึ่งช่วยอำนวยความ สะดวกในด้านต่าง ๆ โดยจะเผยแพร่ในรูปแบบของแพ็คเกจต่าง ๆ ซึ่งสามารถติดตั้งเพิ่มเติมได้อีกด้วย
สุดท้าย คือ ภาษาไพทอน ทำงานเร็วที่สุดเมื่อเทียบกับภาษา script ด้วยกัน เช่น php, jsp, asp จะพูดว่า ไพทอน เขียนน้อยได้งานมาก ทำงานเร็วก็ไม่ผิดนัก
ที่มา: wikipedia.org



วันจันทร์ที่ 8 กรกฎาคม พ.ศ. 2562

แนวคิดและหลักการการเขียนโปรแกรม

การเขียนโปรแกรม

   คอมพิวเตอร์ เป็นอุปกรณ์ทางอิเล็กทรอนิกส์อย่างหนึ่ง ซึ่งไม่สามารถทำงานด้วยตนเองได้ แต่จะสามารถทำงานได้ตามชุดคำสั่งในโปรแกรมที่ป้อนเข้าสู่เครื่อง ซึ่งจะทำงานตามคำสั่งทีละคำสั่ง (Step by Step)  โดยคำสั่งที่เครื่องคอมพิวเตอร์สามารถเข้าใจได้ จะต้องอยู่ในรูปแบบของภาษาเครื่อง (Machine Language)  แต่ถ้ามีการเขียนด้วยภาษาอื่นที่ไม่ใช่ภาษาเครื่อง หรือที่เรียกว่า ภาษาชั้นสูง (High-level Language)  ก็จะต้องมีตัวแปลภาษา เช่น คอมไพเลอร์ (Compiler) หรือ อินเตอร์พรีเตอร์ (Interpreter) ทำการแปลภาษาชั้นสูงนั้นให้เป็นภาษาเครื่องอีกทีหนึ่ง ในการเขียนโปรแกรมหรือภาษาคอมพิวเตอร์นี้ โดยทั่วไปแล้วแต่ละภาษาจะมีหลักเกณฑ์ในการเขียนและการออกแบบโปรแกรมเหมือนกัน
 ซึ่งสามารถที่จะแบ่งขั้นตอนการเขียนโปรแกรมออกได้เป็น 7 ขั้นตอน ดังนี้
1. ขั้นตอนการวิเคราะห์ปัญหา (Analysis the problem)
ขั้นตอนนี้เป็นขั้นตอนแรกสุดที่นักเขียนโปรแกรมจะต้องทำก่อนที่จะลงมือเขียนโปรแกรมจริง ๆ เพื่อทำความเข้าใจกับปัญหาที่เกิดขึ้น และค้นหา         จุดมุ่งหมายหรือสิ่งที่ต้องการ ในขั้นตอนนี้จะมีองค์ประกอบอยู่ 3 องค์ประกอบที่จะช่วยในการวิเคราะห์ปัญหา ได้แก่
1. การระบุข้อมูลเข้า (Input) ต้องรู้ว่ามีข้อมูลอะไรบ้างที่จะต้องป้อนเข้าสู่คอมพิวเตอร์พร้อมกับโปรแกรม เพื่อให้โปรแกรมทำการประมวลผลและออกผลลัพธ์
2. การระบุข้อมูลออก (Output) จะพิจารณาว่างานที่ทำมีเป้าหมายหรือวัตถุประสงค์อะไร ต้องการผลลัพธ์ที่มีรูปร่างหน้าตาเป็นอย่างไร โดยจะต้องคำนึงถึงผู้ใช้เป็นหลักในการออกแบบผลลัพธ์
3. กำหนดวิธีการประมวลผล (Process) ต้องรู้วิธีการประมวลผลเพื่อให้ได้ผลลัพธ์ตามที่ต้องการ
 2. ขั้นตอนการออกแบบโปรแกรม (Design a Program)
หลังจากวิเคราะห์ปัญหาแล้ว ขั้นตอนถัดไปคือ การออกแบบโปรแกรม โดยใช้เครื่องมือมาช่วยในการออกแบบ ในขั้นตอนนี้ยังไม่ได้เป็นการเขียนโปรแกรมจริง ๆ แต่จะช่วยให้การเขียนโปรแกรมทำได้ง่ายขึ้น โดยสามารถเขียนตามขั้นตอนที่ได้ออกแบบไว้ในขั้นตอนนี้ และช่วยให้การเขียนโปรแกรมมีข้อผิดพลาดน้อยลง ช่วยตรวจสอบการทำงานของโปรแกรม ทำให้ทราบขั้นตอนการทำงานของโปรแกรมได้อย่างรวดเร็ว โดยไม่ต้องไปไล่ดูจากตัวโปรแกรม   จริง ๆ ซึ่งถ้าเปรียบเทียบการเขียนโปรแกรมเหมือนกับการสร้างบ้านแล้ว ในขั้นตอนการออกแบบโปรแกรมนี้ ก็เปรียบเหมือนการสร้างแปลนบ้านลงในกระดาษไว้ ซึ่งในการสร้างบ้านจริง ก็จะอาศัยแปลนบ้านนี้เป็นต้นแบบในการสร้างนั่นเอง
ในขั้นตอนการออกแบบโปรแกรมนี้ เป็นการออกแบบการทำงานของโปรแกรม หรือขั้นตอนในการแก้ปัญหา ซึ่งผู้ออกแบบสามารถเลือกใช้เครื่องมือมาช่วยในการออกแบบได้ โดยเครื่องมือที่ใช้ในการออกแบบโปรแกรมมีอยู่หลายอย่าง ซึ่งวิธีการซึ่งเป็นที่นิยมสำหรับใช้ในการออกแบบโปรแกรม เช่น
 อัลกอริทึม (Algorithm)
 ผังงาน (Flowchart)
 รหัสจำลอง (Pseudo-code)
 แผนภูมิโครงสร้าง (Structure Chart)
     อัลกอริทึมเป็นเครื่องมือที่ช่วยในการออกแบบโปรแกรม โดยใช้ข้อความที่เป็นภาษาพูดในการอธิบายการทำงานของโปรแกรมที่เป็นลำดับขั้นตอน จะข้ามไปข้ามมาไม่ได้ นอกจากจะต้องเขียนสั่งไว้ต่างหาก ตัวอย่างอัลกอริทึมง่าย ๆ ที่พบเห็นในชีวิตประจำวัน ได้แก่ อัลกอริทึมการสระผม
    เริ่มจากการทำผมให้เปียกโดยการราดน้ำ เมื่อผมเปียกแล้วจึงใส่แชมพูสระผมลงบนศีรษะ แล้วขยี้ให้มีฟองเกิดขึ้น หลังจากนั้นก็ล้างออกด้วยน้ำ     แล้วเริ่มทำใหม่อีกครั้ง
    ในการเขียนอัลกอริทึมนี้ แม้จะมีความชัดเจนอยู่ในตัวแล้ว แต่ก็มีจุดอ่อนอยู่ที่ ข้อความอธิบายค่อนข้างเยิ่นเย้อ และถ้าผู้เขียนใช้สำนวนที่อ่านยาก ก็อาจทำให้ผู้อ่านไม่เข้าใจขั้นตอนการทำงานของโปรแกรมได้ ดังนั้น จึงมีการคิดค้นเครื่องมืออื่นที่ช่วยในการออกแบบโปรแกรมแทนอัลกอริทึม ได้แก่     ผังงาน รหัสจำลอง แผนภูมิโครงสร้าง
    ผังงานเป็นเครื่องมือที่ช่วยในการออกแบบโปรแกรม โดยใช้สัญลักษณ์รูปภาพ แสดง ขั้นตอนการเขียนโปรแกรม หรือขั้นตอนในการแก้ปัญหาทีละขั้น และมีเส้นที่แสดงทิศทางการไหลของข้อมูล ตั้งแต่จุดเริ่มต้นจนกระทั่งได้ผลลัพธ์ตามที่ต้องการ ซึ่งจะทำให้ผู้อ่านสามารถอ่านและทำความเข้าใจได้โดยง่าย
    รหัสจำลองจะมีการใช้ข้อความที่เป็นภาษาอังกฤษหรือภาษาไทยก็ได้ ในการแสดงขั้นตอนการแก้ปัญหา แต่จะมีการใช้คำเฉพาะ (Reserve words) ที่มีอยู่ในภาษาโปรแกรม มาช่วยในการเขียน โครงสร้างของรหัสจำลองจึงมีส่วนที่คล้ายกับการเขียนโปรแกรมมาก ดังนั้น รหัสจำลองจึงเป็นเครื่องมืออีกแบบที่เป็นที่นิยมใช้กันมากในการออกแบบโปรแกรม
    แผนภูมิโครงสร้างการใช้แผนภูมิโครงสร้าง จะเป็นการแบ่งงานใหญ่ออกเป็นโมดูลย่อย ๆ ซึ่งเรียกว่า การออกแบบจากบนลงล่าง (Top-Down Design) แต่ละโมดูลย่อยก็ยังสามารถแตกออกได้อีกจนถึงระดับล่างสุดที่สามารถเขียนโปรแกรมได้อย่างง่าย
 3. ขั้นตอนการเขียนโปรแกรม (Coding)
     ในขั้นตอนนี้ จะเป็นการนำเครื่องมือที่ถูกสร้างขึ้นจากขั้นตอนการออกแบบมาแปลให้เป็นโปรแกรมคอมพิวเตอร์ ซึ่งในการสร้างโปรแกรมคอมพิวเตอร์นั้น เราสามารถเลือกใช้ภาษาได้หลายภาษา ตั้งแต่ภาษาระดับต่ำ เช่น ภาษาแอสเซมบลี จนถึงภาษาระดับสูง เช่น ภาษาเบสิก ภาษาโคบอล ภาษาปาสคาล ภาษาซี ซึ่งแต่ละภาษาจะมีรูปแบบ โครงสร้าง หรือไวยากรณ์ของภาษาที่แตกต่างกันออกไปดังนั้น การเขียนโปรแกรมที่ดีนั้น ควรจะต้องทำตามขั้นตอนคือ เริ่มตั้งแต่วิเคราะห์ปัญหาให้ได้ก่อน แล้วทำการออกแบบโปรแกรมจึงจะเริ่มเขียนโปรแกรม ซึ่งในการเขียนโปรแกรมนั้น สำหรับผู้ที่ยังไม่มีประสบการณ์การเขียนโปรแกรมเพียงพอ ก็ควรจะทดลองเขียนลงในกระดาษก่อน แล้วตรวจสอบจนแน่ใจว่าสามารถทำงานได้แล้ว จึงทำการป้อนเข้าสู่เครื่องคอมพิวเตอร์ เพื่อเป็นการประหยัดเวลาและทำให้สามารถทำงานได้เร็วขึ้น
 4. ขั้นตอนการตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and Debugging)
 หลังจากที่ทำการเขียนโปรแกรมเสร็จสิ้นแล้ว โปรแกรมนั้นจะต้องได้รับการตรวจสอบก่อนว่า มีข้อผิดพลาด (error) ในโปรแกรมหรือไม่ ซึ่งอาจเกิดจากการเขียนโปรแกรมที่ผิดหลักไวยากรณ์ของภาษาเป็นต้น โดยทั่วไปจะมีวิธีที่จะตรวจสอบข้อผิดพลาดของโปรแกรม 2 ขั้นตอน ดังนี้
          1. ตรวจสอบด้วยตนเอง (Self Checking) เป็นการทดลองเขียนโปรแกรมลงบนกระดาษ แล้วใส่ตรวจสอบการทำงานของโปรแกรมทีละขั้น        ด้วยตนเอง ว่าโปรแกรมมีการทำงานที่ถูกต้อง ได้ผลลัพธ์ตรงตามความเป็นจริงหรือไม่
         2. ตรวจสอบด้วยการแปลภาษา (Translating) หลังจากที่เขียนโปรแกรมเสร็ข และมีการตรวจสอบด้วยตนเองเรียบร้อยแล้ว ก็จะป้อนโปรแกรมเข้าสู่เครื่องคอมพิวเตอร์เพื่อทำการแปลโปรแกรม โดยจะต้องเรียกใช้ตัวแปลภาษาโปรแกรม ที่เรียกว่า คอมไพเลอร์ (Compiler) หรือ อินเตอร์พรีเตอร์ (Interpreter) อย่างใดอย่างหนึ่ง ทำการแปลภาษาโปรแกรมให้เป็นภาษาเครื่อง การแปลนี้จะเป็นการตรวจสอบความผิดพลาดของโปรแกรมด้วย ซึ่งถ้ามีข้อผิดพลาดใด ๆ เครื่องคอมพิวเตอร์จะแจ้งให้ทราบทางหน้าจอ
     หลังจากที่ทำการเขียนโปรแกรมเสร็จแล้ว เวลา 50-70% ของเวลาในการพัฒนาโปรแกรม จะถูกใช้ไปในการหาข้อผิดพลาดของโปรแกรมและการ แก้ไขข้อผิดพลาดนั้น
 5. ขั้นตอนการทดสอบความถูกต้องของโปรแกรม (Testing and Validating)
 ในบางครั้ง โปรแกรมอาจผ่านการแปล โดยไม่มีข้อผิดพลาดใด ๆ แจ้งออกมา แต่เมื่อนำโปรแกรมนั้นไปใช้งาน ปรากฏว่าได้ผลลัพธ์ที่ไม่เป็นจริง เนื่องจากอาจเกิดข้อผิดพลาดขึ้นได้ ดังนั้นจึงควรจะต้องมีขั้นตอนการทดสอบความถูกต้องของโปรแกรมอีกทีด้วยในการทดสอบความถูกต้องของข้อมูล จะมีอยู่หลายวิธี ดังต่อไปนี้
    1. การใส่ข้อมูลที่ถูกต้อง (Valid Case) เป็นการทดสอบโปรแกรมเมื่อมีการรันโปรแกรม ให้ทำการใส่ข้อมูลที่ถูกต้องลงไปในโปรแกรม และดูว่าผลลัพธ์ที่ได้จากโปรแกรม ถูกต้องตามความเป็นจริงหรือตรงตามที่ต้องการหรือไม่
    2. การใช้ขอบเขตและความถูกต้องของข้อมูลเป็นการทดสอบ โดยตรวจสอบขอบเขตของข้อมูลที่ป้อนเข้าสู่โปรแกรม เช่น ถ้าโปรแกรมให้มีการป้อนวันที่ ก็จะต้องตรวจสอบว่า วันที่ที่ป้อนจะต้องไม่เกินวันที่ 31 ถ้าผู้ใช้ป้อนวันที่ที่เป็นเลข 32 โปรแกรมจะต้องไม่ยอมให้ป้อนวันที่นี้ได้
    3. การใช้ความสมเหตุสมผล ตัวอย่างเช่น ถ้าโปรแกรมมีการออกแบบให้ผู้ใช้ป้อนข้อมูลลงไปในฟอร์มที่มีข้อมูลที่เป็นเพศ (หญิงหรือชาย)             และรายละเอียดส่วนตัวของคน ๆ นั้น เช่นเพศ วันลาคลอดชาย ต้องไม่มี (ห้ามใส่)หญิง อาจมีหรือไม่มีก็ได้
    4. ข้อมูลที่เป็นตัวเลขและตัวอักษร เป็นการตรวจสอบว่า ถ้าโปรแกรมให้ผู้ใช้ป้อนข้อมูลในฟิลด์ที่ต้องรับข้อมูลที่เป็นตัวเลข อย่างเช่น ฟิลด์ที่เป็นจำนวนเงิน ก็ควรจะยอมให้ผู้ใช้ป้อนข้อมูลได้เฉพาะตัวเลขเท่านั้น ไม่อนุญาตให้ใส่ตัวอักษรในฟิลด์นั้นได้ หรือถ้าเป็นฟิลด์ที่รับข้อมูลที่เป็นตัวอักษร เช่น ฟิลด์ชื่อ-นามสกุล ก็จะป้อนข้อมูลได้เฉพาะตัวอักษรเท่านั้น จะป้อนตัวเลขไม่ได้
     5. ข้อมูลเป็นไปตามข้อกำหนด ข้อมูลที่ป้อนในฟิลด์ ต้องเป็นไปตามที่กำหนดไว้แน่นอนแล้วเท่านั้น เช่น กำหนดให้ฟิลด์นี้ป้อนข้อมูลได้เฉพาะตัวเลขที่อยู่ในกลุ่ม 1,2,5,7 ได้เท่านั้น จะป้อนเป็นตัวเลขอื่นที่ไม่อยู่ในกลุ่มนี้ ไม่ได้
 6. ขั้นตอนการทำเอกสารประกอบโปรแกรม (Documentation)
     การทำเอกสารประกอบโปรแกรม คือ การอธิบายรายละเอียดของโปรแกรมว่า จุดประสงค์ของโปรแกรมคืออะไร สามารถทำงานอะไรได้บ้าง และมีขั้นตอนการทำงานของโปรแกรมเป็นอย่างไร เครื่องมือที่ช่วยในการออกแบบโปรแกรมเช่น ผังงาน หรือรหัสจำลอง ก็สามารถนำมาประกอบกันเป็นเอกสารประกอบโปรแกรมได้โปรแกรมเมอร์ที่ดี ควรมีการทำเอกสารประกอบโปรแกรม ทุกขั้นตอนของการพัฒนาโปรแกรม ไม่ว่าจะเป็นขั้นตอนการออกแบบ การเขียนโปรแกรม หรือขั้นตอนการทดสอบโปรแกรม ซึ่งการทำเอกสารนี้จะมีประโยชน์อย่างมากต่อหน่วยงาน เนื่องจากบางครั้งอาจต้องการเปลี่ยนแปลงแก้ไขโปรแกรมที่ได้มีการทำเสร็จไปนานแล้ว เพื่อให้ตรงกับความต้องการที่เปลี่ยนไป จะทำให้เข้าใจโปรแกรมได้ง่ายขึ้นและจะเป็นการสะดวกต่อผู้ที่ต้องเข้ามารับช่วงงานต่อทีหลังเอกสารประกอบโปรแกรม โดยทั่วไปจะมีอยู่ด้วยกัน 2 แบบคือ
    1. เอกสารประกอบโปรแกรมสำหรับผู้ใช้ (User Documentation)
จะเหมาะสำหรับผู้ใช้ที่ไม่ต้องเกี่ยวข้องกับการพัฒนาโปรแกรม แต่เป็นผู้ที่ใช้งานโปรแกรมอย่างเดียว จะเน้นการอธิบายเกี่ยวกับการใช้งานโปรแกรมเป็นหลัก ตัวอย่างเช่น
        · โปรแกรมนี้ทำอะไร ใช้งานในด้านไหน
        · ข้อมูลเข้า มีลักษณะอย่างไร
        · ข้อมูลออกหรือผลลัพธ์มีลักษณะอย่างไร
        · การเรียกใช้โปรแกรม ทำอย่างไร
        · คำสั่งหรือข้อมูลที่จำเป็นให้โปรแกรมเริ่มทำงาน มีอะไรบ้าง
        · อธิบายเกี่ยวกับประสิทธิภาพ และความสามารถของโปรแกรม
    2. เอกสารประกอบโปรแกรมสำหรับผู้เขียนโปรแกรม (Technical Documentation) จะได้ออกได้เป็น 2 ส่วน
· ส่วนที่เป็นคำอธิบายหรือหมายเหตุในโปรแกรม หรือเรียกอีกอย่างหนึ่งว่า คอมเมนท์ (Comment) ซึ่งส่วนใหญ่มักจะเขียนแทรกอยู่ในโปรแกรม อธิบายการทำงานของโปรแกรมเป็นส่วน ๆ
· ส่วนอธิบายด้านเทคนิค ซึ่งส่วนนี้มักจะทำเป็นเอกสารแยกต่างหากจากโปรแกรม จะอธิบายในรายละเอียดที่มากขึ้น เช่น ชื่อโปรแกรมย่อยต่าง ๆ มีอะไรบ้าง แต่ละโปรแกรมย่อยทำหน้าที่อะไร และคำอธิบายย่อ ๆ เกี่ยวกับวัตถุประสงค์ของโปรแกรม
  7. ขั้นตอนการบำรุงรักษาโปรแกรม (Program Maintenance)
    เมื่อโปรแกรมผ่านการตรวจสอบตามขั้นตอนเรียบร้อยแล้ว และถูกนำมาให้ผู้ใช้ได้ใช้งาน ในช่วงแรกผู้ใช้อาจจะยังไม่คุ้นเคยก็อาจทำให้เกิดปัญหาขึ้นมาบ้าง ดังนั้นจึงต้องมีผู้คอยควบคุมดูแล และตรวจสอบการทำงาน การบำรุงรักษาโปรแกรมจึงเป็นขั้นตอนที่ผู้เขียนโปรแกรมต้องคอยเฝ้าดูแลและหาข้อผิดพลาดของโปรแกรมในระหว่างที่ผู้ใช้ใช้งานโปรแกรมและปรับปรุงแก้ไขโปรแกรมเมื่อเกิดข้อผิดพลาดขึ้น หรือในการใช้งานโปรแกรมไปนาน ๆ ผู้ใช้อาจต้องการเปลี่ยนแปลงการทำงานของระบบเดิมเพื่อให้เหมาะกับเหตุการณ์ เช่น ต้องการเปลี่ยนแปลงหน้าตาของรายงาน มีการเพิ่มเติมข้อมูลหรือลบข้อมูลเดิม นักเขียนโปรแกรมก็จะต้องคอยปรับปรุง แก้ไขโปรแกรมตามความต้องการของผู้ใช้ที่เปลี่ยนแปลงไปนั้น
        คุณสมบัติของนักเขียนโปรแกรมที่ดี
    นักเขียนโปรแกรมหรือเรียกอีกอย่างหนึ่งว่า โปรแกรมเมอร์นั้น ควรจะมีคุณสมบัติดังต่อไปนี้ จึงจะเรียกได้ว่าเป็นโปรแกรมเมอร์ที่ดี
· รักและชอบในการเขียนโปรแกรม
· มีความคิดริเริ่มสร้างสรรค์ และที่จะเรียนรู้
· มีความอดทนต่อการเขียนโปรแกรม ซึ่งบางครั้งอาจต้องใช้เวลานานในการเขียนโปรแกรม
· ต้องรู้จักการทำงานเป็นทีมหรือเป็นกลุ่มคณะ ซึ่งการพัฒนาโปรแกรมที่ใหญ่ ๆ อาจต้องมีการทำงานกันเป็นทีม ต้องมีการแบ่งงานกันทำเป็นส่วน ๆ แล้วจึงจะนำมารวมกันทีหลัง ผลงานที่ออกมาจะต้องเป็นผลงานส่วนรวมของทั้งทีม ไม่ใช่ของคนใดคนหนึ่ง ดังนั้นจึงต้องรู้จักการถ่ายทอดความรู้ ความคิดเห็นให้แก่คนในทีมงานเดียวกัน
           · ต้องหมั่นทำเอกสารประกอบโปรแกรมไว้ตลอด เพื่อให้ง่ายต่อการพัฒนาต่อไปในภายหลัง
        ลักษณะของโปรแกรมที่ดี
    โปรแกรมที่ดี จะต้องมีลักษณะ ดังนี้
· สามารถอ่านแล้วมีความเข้าใจง่าย ควรหลีกเลี่ยงการใช้คำสั่ง GOTO เพื่อสั่งให้โปรแกรมกระโดดไปทำงานที่จุดนั้น จุดนี้ เพราะจะทำให้ ผู้อ่านโปรแกรมเกิดความสับสนได้ง่าย
· ควรจะเปิดโอกาสให้สามารถเข้าไปทำการแก้ไข หรือขยายโปรแกรมได้โดยง่าย นั่นคือควรจะมีการแบ่งการทำงานของโปรแกรมนั้นทั้งหมดออกเป็นส่วนย่อย ๆ ที่เรียกว่า โมดูล (Module) โดยแต่ละโมดูลก็จะมีหน้าที่การทำงานที่อิสระจากกัน แต่จะมีการส่งผ่านข้อมูลให้กันและกันได้ระหว่างโมดูล ดังนั้นผู้ที่จะเข้าไปทำการแก้ไขโปรแกรม ก็สามารถเลือกได้ว่า โมดูลไหนที่เกี่ยวข้องกับตน ก็จะแก้ไขเฉพาะ โมดูลนั้น โดยไม่จำเป็นต้องศึกษารายละเอียดของโปรแกรมทั้งหมด
· มีคำอธิบายโปรแกรมหรือคอมเมนท์ สอดแทรกอยู่ในแต่ละโมดูล เพื่อให้ง่ายต่อการทำความเข้าใจในการทำงานของโมดูลนั้น
· ควรทำงานได้อย่างถูกต้อง รวดเร็ว และมีประสิทธิภาพ

2.1 แนวคิดและหลักการเขียนโปรแกรม

    ในการเขียนโปรแกรมคอมพิวเตอร์นักเขียนโปรแกรมจะต้องเข้าใจหลักเกณฑ์ของภาษาโปรแกรมและระบบการทำงานของคอมพิวเตอร์ ว่ามีโครงสร้างและวิธีการใช้คำสั่งอย่างไรซึ่งในการเขียนโปรแกรมคอมพิวเตอร์ มีหลักเกณฑ์การเขียนโปรแกรม ประกอบด้วย 5 ขั้นตอนดังนี้คือ
1. ทำความเข้าใจและวิเคราะห์ปัญหา
ผู้เขียนโปรแกรมจะต้องทำความเข้าใจและทำการวิเคราะห์ปัญหาเป็นลำดับแรกเพราะการทำความเข้าใจและวิเคราะห์ปัญหาเป็นสิ่งที่สำคัญโดยที่ผู้เขียนโปรแกรมจะต้องวิเคราะห์ปัญหาร่วมกับนักวิเคราะห์ระบบว่าโจทย์ต้องการผลลัพธ์อะไร และการให้ได้มาซึ่งผลลัพธ์นั้น ต้องป้อนข้อมูลอะไรบ้างและเมื่อป้อนข้อมูลเข้าไปแล้วจะทำการประมวลผลอย่างไรสิ่งเหล่านี้ผู้เขียนโปรแกรมจะต้องทำความเข้าใจให้ถูกต้องเพราะถ้าผู้เขียนโปรแกรมวิเคราะห์ปัญหาไม่ถูกต้องผลลัพธ์ที่ได้ออกมาก็อาจจะไม่ตรงกับความต้องการของโจทย์ได้
2. กำหนดแผนในการแก้ปัญหา
หลังจากทำความเข้าใจและวิเคราะห์ปัญหาโจทย์จนได้ข้อสรปุว่าโจทย์ต้องการอะไรแล้ว ผู้เขียนโปรแกรมก็จะทำการกำหนดแผนในการแก้ไขปัญหาโดยการเขียนผังงาน (Flowchart) ซึ่งการเขียนผังงานคือการเขียนแผนภาพที่เป็นลำดับเพื่อแสดงขั้นตอนการทำงานของโปรแกรมเพื่อให้ง่ายต่อการทำความเข้าใจการเขียนผังงานมี 3 แบบคือ แบบเรียงลำดับ(Sequential) แบบมีการกำหนดเงื่อนไข(Condition) และแบบมีการทำงานวนรอบ (Looping) ซึ่งสัญลักษณ์ของผังงาน (Flowchart Symbol) มีดังนี้คือ






3. เขียนโปรแกรมตามแผนที่กำหนด
เมื่อผู้เขียนโปรแกรมเขียนผังงานเสร็จเรียบร้อยแล้วขั้นตอนต่อไปคือการเขียนโปรแกรมตามผังงาน ที่ได้กำหนดเอาไว้ ในกรณีที่เขียนด้วยภาษาซีการเขียนโปรแกรมก็ต้องเป็นไปตามกฎเกณฑ์และโครงสร้างของภาษาซีเท่านั้น

4. ทดสอบและตรวจสอบความถูกต้อง
หลังจากเขียนโปรแกรมเสร็จแล้วให้ทดลองคอมไพล์โปรแกรมว่ามีจุดผิดพลาดที่ใดบ้าง ในภาษาซีการคอมไพล์ โปรแกรมจะใช้วิธีการกดปุ่ม Alt + F9 ในกรณีที่มีข้อผิดพลาดจะแสดงในช่องด้านล่างของหน้าจอเอดิเตอร์ ในส่วนของกรอบ message ให้อ่านทำความเข้าใจ และแก้ไขตามที่โปรแกรมแจ้งข้อมูลผิดพลาดเมื่อเสร็จแล้วให้ทดลองรันโปรแกรม
5. จัดทำคู่มือและเอกสารการใช้โปรแกรม
ถ้าหากรันโปรแกรมแล้วใช้งานได้แสดงว่าจะได้ไฟล์ที่มีส่วนขยายเป็น EXE เพื่อนำไปทดสอบ้งานในที่ต่างๆและถ้านำไปใช้งานแล้วมีปัญหาก็ให้ทำการแก้ไขโปรแกรมอีกครั้งแต่ถ้ารันโปรแกรมแล้วไม่มีปัญหาใดๆ แสดงว่าโปรแกรมนี้ใช้งานได้อย่างสมบูรณ์จากนั้นผู้เขียนโปรแกรมก็ต้องจัดทำคู่มือประกอบการใช้งานและนำไปเผยแพร่ต่อไป

วันพุธที่ 3 กรกฎาคม พ.ศ. 2562

การพัฒนาโครงงานสารสนเทศทางธุรกิจ


ใบงานที่ 3.1 เรื่อง การเขียนโครงงาน
 

คำชี้แจง   ให้นักเรียนบันทึกรายละเอียดของการทำโครงงาน ตามหัวข้อที่กำหนด

1.  ชื่อโครงงาน                                                                                                                                                                                    
2.  ประเภทโครงงาน                                                                                                                                                                          
3.  เจ้าของโครงงาน                                                                                                                                                                            
     1)                                                                                             ทำหน้าที่                                                                                        
     2)                                                                                             ทำหน้าที่                                                                                        
     3)                                                                                             ทำหน้าที่                                                                                        
     4)                                                                                             ทำหน้าที่                                                                                        
     5)                                                                                             ทำหน้าที่                                                                                        
4.  อาจารย์ที่ปรึกษา
5.  ความเป็นมาและความสำคัญของโครงงาน
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
6.  วัตถุประสงค์ของงาน 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
7.  ขอบเขตของโครงงาน
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 

ไหว้ครู

  https://blockly.games/maze?lang=th&level=1&&skin=0 https://www.codetheirdreams.com/online-coding-games/