วันอังคารที่ 20 สิงหาคม พ.ศ. 2556

การเขียนผังงาน

เนื้อหา
• การเขียนผังงาน ( Flowchart ) 
• ผังงานกับชีวิตประจำวัน 
• โครงสร้างการทำงานแบบมีการเลือก ( Selection ) 
• โครงสร้างการทำงานแบบมีการทำงานซ้ำ 

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

วิธีการเขียนผังงานที่ดี• ใช้สัญลักษณ์ตามที่กำหนดไว้
• ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือจากซ้ายไปขวา
• คำอธิบายในภาพควรสั้นกระทัดรัด และเข้าใจง่าย
• ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า - ออก
• ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน
• ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนนำไปเขียนโปรแกรม
ผังงานโปรแกรม ( Program Flowchart )การเขียนผังโปรแกรมจะประกอบไปด้วยการใช้สัญลักษณ์มาตรฐานต่าง ๆ ที่เรียกว่า สัญลักษณ์ ANSI ( American National Standards Institute ) ในการสร้างผังงาน ดังตัวอย่างที่แสดงในรูปต่อไปนี้
จุดเริ่มต้น / สิ้นสุดของโปรแกรม
ลูกศรแสดงทิศทางการทำงานของโปรแกรมและการไหลของข้อมูล
ใช้แสดงคำสั่งในการประมวลผล หรือการกำหนดค่าข้อมูลให้กับตัวแปร
แสดงการอ่านข้อมูลจากหน่วยเก็บข้อมูลสำรองเข้าสู่หน่วยความจำหลักภายใน เครื่องหรือการแสดงผลลัพธ์จากการประมวลผลออกมา
การตรวจสอบเงื่อนไขเพื่อตัดสินใจ โดยจะมีเส้นออกจารรูปเพื่อแสดงทิศทางการทำงานต่อไป เงื่อนไขเป็นจริงหรือเป็นเท็จ
แสดงผลหรือรายงานที่ถูกสร้างออกมา
แสดงจุดเชื่อมต่อของผังงานภายใน หรือเป็นที่บรรจบของเส้นหลายเส้นที่มาจากหลายทิศทางเพื่อจะไปสู่ การทำงานอย่างใดอย่างหนึ่งที่เหมือนกัน
การขึ้นหน้าใหม่ ในกรณีที่ผังงานมีความยาวเกินกว่าที่จะแสดงพอในหนึ่งหน้า

รูปที่1 แสดง สัญลักษณ์ในการเขียนผังงานโปรแกรม

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


รูปที่ 2 แสดงการเขียนผังงานที่แสดงขั้นตอนการส่งจดหมาย
ตัวอย่างที่ 2 เขียนผังงานแสดงวิธีการรับประทานยา ที่แบ่งขนาดรับประทานตามอายุของผู้ทานดังนี้
• อายุมากกว่า 10 ปี รับประทานครั้งละ 2 ช้อนชา
• อายุมากกว่า 3 ปี ถึง 10 ปี รับประทานครั้งละ 1 ช้อนชา
• อายุมากกว่า 1 ปี ถึง 3 ปี รับประทานครั้งละ 1/2 ช้อนชา
• แรกเกิดถึง 1 ปี ห้ามรับประทาน


รูปที่ 3 แสดงการเขียนผังงานแสดงวิธีการรับประทานยา

โครงสร้างการทำงานแบบมีการเลือก ( Selection )เป็นโครงสร้างที่ใช้การตรวจสอบเงื่อนไขเพื่อการทำงานอย่างใดอย่างหนึ่ง โดยโครงสร้างแบบนี้จะมีอยู่ด้วยกัน 2 รูปแบบ คือ IF - THEN - ELSE และ IF - THEN




