วันจันทร์ที่ 20 กุมภาพันธ์ พ.ศ. 2555

จาวาสคริปต์ (JavaScript)



จาวาสคริปต์ (JavaScript) เป็นภาษาสคริปต์ ทีมีลักษณะการเขียนแบบโปรโตไทพ (Prototyped-based Programming) ส่วนมากใช้ในหน้าเว็บเพื่อประมวลผลข้อมูลที่ฝั่งของผู้ใช้งาน แต่ก็ยังมีใช้เพื่อเพิ่มเติมความสามารถในการเขียนสคริปต์โดยฝังอยู่ในโปรแกรมอื่นๆ
จาวาสคริปต์ เป็นภาษาในรูปแบบของภาษาโปรแกรมแบบโปรโตไทพ โดยมีโครงสร้างของภาษาและไวยกรณ์อยู่บนพื้นฐานของภาษาซี
ปัจจุบันมีการใช้จาวาสคริปต์ที่ฝังอยู่ในเว็บเบราว์เซอร์ในหลายรูปแบบ เช่น ใช้เพื่อสร้างเนื้อหาที่เปลี่ยนแปลงเสมอภายในเว็บเพจ, ใช้เพื่อตรวจสอบความถูกต้องของข้อมูลที่ผู้ใช้กรอกก่อนนำเข้าระบบ, ใช้เพื่อเข้าถึงข้อมูลที่อยู่ภายใต้โครงสร้างแบบ Document Object Model (DOM)เป็นต้น
นอกจากนี้จาวาสคริปต์ยังถูกฝังอยู่ในแอปพลิเคชันต่างๆ นอกเหนือจากเว็บเบราว์เซอร์ได้อีกด้วย เช่น widget ของ ยาฮู! เป็นต้น โดยรวมแล้วจาวาสคริปต์ถูกใช้เพื่อให้นักพัฒนาโปรแกรม สามารถเขียนสคริปต์เพื่อสร้างคุณสมบัติพิเศษต่างๆ เพิ่มเติมจากที่มีอยู่บนแอปพลิเคชันดังเดิม
โปรแกรมใดๆ ที่สนับสนุนจาวาสคริปต์จะมีตัวขับเคลื่อนจาวาสคริปต์ (JavaScript Engine) ของตัวเอง เพื่อเรียกใช้งานโครงสร้างเชิงวัตถุของโปรแกรมหรือแอปพลิเคชันนั้นๆ


        วันจันทร์ที่ 13 กุมภาพันธ์ พ.ศ. 2555

        ตัวแปรและขอบเขตการทำงานของฟังก์ชัน





                   การสร้างฟังก์ชันเพิ่มขึ้นมาใช้งานนอกเหนือจากฟังก์ชัน main() ทำให้ในแต่ละฟังก์ชันก็ยังสามารถสร้างตัวแปรขึ้นมาเพื่อใช้งาน การประกาศตัวแปรในภาษาซี สิ่งสำคัญที่ต้องคำนึงมี 2 อย่าง คือ ชนิดของข้อมูล (data type) และประเภทการจัดเก็บข้อมูล (storage class) เพื่อคอมไพล์จะได้ทราบว่าจะเก็บข้อมูลแบบใด มีช่วงการทำงานแบบใดและมีขอบเขตในการทำงานแบบใด สามารถแบ่งตามขอบเขตการใช้งานได้ดังนี้


        1. ตัวแปรส่วนกลาง (Global Variables)
        ตัวแปรส่วนกลาง ( Global Variables ) หรือเรียกว่าตัวแปรภายนอก ( External Variables ) เป็นตัวแปรที่สามารถเรียกใช้งานได้ทุกฟังก์ชัน หรือตลอดทั้งโปรแกรม โดยการสร้างตัวแปร ( Global Variables ) จะต้องเขียนคำสั่งไว้ส่วนที่ประกาศค่าเริ่มต้นของโปรแกรมต่อจากส่วนของพรีโปรเซสเซอร์ไดเร็คทีฟ ไม่ได้สร้างไว้เฉพาะฟังก์ชันใดฟังก์ชันหนึ่ง เท่านั้น


        2 .ตัวแปรท้องถิ่น (local Variables)
        ตัวแปรท้องถิ่น ( Local Variables ) หรือเรียกว่าตัวแปรอัตโนมัติ ( Automatic Variables ) เป็นตัวแปรที่สร้างขึ้นใช้ภายในฟังก์ชัน ขอบเขตการใช้งานจะอยู่ในฟังก์ชันนั้น ๆ เท่านั้น เราไม่สามารถเรียกใช้งานหรือเปลี่ยนแปลงค่าจากฟังก์ชันอื่นได้ และถ้ามีการตั้งชื่อตัวแปรท้องถิ่นซ้ำกันก็จะถือว่าเป็นคนละตัวแปรกัน


        3 .ตัวแปรสถิตย์ (Static Variables)
        ตัวแปรสถิตย์ ( Static Variables ) จะมีค่าอยู่ในช่วงกลางตลอดการทำงานของโปรแกรม หรือเป็นตัวแปรที่มีค่าคงที่ ในขณะที่ตัวแปรสถิตย์จะมีค่าอยู่ในช่วงของฟังก์ชันนั้นๆ ตัวแปรสถิตย์จะเก็บค่าล่าสุดที่กำหนดให้โดยที่ไม่ต้องเก็บค่าที่ตั้งต้นใหม่ทุกครั้ง และตัวแปรสถิตย์สามารถประกาศค่าเป็นตัวแปรกลาง ( Global Variables ) หรือตัวแปรท้องถิ่น ( Local Variables ) ก็ได้         


        4. ตัวแปรรีจิสเตอร์ (Register Variables)
        ตัวแปรรีจิสเตอร์ ( Register Variables ) จะจัดเก็บข้อมูลในรีจิสเตอร์ ซึ่งเป็นหน่วยความจำชั่วคราวขนาดเล็กใน CPU การเก็บข้อมูลในนี้จะทำให้เรียกใช้งานข้อมูลได้รวดเร็ว แต่สามารถเก็บข้อมูลได้น้อย ส่วนใหญ่ใช้เก็บข้อมูลที่มีขนาดเล็กและถูกเรียกใช้งานบ่อย อย่างเช่น ข้อมูลตัวนับการวนรอบในการทำงานวนซ้ำ ตัวแปรที่ใช้สำหรับนับรอบการวนซ้ำ


        วันจันทร์ที่ 6 กุมภาพันธ์ พ.ศ. 2555

        การทำงานของฟังก์ชัน

                  การทำงานของฟังก์ชันที่ผู้ใช้โปรแกรมเขียนขึ้นเอง จะประกอบด้วย ฟังก์ชันหลัก
         (Main Function) และฟังก์ชันย่อย หรือโปรแกรมย่อย (Sub program) จะเรียกจา
        ฟังก์ชันหลักไปยังฟังก์ชันย่อยเพื่อให้ฟังก์ชันย่อยทำงาน ตามโครงสร้างการทำงานของฟังก์ชัน ดังนี้

        วันอาทิตย์ที่ 29 มกราคม พ.ศ. 2555

        ความสัมพันธ์ระหว่าง ตำแหน่งที่เก็บข้อมูลกับตัวแปร

        ความสัมพันธ์ระหว่าง ตำแหน่งที่เก็บข้อมูลกับตัวแปร
        โดยปกติขั้นตอนการประกาศตัวแปรขึ้นมาใช้งานนั้น จะต้องระบุ ชนิดของตัวแปร (type) และตามด้วย ชื่อตัวแปร ซึ่งอาจจะกำหนดค่าของตัวแปรต่อท้ายเลยก็ได้
        เมื่อโปรแกรมทำงาน ตัวแปรต่างๆที่เคยประกาศไว้เพื่อใช้งานในโปรแกรม จะต้องถูกกำหนดให้มีพื้นที่ เพื่อจัดเก็บตัวแปรไว้ในหน่วยความจำของเครื่อง ซึ่งจะต้องมีองค์ประกอบ 3 อย่าง ที่มีความสัมพันธ์กัน เพื่อใช้ในการอ้างอิงเมื่อมีการเรียกใช้ตัวแปรเหล่านั้น คือ
        - ชนิดตัวแปร เช่น char, int, float, double, unsigned เป็นต้น
        - ชื่อตัวแปร เป็นคำอะไรก็ได้ที่ตั้งขึ้นเอง แต่ต้องไม่ขัดแย้งกับข้อกำหนดในการตั้งชื่อตัวแปร เช่น ไม่มีช่องว่าง, ไม่ซ้ำกับคำ reserved word เป็นต้น
        - ตำแหน่งที่เก็บค่าตัวแปร เป็นค่าตัวเลขที่ระบุตำแหน่งเริ่มต้นที่ใช้เก็บค่าของคัวแปร ตัวอย่าง คำสั่งบางส่วนจากตัวอย่างที่ 9.1
        char nd_label = ‘b';
        int th_number = 1 0;
        จาก 2 บรรทัดข้างต้น สามารถอธิบาย ความสัมพันธ์ต่างๆ ที่เกิดขึ้นในหน่วยความจำได้ดังนี้
        ตำแหน่งในหน่วยความจำ ชื่อของตัวแปร ชนิดของตัวแปร ค่าไบนารีที่เก็บอยู่ ค่าตัวแปร
        1051 nd_label char = 8 bits 01100010 98 (ASCII b)
        1053-1052 th_number int = 16 bits 00000000 00001010 10
        เมื่อต้องการใช้งานตัวแปรในโปรแกรม ก็สามารถทำได้โดย อ้างอิงเรียกจากชื่อตัวแปร แต่สำหรับเครื่องคอมพิวเตอร์ ถ้าจะอ้างอิง-เรียกใช้ ข้อมูลทุกอย่างที่มีเก็บในหน่วยความจำได้นั้น ต้องอาศัยเลขบอกตำแหน่ง ( address ) เพื่อเป็นตัวชี้บอกไปยังจุดเริ่ม ของค่าข้อมูลที่มีเก็บอยู่ แล้วเครื่องจึงทำการอ่านข้อมูลนั้นขึ้นมาจัดการตามกระบวนการลำดับถัดไป

        วันอาทิตย์ที่ 22 มกราคม พ.ศ. 2555

        รูปแบบการเขียนโปรแกรม C++

        รูปแบบการเขียนโปรแกรม C++
        ภาษาโปรแกรม C++ เป็นภาษาโปรแกรมที่ไม่มีรูปแบบการเขียนตายตัว กล่าวคือ ไม่ต้องกำหนดว่าองค์ประกอบของโปรแกรมจะต้องเขียนอยู่ในบรรทัดหรือบนหน้ากระดาษส่วนไหน ดังนั้น โปรแกรมเมอร์จึงมีอิสระที่จะวางรูปแบบของโปรแกรม แต่โปรแกรมเมอร์ที่มีประสบการณ์ย่อมทราบดีว่าการเขียนโปรแกรมรูปแบบที่ดีนั้นจะต้องอ่านง่าย สะดวกต่อการแก้ไขข้อผิดพลาดของโปรแกรม และง่ายต่อการดูแลรักษาโปรแกรม แต่อย่างไรก็ตาม เราสามารถเขียนตามระเบียบแบบแผนมาตรฐานของภาษา C++ ซึ่งมีข้อปฏิบัติง่าย ๆ ดังต่อไปนี้

        1. การเขียนประโยคตัวเตรียมประมวลผล #include ไว้ที่ตำแหน่งเริ่มต้นของโปรแกรม
        2. เขียนบรรทัดละหนึ่งคำสั่ง
        3. เขียนกลุ่มคำสั่งที่อยู่ภายในบล็อกแบบย่อหน้า
        4. ให้มีการเว้นวรรคตรงเครื่องหมายตัวดำเนินการทั้งก่อนและหลังเครื่องหมาย

        ระเบียบแบบแผนอีกลักษณะหนึ่งที่พึงปฏิบัติ คือ การเขียนชื่อตัวแปร ถ้าเขียนด้วยชื่อสั้น ๆจะลดโอกาสที่จะพิมพ์ผิด แต่ในขณะเดียวกันก็ควรจะเป็นชื่อที่สื่อความหมายว่าตัวแปรนั้นแทนอะไร การเขียนรูปแบบนี้ เรียกว่า รหัสคำสั่งเอกสารในตัวเอง (Self – Documenting Code) โปรแกรมเมอร์ C++ เกือบทั้งหมดนิยมเขียนชื่อตัวแปรด้วยตัวพิมพ์เล็ก ยกเว้นในกรณีที่ชื่อตัวแปรประกอบด้วยคำหลาย ๆ คำจะเขียนตัวอักษรตัวแรกของคำที่มาต่อท้ายด้วยตัวพิมพ์ใหญ่ เช่น
        Char Middle Initial;
        Unsigned Max Unsigned Int;
        เหตุผลที่เขียนแบบนี้ เพราะจะทำให้อ่านง่ายกว่าเขียนด้วยตัวพิมพ์เล็กเพียงอย่างเดียว เช่น Middleinitial และ Maxunsignedint หรือมีอีกวิธีหนึ่งที่นิยมให้เช่นกัน คือ การใช้เครื่องหมายสัญประกาศ (underscore ‘_’) เป็นตัวแยกคำแทนช่องว่าง

        เช่น
        Char middle_initial;
        Unsigned Max Unsigned Int;

        วันจันทร์ที่ 16 มกราคม พ.ศ. 2555

        ผังงาน Flowchart

        ผังงาน
        ผังงาน คือ แผนภาพที่มีการใช้สัญลักษณ์รูปภาพและลูกศรที่แสดงถึงขั้นตอนการทำงานของโปรแกรมหรือระบบทีละขั้นตอน รวมไปถึงทิศทางการไหลของข้อมูลตั้งแต่แรกจนได้ผลลัพธ์ตามที่ต้องการ

        ประเภทของผังงาน

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

        2. ผังงานโปรแกรมโมดูล (Modular Programming Flowchart) เป็นผังงานที่จัดทำขึ้นเพื่อแบ่งระบบทั้งหมดออกเป็นส่วนๆ หรือโมดูล เพื่อให้ง่ายต่อความเข้าใจในแต่ละส่วนของระบบให้มากขึ้นกว่าผังงานระบบ ซึ่งผังงานนี้จะแสดงเพียงส่วนที่มีขั้นตอนและวิธีการทำงานอย่างไร แต่จะไม่มีรายละเอียดย่อยในโมดูล นั้นๆ

        3. ผังงานการเขียนโปรแกรม (Programming Flowchart) เป็นผังงานซึ่งแสดงลำดับขั้นตอนการทำงานอย่างละเอียดในโมดูล นั้นๆ โดยจะดึงเอาแต่ละจุดจากผังงานโปรแกรมโมดูล นำมาเขียนเป็นผังงาน โดยจะแสดงรายละเอียดของขั้นตอนการทำงานอย่างชัดเจน ไม่ว่าจะเป็นขั้นตอนของการรับข้อมูลเข้า การคำนวณ การประมวลผล และการแสดงผลลัพธ์ประโยชน์ของผังงาน

        วันอาทิตย์ที่ 8 มกราคม พ.ศ. 2555

        การพัฒนาการเขียนโปรแกรมภาษา C

        พัฒนาการเขียนโปรแกรมภาษา C
        Introduction to C Programming
                     การพัฒนาโปรแกรมคอมพิวเตอร์ บางคนก็ว่ายาก บางคนก็ว่าเป็นเรื่องสนุก หลายคนบอกว่า ขอเป็นแค่ผู้ใช้สนุกที่สุด แต่จะมีซักกี่คนที่จะมีใจรักที่จะก้าวไปบนถนนแห่งการพัฒนาฝีมือและฝึกฝนการเขียนโปรแกรมด้วยตัวเอง เพื่อให้มีผู้ที่สนใจนำไปใช้งาน และเพิ่มประสิทธิ์ภาพในการทำงาน และ ความสะดวกสบายๆ ต่างๆมากขึ้น ว่าไปแล้วนักโปรแกรมเมอร์เหล่านี้ ก็ไม่แตกต่างจากผู้ที่ปิดทองหลังพระมากนัก เพราะหลายๆ โปรแกรมที่มีให้ใช้งานกันในปัจจุบัน จะมีใครทราบบ้างไหมว่า ผู้เขียนโปรแกรมเหล่านั้นมีใครกันบ้าง ดังนั้น ผู้ที่คิดจะก้าวมาเป็นนักพัฒนาโปรแกรมมืออาชีพ คงต้องอาศัยใจรักที่จะอยากจะพัฒนา และฝึกฝนฝืมือในการเป็นโปรแกมเมอร์มืออาชีพมาเป็นอันดับหนึ่ง สำหรับบทความนี้จะเริ่มต้นด้วยการสอนให้เข้าใจในหลักการพื้นฐานของการการพัฒนาโปรแกรมในภาษา C ความรู้และความเข้าใจที่จำเป็นต่อการเป็นโปรแกรมเมอร์มืออาชีพในอนาคต เราลองเริ่มมาเรียนรู้กันอย่างคร่าวๆ กันเลยล่ะกัน โดยผู้เขียนจะอธิบายเป็นตอนๆ ทั้งหมด 8 ตอนด้วยกันได้แก่

        1. พื้นฐานโปรแกรมภาษา C (Introduction to C Programming)
        2. การเขียนโปรแกรมทางเลือก (Selection Structures)
        3. การเขียนโปรแกรมแบบ วนซ้ำ (Repetition & Loop)
        4. ฟังก์ชัน และการเขียนโปรแกรมแยกเป็นโมดูล (Functions & Modular Programming)
        5. ตารางอาเรย์ (Arrays)
        6. ตัวแปรพอยเตอร์ (Pointers)
        7. ตัวแปรสตริง (String)
        8. โครงสร้างสตักเจอร์ (Structure)