บทที่ 3

การควบคุมทิศทางการทำงาน (Control Flow)ตามหลักความเป็นจริงของชีวิต

มนุษย์การดำเนินชีวิตทุกวันล้วนแต่มีเงื่อนไขรองรับแทบทั้งสิ้น เช่น ในวันฟ้าโปร่งจะเดินทางไปทำงานปกติ แต่ถ้าวันไหนฝนตกก็จะต้องพกร่มไปด้วยทุกครั้ง ซึ่งเงื่อนไขดังกล่าวเป็นเงื่อนไขทางเดียวง่ายๆ ที่สามารถเขียนเป็นผังงาน(Flow Chart)ได้ดังรูป



ตัวอย่างที่ 3.1

ตัวอย่างที่ 3.3

คำสั่งวนลูป (Looping)

กระบวนการหนึ่งที่สำคัญในการออกแบบอัลกอริทึม ก็คือความสามารถในการวนลูปของการทำงานของกลุ่มคำสั่งตามที่นักพัฒนาต้องการ ดังนั้นสำหรับตอนนี้ ก็จะนำเสนอการพัฒนาโปรแกรมเพื่อให้บางส่วนของคำสั่งสามารถมีการวนซ้ำได้หลายครั้ง สำหรับคำสั่งที่สามารถใช้ในการเขียนโปรแกรมแบบวนซ้ำในภาษา C ได้แก่ While, Do-while และ For 




ตัวอย่างที่ 3.4


ตัวอย่างที่ 3.6

ตัวอย่างที่3.7

อาร์เรย์ (Array)

อาร์เรย์ คือ ข้อมูลที่ประกอบไปด้วยรายการชนิดข้อมูลเดียวกันจำนวนหนึ่ง แต่ละรายการเรียกว่า เซลล์ (Cell) และแต่ละเซลล์จะมี อินเด็กซ์ (Index) สำหรับใช้เพื่ออ้างถึงข้อมูล ตัวแปรอาร์เรย์ (Array) หรือเรียกอีกชื่อหนึ่งว่า ตัวแปรชุด เป็นการจองพื้นที่ในหน่วยความ จำให้กับตัวแปร เพื่อให้ตัวแปรนั้นสามารถรับข้อมูลหรือเก็บข้อมูลได้มากกว่า 1 ค่า โดยค่าแต่ละค่านั้น จะถูกเก็บลงยังพื้นที่ของหน่วยความจำที่แตกต่างกัน พื้นที่ในหน่วยความจำจะใช้หมายเลขลำดับเป็นตัว จำแนกความแตกต่างของค่าตัวแปรแต่ละพื้นที่ด้วยการระบุหมายเลขลำดับที่เรียกว่า ดัชนี (Index) กำกับตามหลังชื่อตัวแปร โดยใช้หมายเลขลำดับตั้งแต่ 0, 1, 2, … เป็นต้นไป นิยาม/ความหมาย (Definition) อาร์เรย์ เป็นโครงสร้างข้อมูลที่ใช้เก็บข้อมูลชนิดเดียวกัน เป็นกลุ่มหรือชุดที่เรียงติดต่อกันเป็นแถว มีขอบเขตจำกัดและมีขนาดคงที่ ข้อมูลชนิดเดียวกัน คือ ข้อมูลทุกตัวที่อยู่ในอาร์เรย์จะต้องเป็นข้อมูลชนิดเดียวกันเท่านั้น เช่น ถ้าเป็นอาร์เรย์ชนิดจำนวนเต็ม ข้อมูลทุกตัวในอาร์เรย์ก็ต้องเป็นชนิดจำนวนเต็ม ไม่สามารถเก็บข้อมูลต่างชนิดกันได้

อาร์เรย์ 1 มิติ

มีลักษณะเป็นข้อมูล 1 ชุด เรียงลำดับกันเป็นแถวในแนวนอน

การประกาศตัวแปรอาร์เรย์
ใช้คำว่า ARRAY … OF

VAR       ชื่อตัวแปร : ARRAY[ค่าแรก..ค่าสุดท้าย]

          OF ชนิดข้อมูล; 

ตัวอย่าง : การประกาศตัวแปรอาร์เรย์

VAR       SName : ARRAY[1..50] OF string[20];

              SAge : ARRAY[1..50] OF byte;

               SGpa : ARRAY[1..50] OF real; 

อาร์เรย์ 2 มิติ

อาร์เรย์ชนิด 2 มิติ
          มีลักษณะการเก็บข้อมูลเป็นตาราง คือ มีทั้งแถวและคอลัมน์

การประกาศตัวแปรอาร์เรย์ชนิด 2 มิติ
          ใช้คำว่า ARRAY [index1, index2] OF
VAR       ชื่อตัวแปร : ARRAY[ค่าแรกของแถว..ค่า          สุดท้ายของแถว, ค่าแรกของคอลัมน์..ค่า            สุดท้ายของคอลัมน์] OF ชนิดข้อมูล; 

การเข้าถึงและใช้งานอาร์เรย์ 

อาเรย์ คือตัวแปรที่เก็บข้อมูลเป็นชุดข้อมูล โดยข้อมูลของอาเรย์จะเก็บในรูปแบบของลำดับข้อมูล โดยข้อมูลนั้นจะต้องเป็นประเภทเดียวกัน ในการประกาศอาเรย์ในภาษา C มันมีรูปแบบคือ

: type name[size];

 โดย type คือประเภทของตัวแปรของอาเรย์ที่เราจะสร้าง name เป็นชื่อของตัวแปรอาเรย์ และ size เป็นขนาดของอาเรย์ การใช้อาเรย์ทำให้เราสามารถจัดการข้อมูลได้ง่ายขึ้น กว่าการใช้


การใช้งานลูปและ For eacb ลูปสำหรับตัวแปรแบบอาเรย์

คำสั่งนี้จะทำการวนลูปก่อน 1 ครั้ง แล้วจากนั้นจะมาทำการตรวจสอบเงื่อนไข ซึ่งคำสั่งจะเหมือนคำสั่ง while เลย เพียงแต่ว่าจะทำการวนลูปก่อน 1 ครั้งครับ แล้วจึงเข้าเงื่อนไขการตรวจสอบปกติ จากตัวอย่างคำสั่งทำงานจะเหมือนกับ while ครับ
คำสั่งนี้เหมาะสำหรับ การวนลูปแบบ ต้องการกำหนดค่าตัวแปรต่างๆ ใน loop ที่วนครั้งแรกก่อน จากนั้นก็จะทำตามเงื่อนไข อาจจะเพิ่ม หรือลดจำนวนค่าตัวแปร หรืออาจจะเทียบตัวแปรได้ครับ แต่ก็ระวังการวน loop ไม่รู้จบด้วยเช่นกัน เพราะมันจะเป็นปัญหาเหมือนกันกับคำสั่ง while

ความคิดเห็น