รูปที่4 แสดงโครงสร้างผังงานแบบมีการเลือก
โครงสร้างแบบ IF - THEN - ELSE เป็นโครงสร้างที่จะทำการเปรียบเทียบเงื่อนไขที่ใส่ไว้ในส่วนหลังคำว่า IF และเมื่อได้ผลลัพธ์จากการเปรียบเทียบก็จะเลือกว่าจะทำงานต่อในส่วนใด กล่าวคือถ้าเงื่อนไขเป็นจริง ( TRUE ) ก็จะเลือกไปทำงานต่อที่ส่วนที่อยู่หลัง THEN แต่ถ้าเงื่อนไขเป็นเท็จ ( FALSE ) ก็จะไปทำงานต่อในส่วนที่อยู่หลังคำว่า ELSE
แต่ถ้าสำหรับโครงสร้างแบบ IF - THEN เป็นโครงสร้างที่ไม่มีการใช้ ELSE ดังนั้น ถ้ามีการเปรียบเทียบเงื่อนไขที่อยู่หลัง IF มีค่าเป็นจริง ก็จะไปทำส่วนที่อยู่หลัง Then แต่ถ้าเงื่อนไขเป็นเท็จ ก็จะไปทำคำสั่งที่อยู่ถัดจาก IF - THEN แทน
ตัวอย่าง 3 การเขียนผังงานอ่านค่าข้อมูลเข้ามาเก็บไว้ในตัวแปร A และ B แล้วทำการเปรียบเทียบในตัวแปรทั้งสอง โดยมีเงื่อนไขดังนี้
• ถ้า A มากกว่า B ให้คำนวณหาค่า A - B และเก็บผลลัพธ์ไว้ในตัวแปรชื่อ RESULT
• ถ้า A น้อยกว่าหรือเท่ากับ B ให้คำนวณหาค่า A + B และเก็บผลลัพธ์ไว้ในตัวแปรชื่อ RESULT


รูปที่ 3 แสดงการเขียนผังงานอ่านค่าข้อมูล
ตัวอย่าง 4 การเขียนผังงานเปรียบเทียบค่าข้อมูลที่เก็บอยู่ในตัวแปร X โดยมีเงื่อนไขดังนี้• ถ้า X > 0 ให้พิมพ์คำว่า " POSITIVE NUMBER "
• ถ้า X < 0 ให้พิมพ์คำว่า " NEGATIVE NUMBER "
• ถ้า X = 0 ให้พิมพ์คำว่า " ZERO NUMBER "


รูปที่ 4 แสดงการเขียนผังงานเปรียบเทียบค่าข้อมูล

โครงสร้างการทำงานแบบมีการทำงานซ้ำเป็นโครงสร้างที่มีการประมวลผลกลุ่มคำสั่งซ้ำหลายครั้ง ตามลักษณะเงื่อนไขที่กำหนด อาจเรียก การทำงานซ้ำแบบนี้ได้อีกแบบว่า การวนลูป ( Looping ) โครงสร้างแบบการทำงานซ้ำนี้จะมีอยู่ 2 ประเภท คือ
• DO WHILE
• DO UNTIL
DO WHILEเป็นโครงสร้างที่มีการทดสอบเงื่อนไขก่อน ถ้าเงื่อนไขเป็นจริงก็จะเข้ามาทำงานในกลุ่มคำสั่งที่ต้องทำซ้ำ ซึ่งเรียกว่าการเข้าลูป หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นจริงอยู่ ก็ยังคงต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากลูปไปทำคำสั่งถัดไปที่อยู่ถัดจาก DO WHILE หรืออาจเป็นการจบการทำงาน


แสดงโครงสร้างการทำงานซ้ำแบบ DO WHILE
DO UNTILเป็นโครงสร้างการทำงานแบบทำงานซ้ำเช่นกัน แต่มีการทำงานที่แตกต่างจาก DO WHILE คือจะมีการเข้าทำงานกลุ่มคำสั่งที่อยู่ภายในลูปก่อนอย่างน้อย 1 ครั้ง แล้วจึงจะไปทดสอบเงื่อนไข ถ้าเงื่อนไขเป็นเท็จก็จะมีการเข้าทำกลุ่มคำสั่งที่ต้องทำซ้ำอีก หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นเท็จอยู่ ก็ยังต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นจริง จึงจะออกจากลูปไปทำคำสั่งถัดจาก UNTIL หรืออาจเป็นการจบการทำงาน


