วันเสาร์ที่ 26 กุมภาพันธ์ พ.ศ. 2554

จิตสาธารณะ

กำลังเก็บขยะครับ

กำลังทิ้งขยะครับ

ผังงานคอมพิวเตอร์

 

 

ผังงาน (Flowchart) [ refer. ]
เว็บเพจหน้านี้สนใจผังงานโปรแกรม มากกว่าผังงานระบบ .. เพื่อเสริมบทเรียน สอนเขียนโปรแกรม

Process Symbol


Input/Output Symbol


Decision Symbol


Terminal Symbol


Document Symbol


Connector Symbol
ความหมายของผังงาน



ผังงาน (Flowchart) คือ รูปภาพ (Image) หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความทำได้ยากกว่า
ผังงานแบ่งได้ 2 ประเภท
1. ผังงานระบบ (System Flowchart)
คือ ผังงานที่แสดงขั้นตอนการทำงานในระบบอย่างกว้าง ๆ แต่ไม่เจาะลงในระบบงานย่อย
2. ผังงานโปรแกรม (Program Flowchart)
คือ ผังงานที่แสดงถึงขั้นตอนในการทำงานของโปรแกรม ตั้งแต่รับข้อมูล คำนวณ จนถึงแสดงผลลัพธ์
ประโยชน์ของผังงาน
1. ทำให้เข้าใจ และแยกแยะปัญหาได้ง่าย (Problem Define)
2. แสดงลำดับการทำงาน (Step Flowing)
3. หาข้อผิดพลาดได้ง่าย (Easy to Debug)
4. ทำความเข้าใจโปรแกรมได้ง่าย (Easy to Read)
5. ไม่ขึ้นกับภาษาใดภาษาหนึ่ง (Flexible Language)



ตัวอย่างผังงานระบบไฟแดง
การโปรแกรมแบบมีโครงสร้าง หรือ การโปรแกรมโครงสร้าง ประกอบด้วยอะไรบ้าง



ผมขอตอบอย่างสั้น ๆ ว่าทุกภาษาต้องมีหลักการ 3 อย่างนี้คือ การทำงานแบบตามลำดับ(Sequence) การเลือกกระทำตามเงื่อนไข(Decision) และ การทำซ้ำ(Loop) แม้ตำราหลาย ๆ เล่มจะบอกว่า decision แยกเป็น if กับ case หรือ loop นั้นยังแยกเป็น while และ until ซึ่งแตกต่างกัน แต่ผมก็ยังนับว่าการเขียนโปรแกรม แบบมีโครงสร้างนั้น มองให้ออกแค่ 3 อย่างก็พอแล้ว และหลายท่านอาจเถียงผมว่าบางภาษาไม่จำเป็นต้องใช้ Structure Programming แต่เท่าที่ผมศึกษามา ยังไม่มีภาษาใด เลิกใช้หลักการทั้ง 3 นี้อย่างสิ้นเชิง เช่น MS Access ที่หลายคนบอกว่าง่าย ซึ่งก็อาจจะง่ายจริง ถ้าจะศึกษาเพื่อสั่งให้ทำงานตาม wizard หรือตามที่เขาออกแบบมาให้ใช้ แต่ถ้าจะนำมาใช้งานจริง ตามความต้องการของผู้ใช้แล้ว ต้องใช้ประสบการณ์ในการเขียน Structure Programming เพื่อสร้าง Module สำหรับควบคุม Object ทั้งหมดให้ทำงานประสานกัน
1. การทำงานแบบตามลำดับ(Sequence) : รูปแบบการเขียนโปรแกรมที่ง่ายที่สุดคือ เขียนให้ทำงานจากบนลงล่าง เขียนคำสั่งเป็นบรรทัด และทำทีละบรรทัดจากบรรทัดบนสุดลงไปจนถึงบรรทัดล่างสุด สมมติให้มีการทำงาน 3 กระบวนการคือ อ่านข้อมูล คำนวณ และพิมพ์ 2. การเลือกกระทำตามเงื่อนไข(Decision or Selection) : การตัดสินใจ หรือเลือกเงื่อนไขคือ เขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติจะมีเหตุการณ์ให้ทำ 2 กระบวนการ คือเงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง และเป็นเท็จจะกระทำอีกกระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือกอย่างง่าย เพื่อกระทำกระบวนการเพียงกระบวนการเดียว 3. การทำซ้ำ(Repeation or Loop) : การทำกระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขในการควบคุม หมายถึงการทำซ้ำเป็นหลักการที่ทำความเข้าใจได้ยากกว่า 2 รูปแบบแรก เพราะการเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพอย่างชัดเจนเหมือนการเขียนผังงาน ผู้เขียนโปรแกรมต้องจินตนาการด้วยตนเอง



