วันอาทิตย์ที่ 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)