แสดงโครงสร้างการทำงานซ้ำแบบ DO UNTIL
สรุปข้อแตกต่างระหว่าง DO WHILE และ DO UNTIL มีดังนี้1. DO WHILE ในการทำงานครั้งแรกจะต้องมีการตรวจสอบเงื่อนไขก่อนทุกครั้ง ก่อนที่จะมีการเข้ลูปการทำงาน
2. DO UNTIL การทำงานครั้งแรกจะยังไม่มีการตรวจสอบเงื่อนไข แต่จะเข้าไปทำงานในลูปก่อนอย่างน้อย 1 ครั้งแล้วจึงจะไปตรวจสอบเงื่อนไข
3. DO WHILE จะมีการเข้าไปทำงานในลูปก็ต่อเมื่อตรวจสอบเงื่อนไขแล้วพบว่า เงื่อนไขเป็นจริง แต่เมื่อพบว่าเงื่อนไขเป็นเท็จ ก็จะออกจากลูปทันที
4. DO UNTIL จะมีการเข้าไปทำงานในลูปก็ต่อเมื่อตรวจสอบเงื่อนไขแล้วพบว่า เงื่อนไขเป็นเท็จ แต่เมื่อพบว่าเงื่อนไขเป็นจริง ก็จะออกจากลูปทันที
ตัวอย่าง 5 จงเขียนผังงานแสดงการเพิ่มของข้อมูลตัวเลขที่เก็บอย่ในหน่วยความจำที่แอดเดรส 1 โดยที่ค่าเริ่มต้นจาก 0 ให้ทำการเพิ่มค่าทีละ 1 เรื่อยไปจนกระทั่ง J มีค่าข้อมูลมากกว่า 100 จึงหยุดการทำงาน

ตัวอย่างนี้ เป็นตัวอย่างการทำงานแบบทำซ้ำ ซึ่งจะสามารถแสดงการเขียนได้ทั้งแบบ DO WHILE และ DO UNTIL ดังนี้





วันอังคารที่ 21 พฤษภาคม พ.ศ. 2556




 ซอฟต์แวร์ และการเลือกใช้
 ซอฟต์แวร์ (Software) หมายถึง ส่วนที่ทำหน้าที่เป็นคำสั่งที่ใช้ควบคุมการทำงานของเครื่องคอมพิวเตอร์ หรืออาจเรียกว่า “ โปรแกรม ” ก็ได้ ซึ่งหมายถึงคำสั่งหรือชุดคำสั่ง สามารถใช้เพื่อสั่งให้คอมพิวเตอร์ทำงาน เราต้องการให้เครื่องคอมพิวเตอร์ทำอะไรก็เขียนเป็นคำสั่งที่จะต้องสั่งเป็นขั้นตอน และแต่ละขั้นตอนต้องทำอย่างละเอียดและครบถ้วนก็จะเรียกว่า นักเขียนโปรแกรม (Programmer) สำหรับการเขียนโปรแกรมดังกล่าวใช้ภาษาที่ใช้ในการเขียนโปรแกรมโดยเฉพาะ หรือหมายถึง ภาษาที่เครื่องคอมพิวเตอร์สามารถเข้าใจได้ เช่น ภาษาเบสิก ภาษาโคบอล ภาษาปาสคาล เป็นต้น โปรแกรมที่เขียนขึ้นมาก็จะนำไปใช้ในงานเฉพาะอย่าง เช่น โปรแกรมสต็อกสินค้าคงคลัง โปรแกรมคำนวณภาษี โปรแกรมคิดเงินเดือนพนักงาน เป็นต้น