โจทย์ที่ 1
- พิมพ์เลข 0 ถึง 4 ทางจอภาพ

ตัวอย่างผังงาน
โจทย์ที่ 2
- รับค่าจากแป้นพิมพ์เก็บลงตัวแปรอาร์เรย์ 5 ตัว
- แล้วทำซ้ำอีกครั้ง เพื่อหาค่าสูงสุด
ตัวอย่างผังงาน








Download : diaflowchart01.dia


Dia - Diagram Drawing ใน ซีดีจันทรา (Download : Dia + GTK)

Dia (ไดอะ) เป็นโปรแกรมวาดภาพกราฟฟิกส์แบบเวกเตอร์ที่ออกแบบมา เพื่อให้ใช้ในการ เขียนไดอะแกรมโดยเฉพาะ สามารถเขียนไดอะแกรมได้หลายชนิดอย่างรวดเร็ว Dia มี ชุดออปเจคที่ช่วยในการวาด Entity Relationship Diagram, UML Diagram, Flowchart Diagram, Network Diagram ,วงจรไฟฟ้าอย่างง่าย ๆ รวมถึงไดอะแกรมอื่น นอกจากนี้ Dia ยังสามารถเพิ่มชุดออปเจคได้ด้วยการเขียนไฟล์ XML
แนะนำเว็บ (Web Guides)
- http://www.rsv.ac.th/e-learning/RsvWork/WriteFlowchart.htm ***
- http://www.tpub.com/neets/book22/93c.htm
- http://www.geocities.com/S_Analysis/FlowChart3_new.html
- http://natade.net/tc/start_tc1.php
- http://www.bcoms.net/system_analysis/lesson63.asp

ระบบเลขฐานสอง

 ตารางเปรียบเทียบเลขฐานสอง
เลขฐานสิบ
เเลขฐานสอง
0
00
1
01
2
10
3
11
4
100
5
101
6
110
7
111
8
1000
9
1001

กฎหมายคอมพิวเตอร์

กฎหมายอาชญากรรมทางคอมพิวเตอร์
กฎหมายอาชญากรรมทางคอมพิวเตอร์ (Computer Crime Law) เป็นกฎหมายตัว
หนึ่งที่มีความล่าช้ามากในบรรดากฎหมายสารสนเทศทั้ง 6 ฉบับ ความล่าช้านั้นก็มาจากหลายสาเหตุ ไม่ว่าจะเป็นเรื่องที่จะต้องดูตัวอย่างกฎหมายจากหลายๆประเทศที่บังคับใช้ไปก่อนแล้ว เพื่อจะมาปรับเข้ากับบริบทของประเทศไทย แน่นอนครับว่าการคัดลอกมาทั้งหมดโดยไม่คำนึงถึงความแตกต่าง สภาพวัฒนธรรม ความเจริญก้าวหน้าที่ไม่เท่ากันแล้ว ย่อมจะเกิดปัญหาเมื่อนำมาใช้อย่างแน่นอน
อีกทั้งเรื่องนี้ยังเป็นเรื่องใหม่ในสังคมไทย และในกระบวนการยุติธรรมของบ้านเราด้วย กฎหมายบางเรื่องต้องใช้เวลานานถึง 5 ปีกว่าจะออกมาใช้บังคับได้ บางเรื่องใช้เวลาถึง 10 ปีเลยทีเดียวครับ
ปัญหาความล่าช้าเป็นอุปสรรคที่สำคัญอย่างหนึ่งในการพัฒนาประเทศของเรา ทั้งนี้ เกิดจากหลายสาเหตุ ไม่ว่าจะเป็นระบบงานราชการที่ยุ่งยาก ซับซ้อน ต้องผ่านหลายหน่วยงาน หลายขั้นตอน หรือแม้แต่ระบบการพิจารณาในสภา ที่มีการเปลี่ยนรัฐบาลกันบ่อยๆจึงทำให้ขาดความต่อเนื่อง และยังมีสาเหตุอื่นอีกมากที่ทำให้กฎหมายแต่ละฉบับนั้นออกมาใช้บังคับช้า

