ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม โดย พนิดา ทรงรัมย์
ความหมายและประโยชน์ของคอมพิวเตอร์ คอมพิวเตอร์ คือ อุปกรณ์ทางอิเล็กทรอนิกส์ที่ใช้สำหรับการประมวลผล ประโยชน์ ยุคแรก 1940 สร้างคอมพิวเตอร์มาเพื่อใช้ในทางคณิตศาสตร์ เพราะ คำนวณได้เร็วกว่ามนุษย์ แตกต่างจากเครื่องคิดเลขคือ สามารถเขียนโปรแกรมให้ทำงานตามวัตถุประสงค์ สม่ำเสมอในการทำงานมากกว่ามนุษย์ ยุค 1980 เป็นต้นมา การเก็บข้อมูล การสื่อสาร
หลักการทำงานของคอมพิวเตอร์ input output process ตัวอย่าง เราป้อนจำนวนชั่วโมงทำงานของพนักงานเพื่อให้โปรแกรมคำนวณรายได้ของพนักงาน แล้วพิมพ์เอกสารออกมา Input : จำนวนชั่วโมงทำงานของพนักงาน Process: คำนวณรายได้ของพนักงาน Output: พิมพ์เอกสารออกมา
โปรแกรมและภาษา โปรแกรมเป็นไฟล์ที่เป็นภาษาเครื่อง( machine language) เพื่อไว้สั่งให้เครื่องทำงานตาม การสร้างโปรแกรมต้องใช้ภาษาทางคอมพิวเตอร์ ซึ่งสามารถจำแนกออกได้เป็น 3 ระดับดังนี้ 1. ภาษาเครื่อง (Machine Language) เป็นภาษาที่สามารถสั่งให้เครื่องคอมพิวเตอร์ทำงาน ได้ทันที โดยเขียนอยู่ในรูปของรหัสของระบบเลขฐานสอง 0 และ 1 2. ภาษาระดับต่ำ (Low-level Language) เป็นภาษาที่ใช้ตัวอักษรแทนตัวเลขฐานสอง เช่น ADD A,B เป็นต้น ตัวอย่าง ภาษาระดับต่ำ เช่นภาษาแอสเซมบลี (Assembly Language) 3. ภาษาระดับสูง (High-level Language) เป็นภาษาที่คล้ายกับประโยคในภาษาอังกฤษ ทำให้สามารถเข้าใจโปรแกรมได้ง่ายขึ้น เช่นPascal, C เป็นต้น
ตัวแปลโปรแกรม (compiler) Source Code ภาษาเครื่อง compiler
ชุดคำสั่ง โปรแกรม และตัวแปร ชุดของคำสั่ง(instruction set) คือ กลุ่มของคำสั่งที่ภาษานั้นรู้จัก โปรแกรม คือ ลำดับของคำสั่งที่อยู่ในชุดของคำสั่ง ตัวแปร เป็นองค์ประกอบในการเขียนโปรแกรม สร้างขึ้นเพื่อใช้ในการอ้างถึงตำแหน่งของข้อมูลบนหน่วยความจำหลัก ตัวแปรจะมีค่าได้เพียงค่าเดียว ณ เวลาหนึ่ง
ผังงานโปรแกรม (flowchart) นักภาษาคอมพิวเตอร์ได้ออกแบบรูปแบบคำสั่ง เพื่อให้นักเขียนโปรแกรม สามารถนำไปใช้ 3 กรณี ลำดับการทำงาน การตัดสินใจ การวนซ้ำ ผังงานโปรแกรมจึงเป็นเครื่องมือที่ช่วยในการเขียนโปแกรมที่สามารถแสดงให้เห็นถึง 3 ข้อดังกล่าว
ผังงานโปรแกรม (flowchart)
ผังงานโปรแกรม (flowchart) start ตัวอย่าง หาพื้นที่สี่เหลี่ยมพื้นผ้า Width, Length width Area Width * Length; length Area stop
ผังงานโปรแกรม (flowchart) start ตัวอย่าง บริษัทก่อสร้างแห่งหนึ่งมีขนาดที่ดินในรูปของ ไร่ งาน ตารางวา ต้องการแปลงให้เป็นตารางวา ** 1 ไร่ มี 4 งาน 1 งาน มี 100 ตารางวา Rai, Ngan, Wa NganWa Ngan * 100; RaiWa Rai * 400; WaSqr RaiWa + NganWa + Wa; WaSqr stop
ผังงานโปรแกรม (flowchart) start แบบฝึกหัด 1.1 เขียน flowchart ใหม่ โดยให้ใช้ตัวแปรน้อยที่สุด Rai, Ngan, Wa NganWa Rai*400+Ngan*100+Wa; WaSqr stop
ตัวอย่างผังงานโปรแกรม (flowchart) start ตัวอย่าง ร้านอาหารแห่งหนึ่งมอบส่วนลด 10% ทันทีที่ลูกค้ามี ยอดทานอาหาร(Amt) เกิน 1,000 บาท ต้องการคำนวณหา เงินที่ลูกค้าจะต้องจ่าย Amt Amt > 1000 N Y Amt Amt * 0.9; ’Amt is’, Amt stop ** การแสดงคำที่ต้องการแสดงให้ครอบด้วย เครื่อง single quote (’)
ตัวอย่างผังงานโปรแกรม (flowchart) start แบบฝึกหัด1.2 เขียน flowchart ให้รับค่าจากคีย์บอร์ดเป็นราคาสินค้า ที่ต้องชำระ(Cost) โดยในกรณีที่ราคามากกว่า5,000 บาท ให้ลดราคา 10% มิฉะนั้นให้ลด 5% โดยแสดงราคาที่ต้องชำระ Cost Cost > 5000 N Y Cost Cost * 0.95; Cost Cost * 0.9; ’Cost is’, Cost stop
ตัวอย่างผังงานโปรแกรม (flowchart) 1+2+3+4+5 = 15 start กำหนดค่าเริ่มต้น Cnt = 0, Sum =0; Cnt 0; Cnt Sum 1 Sum=0+1 = Sum+Cnt; 2 3 Sum=1+2 =Sum+Cnt; 6 Sum=3+3 = Sum+Cnt; 4 10 Sum=6+4=Sum+Cnt; 5 15 Sum=10+5=Sum+Cnt; Sum 0; Cnt = 6 Y N Sum Sum Sum + Cnt; stop Cnt Cnt + 1;
ตัวอย่างผังงานโปรแกรม (flowchart) start ตัวอย่าง เขียน flowchart เพื่อหายอดการจำหน่ายรวม ของธุรกิจหนึ่ง ซึ่งได้รับยอดการจำหน่าย(Sales) จากสาขาทั้ง 5 สาขาในแต่ละวัน Cnt 0; Sum 0; Cnt = 5 Y N Sum Sales stop Sum Sum + Sales; Cnt Cnt + 1;
ตัวอย่างผังงานโปรแกรม (flowchart) start แบบฝึกหัด 1.4 เขียน flowchart โดยให้รับค่าจากคีย์บอร์ด 5 ค่า ทีละค่า โดยหลังจากรับค่าแต่ละค่าแล้ว ให้เพิ่มค่านั้นไป 10 หน่วย และ จากนั้นจึงพิมพ์ค่าใหม่นั้นออกหน้าจอ โดยใช้การวนซ้ำ (ใช้ตัวแปร X ตัวเดียว) Cnt 0; Y Cnt = 5 N X stop X X + 10; X Cnt Cnt + 1;
เฉลยแบบฝึกหัด
ตัวอย่างผังงานโปรแกรม (flowchart) start แบบฝึกหัด1.3 Cost Cost > 10000 Y Cost Cost * 0.85; N Y Cost > 5000 Cost Cost * 0.9; N ’Cost is’, Cost stop
ตัวอย่างผังงานโปรแกรม (flowchart) start แบบฝึกหัด 1.6 Sum 0; Cnt 0; วนซ้ำแบบไม่มีที่สิ้นสุด Sales Y Cnt = 5 N Sum N stop Sum Sum + Sales; Cnt Cnt + 1;
ตัวอย่างผังงานโปรแกรม (flowchart) start Sum 0; Cnt 0; แบบฝึกหัด 1.6 รับค่า sales แค่ครั้งเดียว Sales Y Cnt = 5 N Sum N stop Sum Sum + Sales; Cnt Cnt + 1;
ตัวอย่างผังงานโปรแกรม (flowchart) start แบบฝึกหัด 1.6 Sum 0; Cnt 0; วนซ้ำแบบไม่มีที่สิ้นสุด Sales Y Cnt = 5 N Sum N stop Sum Sum + Sales; Cnt Cnt + 1;
ตัวอย่างผังงานโปรแกรม (flowchart) start A, B แบบฝึกหัด 1.7 Cnt 0; Pow 1; Y Cnt = B N Power N stop Pow Pow * A; Cnt Cnt + 1;