ซอฟต์แวร์ระบบ หมายถึง ซอฟต์แวร์คอมพิวเตอร์ที่ออกแบบขึ้นมาเพื่อปฏิบัติการกับฮาร์ดแวร์คอมพิวเตอร์ และเพื่อจัดเตรียมและบำรุงรักษาแพลตฟอร์มจากการทำงานของโปรแกรมประยุกต์ 
ซอฟต์แวร์ระบบพื้นฐานที่สุดมีดังนี้
1.ไบออสของคอมพิวเตอร์และเฟิร์มแวร์ของอุปกรณ์ ซึ่งมีเครื่องมือพื้นฐานสำหรับปฏิบัติการและควบคุมฮาร์ดแวร์ที่เชื่อมต่อหรือติดตั้งในคอมพิวเตอร์
2.ระบบปฏิบัติการ (ตัวอย่างที่เด่น ๆ เช่น ไมโครซอฟท์ วินโดวส์ แมคโอเอสเท็น และลินุกซ์) ซึ่งแบ่งสรรให้ส่วนต่าง ๆ ของคอมพิวเตอร์ทำงานร่วมกันโดยรับภาระงานอาทิ การส่งผ่านข้อมูลระหว่างหน่วยความจำกับจานบันทึก หรือการส่งข้อมูลออกทางอุปกรณ์แสดงผล และยังมีแพลตฟอร์มเพื่อทำงานซอฟต์แวร์ระบบระดับสูงและโปรแกรมประยุกต์ด้วย
3.ซอฟต์แวร์อรรถประโยชน์ ซึ่งช่วยวิเคราะห์ ปรับแต่ง ทำให้เหมาะสม และบำรุงรักษาคอมพิวเตอร์
ในตำราบางเล่ม คำว่า ซอฟต์แวร์ระบบ หมายรวมถึงเครื่องมือที่ใช้ในการพัฒนาซอฟต์แวร์ด้วย (เช่น คอมไพเลอร์ ลิงเกอร์ หรือดีบักเกอร์ เป็นต้น)
ซอฟต์แวร์ประยุกต์ หมายถึงเป็นซอฟต์แวร์ที่ถูกสร้างขึ้นมาใช้งานในด้านต่างๆ ตามความต้องการของผู้ใช้ เช่นซอฟต์แวร์สำหรับการพิมพ์เอกสาร การคำนวณ การออกแบบ การเก็บข้อมูล เป็นต้น แบ่งลักษณะของการใช้งานได้ 4 ประเภทคือ 1. การใช้งานด้านธุรกิจ
               2. การใช้งานด้านกราฟิกและมัลติมีเดีย
               3. การใช้งานส่วนตัว
               4. การใช้งานเกี่ยวกับการติดต่อสื่อสาร