ที่มาของกฎหมายอาชญากรรมทางคอมพิวเตอร์ ทุกวันนี้คงปฏิเสธไม่ได้ว่าคอมพิวเตอร์เข้าไปมีบทบาทในชีวิตมนุษย์มากขึ้นทุกวัน โดยเฉพาะในยุคแห่งข้อมูลข่าวสารอย่างในปัจจุบันนี้ จะเห็นได้ว่ามีพัฒนาการเทคโนโลยีใหม่ๆเกิดขึ้นอย่างรวดเร็ว รวมทั้งพัฒนาการเทคโนโลยีสารสนเทศด้วย แต่ถึงแม้ว่าพัฒนาการทางเทคโนโลยีสารสนเทศนั้นจะถูกนำมาประยุกต์ใช้และก่อให้เกิดประโยชน์มากมายก็ตาม หากนำไปใช้ในทางที่ไม่ดีไม่ชอบแล้วก็อาจก่อให้เกิดความเสียหายอย่างร้ายแรงทั้งทางเศรษฐกิจและสังคมได้
ดังนั้นจึงเกิดรูปแบบใหม่ของอาชญากรรมที่เกิดจากการใช้คอมพิวเตอร์เป็นเครื่องมือในการกระทำผิดขึ้น จึงจำเป็นต้องมีการพัฒนา กฎหมายอาชญากรรมทางคอมพิวเตอร์ (Computer Crime Law) ขึ้น
ในบางประเทศอาจเรียกว่า กฎหมายเกี่ยวกับการใช้คอมพิวเตอร์ในทางมิชอบ (Computer Misuse Law) หรือในบางประเทศอาจต้องมีการปรับปรุงแก้ไขประมวลกฎหมายอาญาเพื่อให้รองรับกับความผิดในรูปแบบใหม่ๆได้ ด้วยการกำหนดฐานความผิดและบทลงโทษสำหรับการก่ออาชญากรรมคอมพิวเตอร์ขึ้นเพื่อให้เหมาะสมและมีประสิทธิภาพ สามารถเอาผิดกับผู้กระทำความผิดได
้ในต่างประเทศนั้น มีลักษณะการบัญญัติกฎหมายอาชญากรรมทางคอมพิวเตอร์ 2 รูปแบบ คือ การบัญญัติในลักษณะแก้ไขเพิ่มเติมประมวลกฎหมายอาญา เช่น ประเทศเยอรมนี แคนาดา อิตาลี และสวิสเซอร์แลนด์ ส่วนอีกรูปแบบหนึ่งคือ การบัญญัติเป็นกฎหมายเฉพาะ เช่น ประเทศอังกฤษ สิงคโปร์ มาเลเซีย และสหรัฐอเมริกา
สำหรับประเทศไทยนั้น เลือกใช้ในแบบที่สองคือบัญญัติเป็นกฎหมายเฉพาะ โดยมีชื่อว่า พระราชบัญญัติอาชญากรรมทางคอมพิวเตอร์ พ.ศ. ….(ประกาศใช้ปีไหน ก็ใส่ พ.ศ. เข้าไปแทนจุดครับ-ผู้เขียน)
จะเห็นได้ว่าแม้รูปแบบกฎหมายของแต่ละประเทศอาจจะแตกต่างกัน แต่การกำหนดฐานความผิดที่เป็นหลักใหญ่นั้นมักจะคล้ายคลึงกัน ทั้งนี้ โดยมากแล้วต่างก็คำนึงถึงลักษณะของการใช้คอมพิวเตอร์ในการกระทำความผิดเป็นสำคัญ กฎหมายที่ออกมาจึงมีลักษณะที่ใกล้เคียงกัน

สวัสดีปีใหม่

       วันปีใหม่ไทยเราแต่เก่าก่อน
       ขอฝากพรมาเพิ่มเติมสุขศรี
       มิตรร่วมร้อยสร้อยฝันวรรณกวี
       ให้มั่งมีศรีสุขทั่วทุกแดน

        หลับให้ได้เงินหมื่นตื่นให้พบ
        เงินทองครบครันค่าสี่ห้าแสน
       คนขี้เหงาเศร้าใจเพราะไร้แฟน
       จงเนืองแน่นคนน้อมมาล้อมใจ

      กับเจ็ดวันอันตรายให้หายโศก
      เจอแต่โชคร่ำรวยและสวยใส
      สิ่งศักดิ์สิทธิ์จงคุ้มโอบอุ้มไทย
     พ้นพิษภัยการเมืองสู่เรืองรอง