การเลือกใช้ ซอฟต์ แวร์
2. ซอฟต์ แวร์ ประยุกต์ กลุ่มธุรกิจ กลุ่มกราฟิ กและมัลติมเี ดีย กลุ่มใช้ งานในบ้ าน/ส่ วนบุคคล/การศึกษา (business) (graphics and multimedia) (home/personal/educational)• ซอฟต์แวร์ประมวลคา • ซอฟต์แวร์ ช่วยในการ • ชุดซอฟต์แวร์ สาเร็ จ• ซอฟต์แวร์ ตารางทางาน ออกแบบ • ซอฟต์แวร์จดพิมพ์ ั• ซอฟต์แวร์จดการ ั • ซอฟต์แวร์จดพิมพ์ ั • ซอฟต์แวร์ ตกแต่งภาพ ฐานข้อมูล • ซอฟต์แวร์ ตกแต่งภาพ • ซอฟต์แวร์ ตกแต่งภาพถ่าย• ซอฟต์แวร์นาเสนอ • ซอฟต์แวร์ ตดต่อวีดิทศน์ ั ั และจัดการภาพถ่าย• ซอฟต์แวร์บริ หาร และเสี ยง • ซอฟต์แวร์จดการคลังภาพ ั โครงการ • ซอฟต์แวร์สร้างสื่ อ • ซอฟต์แวร์ ช่วยในการ• ซอฟต์แวร์ระบบงานบัญชี ประสมหรื อมัลติมีเดีย เดินทางและแผนที่• ซอฟต์แวร์ ช่วยจดบันทึก • ซอฟต์แวร์สร้างเว็บเพจ • ซอฟต์แวร์เพื่อความ• ซอฟต์แวร์จดการเอกสาร ั บันเทิง
3. ซอฟต์ แวร์ ประยุกต์ กลุ่มติดต่ อสื่ อสาร (communication)• เว็บเบราว์เซอร์• อีเมล• การส่ งสารทันที• แชท• ประชุมทางวีดิทศน์ ั• การถ่ายโอนไฟล์• สนทนาบนอินเทอร์เน็ต• กระดานสนทนา
4. ซอฟต์ แวร์ กลุ่มธุรกิจ ช่วยเพิ่มประสิ ทธิภาพการทางานของบุคลากรในองค์กร อาจเป็ น ัซอฟต์แวร์ที่ออกแบบมาเพื่อใช้กบการทางานด้านธุรกิจของบริ ษทโดยเฉพาะ ัเช่น ซอฟต์แวร์ระบบงานบัญชี ซอฟต์แวร์ระบบจัดจาหน่าย ซอฟต์แวร์ดาน ้บริ หารการเงิน ซอฟต์ แวร์ ตัวอย่ างโปรแกรมประมวลคา Microsoft Word, OpenOffice.org/Writeตารางคานวณ Microsoft Excel, OpenOffice.org/Calcจัดการฐานข้อมูล Microsoft Access, Oracle, MySQL, OpenOffice.org/Baseนาเสนอ Microsoft PowerPoint, OpenOffice.org/Impress
5. ซอฟต์ แวร์ กลุ่มกราฟิ กและมัลติมเี ดีย ซอฟต์แวร์ จดการด้านกราฟิ กเป็ นซอฟต์แวร์ ที่ใช้ในการสร้าง ัภาพ ตกแต่งภาพ เช่น ปรับความเข้มแสง ความแตกต่างของสี วตถุ ัในภาพ และสามารถตัดแปะองค์ประกอบของภาพหลาย ๆ ภาพ มาสร้างเป็ นภาพใหม่ นอกจากนี้ยงสามารถเปลี่ยนลักษณะของภาพ ัลักษณะของสี ให้มีพ้ืนสี แบบต่าง ๆ รวมถึงซอฟต์แวร์จดพิมพ์ที่ใช้ ัในการสร้างเอกสารสิ่ งพิมพ์เป็ นโปรแกรมที่สามารถจะออกแบบและพิมพ์ออกมาเป็ นแผ่นพับ คู่มือการใช้งาน และหนังสื อให้มีรู ปภาพและสี ในแต่ละหน้าอย่างสวยงาม
6. ซอฟต์ แวร์ กลุ่มกราฟิ กและมัลติมเี ดีย ซอฟต์แวร์ดานสื่ อประสมหรื อมัลติมีเดีย เป็ นซอฟต์แวร์ ที่ใช้ ้สาหรับนาเสนอข้อมูลที่มีท้ งข้อความ เสี ยงพูด เสี ยงดนตรี ัภาพเคลื่อนไหว ภาพวีดิทศน์ และกราฟิ ก มาสัมพันธ์หรื อทางาน ัร่ วมกัน ซึ่ งแต่ละชนิดมีคุณค่าส่ งเสริ มซึ่ งกันและกัน เป็ นการประสานความสัมพันธ์ของสื่ อที่ใช้ เพื่อให้ได้ประโยชน์มากที่สุด
7. ซอฟต์ แวร์ กลุ่มกราฟิ กและมัลติมเี ดีย ซอฟต์ แวร์ ตัวอย่ างโปรแกรมช่วยในการออกแบบ Autodesk AutoCAD, Microsoft Visio Professionalจัดพิมพ์ Adobe InDesign, Adobe PageMaker, Corel VENTURAตกแต่งภาพ Adobe Illusstrator, Adobe Photoshop, CorelDRAWตัดต่อวีดิทศน์และเสี ยง ั Adobe Premiere, Windows Movie Makerสร้างสื่ อมัลติมีเดีย Adobe Authorware, Adobe Captivate, CamStudioสร้างเว็บเพจ Adobe Dreamweaver, Microsoft FrontPageสร้างภาพเคลื่อนไหว Adobe Flash, SwishMAX
8. ซอฟต์ แวร์ กลุ่มใช้ งานในบ้ าน/ส่ วนบุคคล/การศึกษา มีราคาไม่แพง หรื อเป็ นโปรแกรมใช้งานฟรี ซอฟต์ แวร์ ตัวอย่ างโปรแกรมสานักงาน Microsoft Office, OpenOffice.org/Writeจัดพิมพ์ Microsoft Publisherตกแต่งภาพ CorelDraw, GIMPตกแต่งภาพถ่ายและ Adobe Photoshop, Flickr, Picasa, Windows Live Photoจัดการภาพถ่าย Galleryจัดการคลังภาพ CoolArchive, ClickArtช่วยเหลือด้านท่องเที่ยว Google Earth, Google Mapsสารานุกรม Microsoft Encarta
9. ซอฟต์ แวร์ กลุ่มติดต่ อสื่ อสาร ช่วยในการค้นหาข้อมูล ช่วยติดต่อสื่ อสารทั้งการส่ งข้อความ หรื อการติดต่อด้วยเสี ยง ซอฟต์ แวร์ ตัวอย่ างโปรแกรมจัดการอีเมล Microsoft Outlook, Outlook Express, Mozilla Thunderbirdท่องเว็บ Microsoft Internet Explorer, Mozilla Firefox, Google Chromeประชุมทางไกล Microsoft Netmeetingถ่ายโอนไฟล์ Cute_FTP, WS_FTP, FileZilla, WinSCPส่ งข้อความด่วน MSN Messenger, ICQสนทนา PIRCH, MIRCv