วันจันทร์ที่ 24 กันยายน พ.ศ. 2555

จริยธรรมและความปลอดภัย

จริยธรรมและความปลอดภัย
เทคโนโลยีสารสนเทศมีผลกระทบต่อสังคมเป็นอย่างมาก โดยเฉพาะประเด็นจริยธรรมที่เกี่ยวกับระบบสารสนเทศที่จำเป็นต้องพิจารณา รวมทั้งเรื่องความปลอดภัย ของระบบสารสนเทศการใช้เทคโนโลยีสารสนเทศ หากไม่มีกรอบจริยธรรมกำกับไว้แล้ว สังคมย่อมจะเกิดปัญหาต่าง ๆ ตามมาไม่สิ้นสุด รวมทั้งปัญหาอาชญากรรมคอมพิวเตอร์ด้วย ดังนั้นหน่วยงานที่ใช้ระบบสารสนเทศจึงจำเป็นต้องสร้างระบบความปลอดภัยเพื่อป้องกันปัญหาดังกล่าว
ประเด็นเกี่ยวกับจริยธรรม                คำจำกัดความของจริยธรรมมีอยู่มากมาย เช่น “หลักของศีลธรรมใ นแต่ละวิชาชีพเฉพาะ”
“มาตรฐานของการประพฤติปฏิบัติในวิชาชีพที่ได้รับ” “ข้อตกลงกันในหมู่ประชาชนในการกระทำสิ่งที่ถูก และหลีกเลี่ยงการกระทำสิ่งที่ผิด” หรืออาจสรุปได้ว่า จริยธรรม (Ethics) หมายถึง หลักของความถูกและความผิดที่บุคคลใช้เป็นแนวทางในการปฏิบัติ
กรอบความคิดเรื่องจริยธรรมหลักปรัชญาเกี่ยวกับจริยธรรม มีดังนี้ (Laudon & Laudon, 1999)
R.O. Mason และคณะ ได้จำแนกประเด็นเกี่ยวกับจริยธรรมที่เกี่ยวข้องกับเทคโนโลยีสารสนเทศเป็น 4 ประเภทคือ ความเป็นส่วนตัว (Privacy) ความถูกต้องแม่นยำ (Accuracy) ความเป็นเจ้าของ (Property) และความสามารถในการเข้าถึงได้ (Accessibility) (O’Brien, 1999: 675; Turban, et al., 2001: 512)
1) ประเด็นความเป็นส่วนตัว (Privacy) คือ การเก็บรวบรวม การเก็บรักษา และการเผยแพร่ ข้อมูลสารสนเทศเกี่ยวกับปัจเจกบุคคล
2) ประเด็นความถูกต้องแม่นยำ (Accuracy) ได้แก่ ความถูกต้องแม่นยำของการเก็บรวบรวมและวิธีการปฏิบัติกับข้อมูลสารสนเทศ
3) ประเด็นของความเป็นเจ้าของ (Property) คือ กรรมสิทธิ์และมูลค่าของข้อมูลสารสนเทศ (ทรัพย์สินทางปัญญา)
4) ประเด็นของความเข้าถึงได้ (Accessibility) คือ สิทธิในการเข้าถึงข้อมูลสารสนเทศได้และการจ่ายค่าธรรมเนียมในการเข้าถึงข้อมูลสารสนเทศ
การคุ้มครองความเป็นส่วนตัว (Privacy)
  • ความเป็นส่วนตัวของบุคคลต้องได้ดุลกับความต้องการของสังคม
  •  สิทธิของสาธารณชนอยู่เหนือสิทธิความเป็นส่วนตัวของปัจเจกชน
การคุ้มครองทางทรัพย์สินทางปัญญา                ทรัพย์สินทางปัญญาเป็นทรัพย์สินที่จับต้องไม่ได้ที่สร้างสรรค์ขึ้นโดยปัจเจกชน หรือนิติบุคคล ซึ่งอยู่ภายใต้ความคุ้มครองของกฎหมายลิขสิทธิ์ กฎหมายความลับทางการค้า และกฎหมายสิทธิบัตร
ลิขสิทธิ์ (copyright) ตามพระราชบัญญัติลิขสิทธิ์ พ.ศ. 2537 หมายถึง สิทธิ์แต่ผู้เดียวที่จะกระทำการใด ๆ เกี่ยวกับงานที่ผู้สร้างสรรค์ได้ทำขึ้น ซึ่งเป็นสิทธิ์ในการป้องกันการคัดลอกหรือทำซ้ำในงานเขียน งานศิลป์ หรืองานด้านศิลปะอื่น ตามพระราชบัญญัติดังกล่าวลิขสิทธิ์ทั่วไป มีอายุห้าสิบปีนับแต่งานได้สร้างสรรค์ขึ้น หรือนับแต่ได้มีการโฆษณาเป็นครั้งแรก ในขณะที่ประเทศสหรัฐอเมริกาจะมีอายุเพียง 28 ปี
สิทธิบัตร (patent) ตามพระราชบัญญัติสิทธิบัตร พ.ศ. 2522 หมายถึง หนังสือสำคัญที่ออกให้เพื่อคุ้มครองการประดิษฐ์ หรือการออกแบบผลิตภัณฑ์ ตามที่กฎหมายบัญญัติไว้ โดยสิทธิบัตรการประดิษฐ์มีอายุยี่สิบปีนับแต่วันขอรับสิทธิบัตร ในขณะที่ประเทศสหรัฐอเมริกาจะคุ้มครองเพียง 17 ปี
อาชญากรรมคอมพิวเตอร์ (Computer Crime)
อาชญากรรมคอมพิวเตอร์อาศัยความรู้ในการใช้เครื่องมือคอมพิวเตอร์หรืออุปกรณ์อื่น โดยสามารถทำให้เกิดความเสียหายด้านทรัพย์สินเงินทองจำนวนมหาศาลมากกว่าการปล้นธนาคารเสียอีก นอกจากนี้อาชญากรรมประเภทนี้ยากที่จะป้องกัน และบางครั้งผู้ได้รับความเสียหายอาจจะไม่รู้ตัวด้วยซ้ำ
เครื่องคอมพิวเตอร์ในฐานะเป็นเครื่องประกอบอาชญากรรม
  • เครื่องคอมพิวเตอร์ในฐานะเป็นเป้าหมายของอาชญากรรม
  • การเข้าถึงและการใช้คอมพิวเตอร์ที่ไม่ถูกกฎหมาย
  • การเปลี่ยนแปลงและการทำลายข้อมูล
  • การขโมยข้อมูลข่าวสารและเครื่องมือ
  • การสแกมทางคอมพิวเตอร์ (computer-related scams)
การรักษาความปลอดภัยของระบบคอมพิวเตอร์การควบคุมที่มีประสิทธิผลจะทำให้ระบบสารสนเทศมีความปลอดภัยและยังช่วยลดข้อผิดพลาด การฉ้อฉล และการทำลายระบบสารสนเทศที่มีการเชื่อมโยงเป็นระบบอินเทอร์เน็ตด้วย ระบบการควบคุมที่สำคัญมี 3 ประการ คือ การควบคุมระบบสารสนเทศ การควบคุมกระบวนการทำงาน และการควบคุมอุปกรณ์อำนวยความสะดวก (O’Brien, 1999: 656)
การควบคุมระบบสารสนเทศ (Information System Controls)
  • การควบคุมอินพุท
  • การควบคุมการประมวลผล
  • การควบฮาร์ดแวร์ (Hardware Controls)
  • การควบคุมซอฟท์แวร์ (Software Controls)
  • การควบคุมเอาท์พุท (Output Controls)
  • การควบคุมความจำสำรอง (Storage Controls)
การควบคุมกระบวนการทำงาน (Procedural Controls)
  • การมีการทำงานที่เป็นมาตรฐาน และมีคู่มือ
  • การอนุมัติเพื่อพัฒนาระบบ
  • แผนการป้องกันการเสียหาย
  • ระบบการตรวจสอบระบบสารสนเทศ (Auditing Information Systems)
การควบคุมอุปกรณ์อำนวยความสะดวกอื่น (Facility Controls)
  • ความปลอดภัยทางเครือข่าย (Network Security)
  • การแปลงรหัส (Encryption)
  • กำแพงไฟ (Fire Walls)
  • การป้องกันทางกายภาพ (Physical Protection Controls)
  • การควบคุมด้านชีวภาพ (Biometric Control)
  • การควบคุมความล้มเหลวของระบบ (Computer Failure Controls)

ภาษาโปรแกรม


ภาษาโปรแกรม

จากวิกิพีเดีย สารานุกรมเสรี
ภาษาโปรแกรม คือภาษาประดิษฐ์ชนิดหนึ่งที่ออกแบบขึ้นมาเพื่อสื่อสารชุดคำสั่งแก่เครื่องจักร โดยเฉพาะอย่างยิ่งคอมพิวเตอร์ ภาษาโปรแกรมสามารถใช้สร้างโปรแกรมที่ควบคุมพฤติกรรมของเครื่องจักร และ/หรือ แสดงออกด้วยขั้นตอนวิธี (algorithm) อย่างตรงไปตรงมา ผู้เขียนโปรแกรมซึ่งหมายถึงผู้ที่ใช้ภาษาโปรแกรมเรียกว่า โปรแกรมเมอร์ (programmer)
ภาษาโปรแกรมในยุคแรกเริ่มนั้นเกิดขึ้นก่อนที่คอมพิวเตอร์จะถูกประดิษฐ์ขึ้น โดยถูกใช้เพื่อควบคุมการทำงานของเครื่องทอผ้าของแจ็กการ์ดและเครื่องเล่นเปียโน ภาษาโปรแกรมต่าง ๆ หลายพันภาษาถูกสร้างขึ้นมา ส่วนมากใช้ในวงการคอมพิวเตอร์ และสำหรับวงการอื่นภาษาโปรแกรมก็เกิดขึ้นใหม่ทุก ๆ ปี ภาษาโปรแกรมส่วนใหญ่อธิบายการคิดคำนวณในรูปแบบเชิงคำสั่ง อาทิลำดับของคำสั่ง ถึงแม้ว่าบางภาษาจะใช้การอธิบายในรูปแบบอื่น ตัวอย่างเช่น ภาษาที่สนับสนุนการเขียนโปรแกรมเชิงฟังก์ชัน หรือการเขียนโปรแกรมเชิงตรรกะ
การพรรณนาถึงภาษาโปรแกรมหนึ่ง ๆ มักจะแบ่งออกเป็นสองส่วนได้แก่ วากยสัมพันธ์ (รูปแบบ) และอรรถศาสตร์ (ความหมาย) บางภาษาถูกนิยามขึ้นด้วยเอกสารข้อกำหนด (ตัวอย่างเช่น ภาษาซีเป็นภาษาหนึ่งที่กำหนดโดยมาตรฐานไอโซ) ในขณะที่ภาษาอื่นอย่างภาษาเพิร์ลรุ่น 5 และก่อนหน้านั้น ใช้การทำให้เกิดผลแบบอ้างอิง (reference implementation) เป็นลักษณะเด่น

เนื้อหา

  [ซ่อน] 

[แก้]คำจำกัดความ

ภาษาโปรแกรมเป็นสัญกรณ์อย่างหนึ่งสำหรับการเขียนโปรแกรม ซึ่งมีข้อกำหนดต่าง ๆ เกี่ยวกับการคิดคำนวณหรือขั้นตอนวิธี [1] ผู้แต่งตำราบางคน (ไม่ใช่ทั้งหมด) ได้ให้คำจำกัดความของ "ภาษาโปรแกรม" อย่างเข้มงวดว่า หมายถึงภาษาที่สามารถแสดงออกด้วยขั้นตอนวิธีที่เป็นไปได้ทั้งหมด [1][2] คุณลักษณะมักเป็นปัจจัยพิจารณาที่สำคัญสำหรับคำถามว่า อะไรที่ถือว่าเป็นภาษาโปรแกรม รวมทั้งปัจจัยต่อไปนี้
  • การทำงานและเป้าหมาย ภาษาโปรแกรมคอมพิวเตอร์ คือภาษาชนิดหนึ่ง [3] ที่ใช้สำหรับเขียนโปรแกรมคอมพิวเตอร์ ซึ่งเกี่ยวข้องกับคอมพิวเตอร์ที่กระทำการคิดคำนวณหรือขั้นตอนวิธีบางอย่าง [4] และควบคุมอุปกรณ์ภายนอกที่เป็นไปได้อาทิ เครื่องพิมพ์ เครื่องขับจานบันทึก หุ่นยนต์ [5] และอื่น ๆ ตัวอย่างเช่น โปรแกรมโพสต์สคริปต์มักถูกสร้างโดยโปรแกรมอื่นเพื่อควบคุมเครื่องพิมพ์หรือจอภาพ ภาษาโปรแกรมโดยนัยทั่วไปมากขึ้น อาจใช้พรรณนาการคิดคำนวณบนเครื่องจักรบางชนิด ซึ่งอาจเป็นเครื่องจักรนามธรรมก็ได้ เป็นที่ยอมรับกันโดยทั่วไปว่า ข้อกำหนดภาษาโปรแกรมที่สมบูรณ์ จะต้องมีการพรรณนาลักษณะเครื่องจักรหรือหน่วยประมวลผลสำหรับภาษานั้น ซึ่งอาจเป็นการพรรณนาในอุดมคติก็ได้ [6] ในทางปฏิบัติเป็นส่วนใหญ่ ภาษาโปรแกรมเกี่ยวข้องกับคอมพิวเตอร์ จึงทำให้ภาษาโปรแกรมต่าง ๆ โดยปกติถูกกำหนดและศึกษาในแนวทางนี้ [7] ภาษาโปรแกรมต่างจากภาษาธรรมชาติตรงที่ ภาษาธรรมชาติใช้แสดงปฏิสัมพันธ์ระหว่างมนุษย์ด้วยกันเพียงเท่านั้น ในขณะที่ภาษาโปรแกรมทำให้มนุษย์สื่อสารชุดคำสั่งแก่เครื่องจักรได้อีกด้วย
  • แนวคิดนามธรรม ภาษาโปรแกรมโดยปกติจะมีภาวะนามธรรม สำหรับนิยามและจัดดำเนินการโครงสร้างข้อมูล หรือควบคุมกระแสการทำงาน ความจำเป็นในทางปฏิบัติที่ภาษาโปรแกรมสนับสนุนภาวะนามธรรมอย่างเพียงพอ แสดงออกมาด้วยหลักการที่เป็นนามธรรม [8] หลักการนี้บางครั้งก็คิดค้นขึ้นเพื่อเป็นข้อเสนอแนะให้โปรแกรมเมอร์สามารถใช้ภาวะนามธรรมเช่นนั้นได้อย่างถูกต้อง [9]
  • พลังในการแสดงออก ทฤษฎีการคำนวณแบ่งประเภทภาษาต่าง ๆ ตามการคิดคำนวณโดยความสามารถในการแสดงออก ภาษาทัวริงบริบูรณ์ทุกภาษาสามารถทำให้เกิดผลได้ด้วยเซตของขั้นตอนวิธีที่เหมือนกันภาษาเอสคิวแอลและภาษาแชริตีเป็นตัวอย่างของภาษาที่ไม่เป็นทัวริงบริบูรณ์ แต่ก็ยังเรียกว่าเป็นภาษาโปรแกรม [10][11]
ภาษามาร์กอัปอย่างเช่น เอกซ์เอ็มแอล เอชทีเอ็มแอล หรือทร็อฟฟ์ เป็นต้น ซึ่งถูกนิยามว่าเป็นข้อมูลเชิงโครงสร้าง โดยทั่วไปไม่ถือว่าเป็นภาษาโปรแกรม [12][13][14] อย่างไรก็ตาม ภาษาโปรแกรมอาจจะใช้วากยสัมพันธ์เหมือนภาษามาร์กอัป ถ้าอรรถศาสตร์เชิงคำนวณมีการนิยามไว้ ตัวอย่างเช่น เอกซ์เอสแอลที ซึ่งเป็นภาษาย่อยของเอกซ์เอ็มแอลที่เป็นทัวริงบริบูรณ์ [15][16][17] ยิ่งไปกว่านั้น ภาษาลาเทกซ์ซึ่งตามปกติใช้สำหรับสร้างโครงสร้างเอกสาร แต่ก็มีเซตย่อยของทัวริงบริบูรณ์อยู่ด้วย [18][19]
วลี ภาษาคอมพิวเตอร์ บางครั้งก็ใช้แทนความหมายของภาษาโปรแกรม [20] อย่างไรก็ตาม ผู้แต่งตำราแต่ละคนก็ใช้วลีทั้งสองรวมถึงขอบเขตที่ชัดเจนในแนวทางที่ต่างกัน แนวคิดหนึ่งอธิบายว่า ภาษาโปรแกรมเป็นเซตย่อยของภาษาคอมพิวเตอร์ [21] ในทำนองนี้ ภาษาที่ใช้ในการคิดคำนวณอันมีเป้าหมายต่างกัน ที่แสดงออกเป็นโปรแกรมคอมพิวเตอร์ โดยนัยทั่วไปคือภาษาคอมพิวเตอร์ที่ถูกเลือกขึ้นมา ยกตัวอย่างเช่น ภาษามาร์กอัปบางครั้งก็ถูกพูดถึงว่าเป็นภาษาคอมพิวเตอร์ เพื่อเน้นย้ำว่ามันไม่ได้ออกแบบมาเพื่อเขียนโปรแกรม [22] แนวคิดอีกอย่างหนึ่งอธิบายว่า ภาษาโปรแกรมคือโครงสร้างเชิงทฤษฎีสำหรับการเขียนโปรแกรมให้แก่เครื่องจักรนามธรรม และภาษาคอมพิวเตอร์คือเซตย่อยของสิ่งดังกล่าวที่ทำงานบนคอมพิวเตอร์ในทางกายภาพ ซึ่งมีทรัพยากรฮาร์ดแวร์จำกัด [23] จอห์น ซี. เรย์โนลด์ เน้นว่า ภาษาข้อกำหนดรูปนัย (formal specification) มีลักษณะของภาษาโปรแกรมมากพอ ๆ กับภาษาที่ตั้งใจให้กระทำการ เขายังให้เหตุผลด้วยว่า รูปแบบรับเข้าเชิงข้อความหรือแม้แต่เชิงกราฟิกที่ส่งผลต่อพฤติกรรมของคอมพิวเตอร์ ก็ถือเป็นภาษาโปรแกรมเช่นกัน ถึงแม้ข้อเท็จจริงคือสิ่งเหล่านั้นไม่ใช่ทัวริงบริบูรณ์ และให้ความเห็นอีกว่า การมองข้ามมโนทัศน์ของภาษาโปรแกรมคือสาเหตุของความบกพร่องมากมายในรูปแบบรับเข้า [24]

[แก้]ลักษณะของภาษาโปรแกรม

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

[แก้]ชนิดข้อมูล

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

[แก้]โครงสร้างข้อมูล

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

[แก้]ภาษาโปรแกรมที่นิยม

โปรแกรมคอมพิวเตอร์

โปรแกรมคอมพิวเตอร์
คือชุดคำสั่งที่ใช้สั่งงานและควบคุมระบบคอมพิวเตอร์ให้เป็นไปตามวัตถุประสงค์ที่ต้องการ การที่จะเขียนโปรแกรมคอมพิวเตอร์ขึ้นมาจะต้องพิจารณาจากระบบงานอย่างละเอียดของข้อมูลนำเข้า ที่มาของข้อมูลนำเข้า ข้อมูลที่ต้องการแสดงผล และรูปแบบการแสดงผล
วงจรการพัฒนาโปรแกรม   (Program Development Life Cycle: PDLC)
วงจรการพัฒนาโปรแกรม (PDLC) คือ ขั้นตอนการทำงานที่โปรแกรมเมอร์ใช้สำหรับสร้างโปรแกรม  ประกอบด้วย 5 ขั้นตอน ดังนี้
  1. การวิเคราะห์ปัญหา (Program Analysis)
  2.  การออกแบบโปรแกรม (Program Design)
  3.  การเขียนโปรแกรม (Program Coding)
  4.  การทดสอบโปรแกรม (Program Testing)
  5. การบำรุงรักษาโปรแกรม (Program Maintenance)
1. การวิเคราะห์ปัญหา (Problem Analysis)
เป็นขั้นตอนแรกของวงจรการพัฒนาโปรแกรม ซึ่งเป็นการศึกษาถึงปัญหาที่เกิดขึ้นและค้นหาสิ่งที่ต้องการ เพื่อพิจารณาสิ่งต่อไปนี้

  1. ข้อมูลที่จะนำเข้าสู่คอมพิวเตอร์มีอะไรบ้าง
  2. วิธีการประมวลผลข้อมูลที่นำเข้าและผลลัพธ์ที่ต้องการ
  3. การแสดงผลที่ได้ ต้องการแสดงผลลัพธ์อะไรและมีหน้าตาเป็นอย่างไร

ตัวอย่าง  ถ้าต้องการสร้างโปรแกรมที่มีการนำตัวเลขเข้ามา 5 ตัว และให้แสดงผลเป็นค่าเฉลี่ยบนจอภาพ
ข้อมูลนำเข้า          คือ ตัวเลข 5 ตัว เช่น 2  3  4 5  6
การประมวลผล  คือ คำนวณหาค่าเฉลี่ย  เช่น (2+3+4+5+6)/5
การแสดงผล          คือ แสดงค่าเฉลี่ยผ่านทางจอภาพ เช่น 15.2
2. การออกแบบโปรแกรม (Program Design)
                  เป็นขั้นตอนที่ 2 ของวงจรการพัฒนาโปรแกรมซึ่งการออกแบบโปรแกรมเป็นขั้นตอนที่ต้องใช้เครื่องมือช่วยในการออกแบบ เช่น ผังงาน (Flowchart) รหัสจำลอง (Pseudo code) เป็นต้น ซึ่งจะช่วยให้เข้าใจขั้นตอนการทำงานของโปรแกรมได้ดียิ่งขึ้น

ผังงาน (Flowchart) เป็นเครื่องมือชนิดหนึ่งที่ใช้รูปภาพแสดงถึงขั้นตอนการเขียนโปรแกรมและมีลูกศรแสดงทิศทางการไหลของข้อมูลจากจุดเริ่มต้นถึงจุดเส้นสุด
รหัสจำลอง  (Pseudo-code) ใช้แสดงขั้นตอนการเขียนโปรแกรมอย่างง่ายๆิยมเขียนด้วยภาษาอังกฤษเพราะจะคล้ายคลึงกับภาษาโปรแกรมมาก มีการใช้โครงสร้างคำสั่งเฉพาะ เช่น IF-THEN-ELSE, DO-WHILE, DO-UNTIL และจบด้วย ENDIF หรือ ENDDOสามารถแปลงเป็นโปรแกรมได้โดยง่าย
เช่น
START
                Read SIDE1, SIDE2, HEIGHT
                Compute AREA = ((SIDE1 + SIDE2)*HEIGHT)/2
                Print AREA
STOP
3. การเขียนโปรแกรม (Program Coding)
ซึ่งเป็นขั้นตอนหลังจากที่ได้มีการออกแบบโปรแกรมแล้ว ขั้นตอนนี้เป็นการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ เช่น ภาษา C ,ภาษา Pascal เป็นต้น ทั้งนี้แต่ละภาษาจะมีความเหมาะสมในการใช้งานแตกต่างกันออกไป
4. การทดสอบโปรแกรม (Program Testing)
เป็นการนำโปรแกรมที่ลงรหัสแล้วเข้าคอมพิวเตอร์ เพื่อตรวจสอบรูปแบบกฎเกณฑ์ของภาษา และผลการทำงานของโปรแกรมนั้น ถ้าพบว่ายังไม่ถูกก็แก้ไขให้ถูกต้อง   ซึ่งการเกิด Error ของโปรแกรมมักมีมาจาก 2 สาเหตุเท่านั้น คือ
1. Syntax Error คือ ข้อผิดพลาดที่เกิดจากการเขียนโค้ดคำสั่ง (Source Code) ที่ไม่ตรงกับ...ไวยากรณ์ (Syntax) ของภาษาโปรแกรมมิ่งนั้นๆ
2.  Logic Error เป็นข้อผิดพลาดที่เกิดจากการออกแบบอัลกอริทึมให้ทำงานผิดวัตถุประสงค
์
ข้อผิดพลาดของโปรแกรม เรียกว่า “Bug”                
ส่วนการแก้ไขข้อผิดพลาด เรียกว่า “Degug”                                       
โปรแกรมที่ทำงานไม่ได้ตามวัตถุประสงค์ เรียกว่ามี “Error”
5. การบำรุงรักษาโปรแกรม    (Program Maintenance)
เมื่อโปรแกรมผ่านการตรวจสอบตามขั้นตอนเรียบร้อยแล้ว และถูกนำมาให้ผู้ใช้ได้ใช้งาน ในช่วงแรกผู้ใช้อาจจะยังไม่คุ้นเคยก็อาจทำให้เกิดปัญหาขึ้นมาบ้าง ดังนั้นจึงต้องมีผู้คอยควบคุมดูแลและคอยตรวจสอบการทำงาน การบำรุงรักษาโปรแกรมจึงเป็นขั้นตอนที่ผู้เขียนโปรแกรมต้องคอยเฝ้าดูและหาข้อผิดพลาดของโปรแกรมในระหว่างที่ผู้ใช้ใช้งานโปรแกรม และปรับปรุงโปรแกรมเมื่อเกิดข้อผิดพลาดขึ้น หรือในการใช้งานโปรแกรมไปนานๆ ผู้ใช้อาจต้องการเปลี่ยนแปลงการทำงานของระบบงานเดิมเพื่อให้เหมาะกับเหตุการณ์ นักเขียนโปรแกรมก็จะต้องคอยปรับปรุงแก้ไขโปรแกรมตามความต้องการของผู้ใช้ที่เปลี่ยนแปลงไปนั่นเอง

การพัฒนาระบบสารสนเทศ


การพัฒนาระบบสารสนเทศ
ความจำเป็นในการพัฒนาระบบสารสนเทศ 
1.  การเปลี่ยนแปลงกระบวนการบริหารและการปฏิบัติงาน  ระบบเดิมไม่สามารถให้ข้อมูลหรือทำงานได้ตามต้องการ มีการดำเนินงานหลายขึ้นตอน ยุ่งยากในการรวบรวมข้อมูลเพื่อนำมาจัดทำข้อมูลสรุปสำหรับการติดตามการปฏิบัติงานโดยรวมขององค์การ จึงจำเป็นต้องพัฒนาหรือปรับปรุงระบบสารสนเทศที่สามารถช่วยให้ขั้นตอนการปฏิบัติงานภายในและกระบวนการบริหารมีประสิทธิภาพมากขึ้น
2.  การเปลี่ยนแปลงด้านเทคโนโลยี  เทคโนโลยีที่ใช้อยู่ในระบบสารสนเทศปัจจุบันล้าสมัย ค่าช้จ่ายในการบำรุงรักษาระบบมีราคาสูง จึงต้องรับเอาเทคโนโลยีใหม่ๆ มาประยุกต์ใช้ซึ่งทำให้มีการเปลี่ยนแปลงระบบการทำงานที่มีอยู่เดิม
3.  การปรับองค์การและสร้างความได้เปรียบในการแข่งขัน 
-  ระบบที่ใช้งานอยู่ปัจจุบันมีขั้นตอนการทำงานที่ยุ่งยากซับซ้อน ขนาดเอกสารอ้างอิงหรือเอกสารที่มีอยู่ไม่ได้มารตรฐาน ทำให้การปรับปรุงหรือแก้ไขทำได้ยาก
-  ความต้องการปรับองค์การให้เหมาะสมเพื่อสามารตอบสนองต่อการเปลี่ยนแปลงสภาพแวดล้อมทางธุรกิจ
-  ระบบปัจจุบันไม่สามารถรองรับการเปลี่ยนแปลงในอนาคตได้
การพัฒนาระบบประกอบด้วย
            1)  กระบวนการทางธุรกิจ (Business Process) เกี่ยวข้องกับวัตถุประสงค์ เป้าหมาย และขั้นตอนการดำเนินธุรกิจขององค์การ
            -  การปรับปรุงคุณภาพ
            -  การติดตามความล้มเหลวจากการดำเนินงาน
            -  การปรับค่าตอบแทนของพนักงานโดยใช้การปรับปรุงคุณภาพเป็นดัชนี
            -  การค้นหาและแก้ไขสาเหตุที่แท้จริงของความล้มเหลว           
2)  บุคลากร (People) 
3)  วิธีการและเทคนิค (Methodology and Technique) การเลือกใช้วิธีการและเทคนิคที่เหมาะสมกับลักษณะของระบบเป็นสิ่งสำคัญ
4)  เทคโนโลยี (Technology) เทคโนโลยีมีการเปลี่ยนแปลงอย่างรวดเร็วจึงต้องมีการพิจารณาอย่างรอบคอบในการเลือกใช้เทคโนโลยีสารสนเทศให้มีความเหมาะสมกับลักษณะขอบเขตของระบบสารสนเทศแล ะงบประมาณที่กำหนด  
5)  งบประมาณ (Budget)  
6)  ข้อมูลและโครงสร้างพื้นฐานภายในองค์การ (Infrastructure)
7)  การบริหารโครงการ (Project Management) 
                    
ทีมงานพัฒนาระบบ
การพัฒนา IT เกี่ยวข้องกับบุคคลที่มีหน้าที่รับผิดชอบกระบวนการพัฒนาระบบหลายกลุ่ม โดยทั่วไปจะมีการทำงานเป็นทีมที่ต้องอาศัยความรู้ ประสบการณ์ และทักษะจากกลุ่มบุคคล
1)  คณะกรรมการ (Steering Committee)
2)  ผู้บริหารโครงการ (Project Manager)
3)  ผู้บริหารหน่วยงานด้านสารสนเทศ (MIS Manager)
4)  นักวิเคราะห์ระบบ (System Analyst) ควรมีทักษะในด้านต่างๆ คือ
                        -  ทักษะด้านเทคนิค
                        -  ทักษะด้านการวิเคราะห์ 
                        -  ทักษะดานการบริหารจัดการ 
                        -  ทักษะด้านการติดต่อสื่อสาร
5)  ผู้ชำนาญการทางด้านเทคนิค 
                        -  ผู้บริหารฐานข้อมูล (Database Administrator : DBA)
                        -  โปรแกรมเมอร์ (Programmer)
6)  ผู้ใช้และผู้จัดการทั่วไป (User and Manager) 
หลักในการพัฒนาระบบสารสนเทศให้มีประสิทธิภาพ
1)  คำนึงถึงเจ้าของและผู้ใช้ระบบ
2)  เข้าถึงปัญหาให้ตรงจุด ซึ่งมีแนวทางการแก้ปัญหาที่เป็นระบบมีขั้นตอนดังนี้
     -  ศึกษาทำความเข้าใจในปัญหาที่เกิดขึ้น
                     -  รวบรวมและกำหนดความต้องการ
     -  หาวิธีการแก้ปัญหาหลายๆ วิธีและเลือกวิธีที่ดีที่สุด
     -  ออกแบบและทำการแก้ปัญหาตามวิธีที่เลือก
     -  สังเกตและประเมินผลกระทบจากวิธีแก้ปัญหาที่นำมาใช้ และปรับปรุงวิธีการให้มีประสิทธิภาพมากที่สุด
3)  กำหนดขั้นตอนหรือกิจกรรมในการพัฒนาระบบ
4)  กำหนดมาตรฐานในการพัฒนาระบบ
5)  ตระหนักว่าการพัฒนาระบบเป็นการลงทุนประเภทหนึ่ง
6)  เตรียมความพร้อมหากจะต้องยกเลิกหรือทบทวนระบบสารสนเทศที่กำลังพัฒนา
7)  แตกระบบสารสนเทศที่จะพัฒนาออกเป็นระบบย่อย
8)  ออกแบบระบบให้สามารถรองรับต่อการขยายหรือการปรับเปลี่ยนในอนาคต

 ขั้นตอนในการพัฒนาระบบสารสนเทศ 
-  การกำหนดและเลือกโครงการ (System Identification and Selection)
          -  การเริ่มต้นและวางแผนโครงการ (System Initiation and Planning)
-  การวิเคราะห์ระบบ (System Analysis)
-  การออกแบบระบบ (System Design)
          -  การพัฒนาและติดตั้งระบบ (System Implementation)
-  การบำรุงรักษาระบบ (System Maintenance)

การพัฒนาระบบมีรูปแบบต่างๆ
1.  การพัฒนาระบบแบบน้ำตก (Waterfall Model) แต่ละขั้นตอนของการพัฒนาระบบจะเริ่มได้ก็ต่อเมื่อได้ทำขั้นตอนก่อนหน้านี้เสร็จเรียบร้อยและจะไม่ย้อนกลับไปทำขั้นตอนก่อนหน้านี้อีก
          2.  การพัฒนาระบบแบบน้ำตกที่ย้อนกลับขั้นตอนได้ (Adapted Waterfall ) เป็นรูปแบบการพัฒนาที่หากดำเนินการในขั้นตอนใดอยู่สามารถย้อนกลับไปขั้นตอนก่อนหน้านี้ได้เพื่อแก้ไขข้อผิดพลาดหรือ   
          เพื่อต้องการความชัดเจน
3. การพัฒนาระบบอย่างรวดเร็ว (Rapid Application Development) เป็นรูปแบบการพัฒนาที่มีการทำซ้ำบางขั้นตอนจนกว่าขั้นตอนต่างๆ ของระบบที่สร้างจะได้รับการยอมรับ
4. การพัฒนาระบบในรูปแบบขดลวด (Evolutionary Model SDLC)  เป็นการพัฒนาระบบแบบวนรอบเพื่อให้การพัฒนาระบบมีความรวดเร็วโดยการพัฒนาระบบจะเริ่มจากแกนกลาง ในรอบแรกของการพัฒนาจะได้  ระบบรุ่น(Version) แรกออกมาและจะปรับปรุงให้ดีขึ้นในรุ่นที่สอง และดำเนินการแบบนี้ไปเรื่อยๆจนกว่าจะได้รุ่นที่สมบูรณ์ 


วงจรการพัฒนาระบบ
Phase 1  การกำหนดและเลือกสรรโครงการ  (System Identification and Selection) ผลของการพิจารณาของคณะกรรมการอาจเป็นไปได้ดังนี้
            -  อนุมัติโครงการ
            -  ชะลอโครงการ
            -  ทบทวนโครงการ
            -  ไม่อนุมัติโครงการ

Phase 2  การเริ่มต้นและวางแผนโครงการ  (System Initiation and Planning) จะเริ่มจัดทำโครงการ  โดยจัดตั้งทีมงานพร้อมทั้งกำหนดหน้าที่และความรับผิดชอบ
-     การศึกษาความเป็นไปได้
-     การพิจารณาผลประโยชน์หรือผลตอบแทนที่จะได้รับจากโครงการ
-     การพิจารณาค่าใช้จ่ายหรือต้นทุนของโครงการ
-     การวิเคราะห์ความคุ้มค่าของการพัฒนาระบบสารสนเทศ

Phase 3  การวิเคราะห์ระบบ (System Analysis) ในขั้นตอนนี้จะเกี่ยวกับการเก็บข้อมูล
-     Fact-Finding Technique
-     Joint Application Design (JAD)
-     การสร้างต้นแบบ 

Phase 4  การออกแบบระบบ (System Design) การออกแบบแบ่งเป็น 2 ส่วน
-     การออกแบบเชิงตรรกะ (Logical Design)
-     การออกแบบเชิงกายภาพ (Physical Design)

Phase 5  การดำเนินการระบบ (System Implementation) ซึ่งจะครอบคลุมกิจกรรมดังต่อไปนี้
-     จัดซื้อหรือจัดหาฮาร์ดแวร์ (Hardware) และซอฟต์แวร์ (Solfware)
-     เขียนโปรแกรมโดยโปรแกรมเมอร์ (Coding)
-     ทำการทดสอบ (Testing)
-     การจัดทำเอกสารระบบ (Documentation)
-     การถ่ายโอนระบบงาน (System Conversion)
-     ฝึกอบรมผู้ใช้ระบบ (Training)

Phase 6  การบำรุงรักษาระบบ (System Maintenance)
            เป็นขั้นตอนการดูและระบบเพื่อให้ระบบมีประสิทธิภาพในการทำงานโดยบุคลากรทางด้านเทคโนโลยีสารสนเทศมีหน้าที่ในส่วนนี้
การบำรุงรักษาระบบแบ่งได้ 4 ประเภท
-     Corrective Maintenance เพื่อแก้ไขข้อผิดพลาดของระบบ
-     Adaptive Maintenance  เพื่อให้ระบบสามารถรองรับความต้องการที่เพิ่มขึ้น
-     Perfective Maintenance  เพื่อบำรุงรักษาระบบให้ทำงานได้อย่างมีประสิทธิภาพ
-     Preventive Maintenance  เพื่อบำรุงรักษาระบบป้องกันข้อผิดพลาดที่จะเกิด
 วิธีการพัฒนาระบบสารสนเทศ
1)  การพัฒนาระบบงานแบบดั้งเดิม (Traditional SDLC Methodology) เป็นการพัฒนาระบบสารสนเทศตามวงจรการพัฒนาระบบที่มีขั้นตอนที่แน่นอน วิธีนี้เป็นวิธีเก่าแก่ที่สุดและนิยมเรียกย่อๆ ว่า SDLC
2)  การสร้างต้นแบบ (Prototyping) เป็นการสร้างระบบต้นแบบขึ้นมาเพื่อให้ผู้ใช้ทดลองใช้งานซึ่งนอกจากผู้ใช้จะได้แนวคิดเกี่ยวกับสารสนเทศที่ต้องการแล้วยังช่วยให้มองเห็นภาพของระบบที่จะพัฒนาได้ชัดเจนขึ้น
การพัฒนาระบบโดยใช้ตนแบบแบงออกเป็น 4 ขั้นตอน
ขั้นที่ 1 :  ระบุความต้องการเบื้องต้นของผู้ใช้
ขั้นที่ 2 :  พัฒนาต้นแบบเริ่มแรก
ขั้นที่ 3 :  นำต้นแบบมาใช้
ขั้นที่ 4 :  ปรับปรุงแก้ไขต้นแบบ
3)  การพัฒนาระบบโดยผู้ใช้ (End-user Development)
4)  การใช้บริการจากแหล่งภายนอก (Outsourcing) เนื่องจากองค์การไม่มีบุคลากรที่มีทักษะความชำนาญ การจ้างหน่วยงานหรือบริษัทภายนอกที่มีความชำนาญด้านนี้มาทำการพัฒนาระบบให้ ซึ่งการทำสัญญาจ้างให้หน่วยงานภายนอกมาทำงานเกี่ยวกับการดำเนินงานของฝ่ายคอมพิวเตอร์นี้เรียกว่า IT Outsourcing ในที่นี้จะเรียกสั้นๆ ว่า Outsourcing
5)  การใช้ซอฟแวร์สำเร็จรูปประยุกต์ (Application Software Package) เป็นทางเลือกหนึ่งในการพัฒนา เช่น ระบบงานเงินเดือน ระบบบัญชีลูกหนี้ หรือระบบควบคุมสินค้าคลคลัง หากซอฟต์แวร์สำเร็จรูปสามารถสนองต่อความต้องการระบบงานขององค์การได้ องค์การก้ไม่จำเป็นต้องพัฒนาขึ้นเอง เนื่องจากโปรแกรมสำเร็จรูปได้รับการออกแบบและผ่านการทดสอบแล้ว จึงช่วยลดค่าใช่จ่ายและเวลาในการพัฒนาระบบใหม่และยังช่วยให้การทดสอบ การติดตั้ง และการบำรุงรักษาระบบเป็นไปได้ง่ายขึ้น

การพัฒนาระบบแบบออบเจ็กต์ (Object-Oriented Methodology)
            ประกอบด้วยกลุ่มของวัตถุ (Class of Objects) ซึ่งทำงานร่วมกัน มีการจัดกลุ่มของข้อมูลและพฤติกรรมหรือฟังก์ชันที่กระทำกับข้อมูลนั้นเป็นกลุ่มๆ ในรูปของออบเจ็กต์ เนื่องจากออบเจ็กต์มีคุณสมบัติในการนำกลับมาใช้ใหม่ได้ (Reusability) การพัฒนาโปรแกรมแบบออบเจ็กต์จึงใช้เวลาในการพัฒนาน้อยกว่าวิธีอื่น

การพัฒนาระบบงานประยุกต์แบบรวดเร็ว (Rapid Application Development) เป็นขั้นตอนในการพัฒนาระบบที่ใช้ระยะเวลาในการพัฒนารวดเร็วกว่าและคุณภาพดีกว่าวิธีพัฒนาระบบงานแบบดั้งเดิม  โดยมีการนำเครื่องมือซอฟต์แวร์มาช่วยในการพัฒนาระบบซึ่งมีขั้นตอนในการพัฒนาระบบอยู่ 4 ขั้นตอนคือ
1)  การกำหนดความต้องการ
2)  การออกแบบโดยผู้ใช้
3)  การสร้างระบบ
4)  การเปลี่ยนระบบหรือใช้ระบบ

ปัจจัยที่มีผลต่อการพัฒนาระบบสารสนเทศให้ประสบความสำเร็จ
1)  การสนับสนุนจากฝ่ายบริหาร
2)  การกำหนดขอบเขตและวัตถุประสงค์ที่ชัดเจน
3)  ความรู้ ความสามารถและประสบการณ์ของทีมพัฒนาระบบ
4)  การเลือกใช้เทคโนโลยีสารสนเทศที่เหมาะสม
5)  การบริหารโครงการพัฒนาระบบสารสนเทศอย่างมีประสิทธิภาพ

ระบบเลขฐานเเละตรรกศาสตร์

ระบบเลขฐาน 

เลขฐาน หมายถึงกลุ่มข้อมูลที่มีจำนวนหลัก (Digit) ตามชื่อของฐาน
นั้นๆเช่น เลขฐานสอง ฐานแปด และฐานสิบ ประกอบด้วยข้อมูลตัวเลขจำนวนสองหลัก (0-1) แปดหลัก (0-7) และสิบหลัก (0-9) ตามลำดับ ดังรูปในตารางที่ 1
ในระบบคอมพิวเตอร์มีการใช้ระบบเลขฐาน 4 แบบ ประกอบด้วย
1).เลขฐานสอง (Binary Number)
2).เลขฐานแปด (Octal Number)
3).เลขฐานสิบ (Decimal Number)
4).เลขฐานสิบหก (Hexadecimal Number) 

ตารางที่ 1 แสดงจำนวนตัวเลข ของเลขฐานต่างๆ



1).เลขฐานสอง

คือตัวเลขที่มีค่าไม่ซ้ำกันสองหลัก ( 0 และ 1) เป็นเลขฐานเดียวที่เข้ากันได้กับ Hardware ของเครื่องคอมพิวเตอร์ได้โดยตรง เพราะการใช้เลขฐานอื่น จะสร้างความยุ่งยากให้กับเครื่องคอมพิวเตอร์อย่างมาก เช่น เลขฐานสิบมีตัวเลขที่เป็นสถานะที่ต่างกันถึง 10 ตัว ในขณะที่ระบบไฟฟ้ามีเพียง 2 สถานะ ซึ่งในช่วงเวลาหนึ่งๆมีเพียงสถานะเดียวเท่านั้น แต่ละหลักของเลขฐานสอง เรียกว่า Binary Digit (BIT)

2).เลขฐานแปด

เลขฐานแปด มีความสัมพันธ์กับเลขฐานสอง คือ เลขฐานสองจำนวน 3 หลัก แทนด้วยเลข
ฐานแปด 1 หลัก ดังนั้นเราจึงสามารถเขียนเลขฐานสอง 6 บิท แทนด้วยเลขฐานแปด 2 บิท การใช้เลขฐานแปดแทนเลขฐานสองทำให้จำนวนบิทสั้นลง 

3).เลขฐานสิบ 

คือตัวเลขที่มีค่าไม่ซ้ำกันสิบหลัก (0,1,2,…,9) เป็นเลขฐานที่มนุษย์คุ้นเคยและใช้ในชีวิตประจำวันมากที่สุด ตัวเลขที่มีจำนวนมากกว่า 9 ให้ใช้ 10 ซึ่งเป็นการกลับไปใช้เลข 1 และ 0 อีก เพียงแต่ค่าของ 1 เปลี่ยนไปเป็น 10 เท่าของตัวมันเอง เช่น 333 (สามร้อยสามสิบสาม) แม้จะใช้ตัวเลข 3 ทั้งหมด แต่ตำแหน่งของตัวเลขย่อมมีความหมายตามตำแหน่งของแต่ละหลักนั้น กล่าวคือ หลักหน่วยน้อยกว่าหลักสิบ 10 เท่า หลักสิบน้อยกว่าหลักร้อย 10 เท่า ตามลำดับ

4).เลขฐานสิบหก 

เลขฐานสิบหก มีความสัมพันธ์กับเลขฐานสอง คือ เลขฐานสองจำนวน 4 หลัก แทนด้วย
เลขฐานสิบหก 1 หลัก ดังนั้นเราจึงสามารถเขียนเลขฐานสอง 8 บิทแทนด้วยเลขฐานสิบหก 2 บิท การใช้เลขฐานสิบหกแทนเลขฐานสองทำให้จำนวนบิทสั้นลง
การเปลี่ยนฐานเลข (Base Number Conversion)

เนื่องจากตัวเลขในแต่ละฐานมี ค่าคงที่เฉพาะ ในแต่ละหลักของตัวเอง เช่นตัวเลข 100 มีค่าเท่ากับหนึ่งร้อยในระบบเลขฐานสิบ แต่ตัวเลข 100 ในระบบ
เลขฐานสอง (อ่านว่า หนึ่ง-ศูนย์-หนึ่ง) ซึ่งมีค่าเท่ากับ 4 เป็นต้น ดังนั้น จึงไม่สามารถนำค่าของเลขฐานใดๆ ไปคำนวณเปรียบเทียบ กับเลขฐานอื่นได้โดยตรง 
เมื่อต้องการคำนวณหรือเปรียบเทียบตัวเลข (ประมวลผล) จำเป็นต้องเปลี่ยนฐานเลขเหล่านั้นให้เป็นฐานเดียวกันก่อน การเปลี่ยนฐานเลขสามารถกระทำได้
หลายวิธี ในหน่วยเรียนนี้จะใช้วิธีที่สะดวกที่สุดวิธีหนึ่ง ดังนี้ 
ก่อนเปลี่ยนฐานเลขใดๆ จำเป็นต้องทราบค่าคง ที่เฉพาะในแต่ละหลักของเลขฐานสองดังนี้


ตาราง แสดงค่าคงที่เฉพาะในแต่ละหลักของเลขฐานสอง


จากตาราง พบว่าค่าคงที่เฉพาะ จะมีค่าเป็น 2 เท่า จากขวาไปซ้าย 
การเปลี่ยนเลขฐานสอง เป็นเลขฐานสิบ
ให้นำค่าคงที่เฉพาะที่ตรงกับเลข 1 ของฐานสองมารวมกัน เช่นจำนวน (11010)2ประกอบด้วยเลข “1” จำนวน 3 ตัว
เมื่อนำค่าคงที่เฉพาะที่ตรงกับเลข 1 มารวมกัน ทำให้ได้จำนวนในฐานสิบเป็น 16+8+2 = 26 ดังนี้ 



นอกจากนี้การเปลี่ยนเลขฐานสองให้เป็นเลขฐานสิบยังสามารถทำได้โดย นำตัวเลขในแต่ละตำแหน่งคูณด้วยค่าประจำตำแหน่งแล้วนำมารวมกัน 

ค่าประจำตำแหน่งของเลขฐานสองเริ่มตั้งแต่ 20,21,22,…
ตัวอย่างเช่น 
(1011)2 = (1x23)+(0x22)+(1x21)+(1x20)
= (1x8)+(0x4)+(1x2)+(1x1)
= 8+0+2+1
= 11

การเปลี่ยนเลขฐานสิบ เป็นเลขฐานสอง

ให้พิจารณานำค่าคงที่เฉพาะหลักใดๆมารวมกัน เพื่อให้ได้ค่าเท่ากับเลขฐานสิบที่กำหนด จากนั้นเติมเลข “1“ ณ ตำแหน่งที่นำตัวเลขมารวมนั้น เช่น (26)10จะต้องใช้ค่าคงที่เฉพาะรวมกัน 3 หลัก (16+8+2) ดังนั้นจึงเติม “1” ณ ตำแหน่ง

16,8 และ 2 ตามลำดับ ส่วนตำแหน่งที่เหลือให้เติม “0” 



นอกจากนี้ยังสามารถเปลี่ยนค่าจากเลขฐานสิบให้เป็นฐานสอง โดยการหารเลขฐานสิบด้วยสองไปเรื่อยๆจะได้เศษจากการหาร คือ เลขฐานสอง ที่ต้องการ ตำแหน่งของเศษที่เกิดจากการหารก็คือกำลังของเลขฐานสอง นั่นคือเศษที่ได้จากการหารครั้งแรกจะคูณด้วย 20 เศษที่ได้จากการหารด้วย 2 ครั้งที่ 2 จะคูณด้วย 2 1เป็นต้น 
ตัวอย่างเช่น

การเปลี่ยนระหว่างเลขฐานอื่น (ระหว่างฐานสอง ฐานแปด ฐานสิบ และฐานสิบหก)

ในที่นี้จะได้อธิบายถึงการเปลี่ยนฐานเลข ระหว่างเลขฐานสอง ฐานแปด ฐานสิบ และฐานสิบหก ซึ่งใช้ในระบบคอมพิวเตอร์ทั่วไป โดยมีหลักการเบื้องต้น 3 ประการ ดังนี้

(a) เปลี่ยนเลขฐานจากโจทย์ ไปสู่เลขฐานสองก่อน (ใช้เลขฐานสองเป็นตัวเชื่อมไปสู่เลข ฐานอื่น)

(b) เลขฐานแปด 1 หลัก ประกอบด้วยเลขฐานสอง 3 หลัก คือ (111) 2
(เนื่องจากเลขฐานแปด ต้องมีค่าไม่เกิน 7)

(c) เลขฐานสิบหก 1 หลัก ประกอบด้วยเลขฐานสอง 4 หลัก คือ (1111) 2 

1 1 1 1 

(เนื่องจากเลขฐานสิบหก ต้องมีค่าไม่เกิน 15)


ตัวอย่างที่ 7 (75) 8 = (?)10
ตัวอย่างที่ 7 (75) 8 = (?)10

-- ใช้หลักการ (a) เปลี่ยนเลขฐานแปด เป็นเลขฐานสอง ดังนี้

-- แยก (75) 8 ออกเป็น 2 กลุ่มๆละ 3 หลัก ตามหลักการข้อ (b) โดยแยก 7 และ 5 ออกจากกัน ดังนี้

-- เปลี่ยนเลขฐานสองที่ได้ เป็นเลขฐานสิบดังนี้ (111101)2 = (?)10

ตัวอย่างที่ 8 (4C)16 = (?)10 
-- แยก (4C) 16 ออกเป็น 2 กลุ่มๆละ 4 หลัก ตามหลักการข้อ (c) ดังนี้
 

ทำให้ได้จำนวนเลขในรูปของเลขฐานสองเท่ากับ (1001100)2 
-- เปลี่ยนเลขฐานสองที่ได้ เป็นเลขฐานสิบดังนี้ (1001100)2 = (?)10 


(1001100) 2 = (64+8+4) 10 = (76) 10
\ (4C)16 = (76) 10




การแปลงเลขเศษส่วนในระบบเลขฐานสิบเป็นฐานสอง

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


ตัวอย่างที่ 9 จงแปลงจำนวน 159.356 ให้เป็นจำนวนในระบบเลขฐานสองกำหนดผลลัพธ์ไม่เกิน 8 หลัก

-- จำนวนที่กำหนดให้มีสองส่วนคือ ส่วนที่เป็นจำนวนเต็มได้แก่ 
159 แปลงเป็นจำนวนในระบบฐานสองได้ 159 = (10100001)2
-- เศษส่วนคือ .356 ทำการแปลงไปสู่ระบบเลขฐานสองด้วยการคูณด้วย
2 เก็บผลลัพธ์จากตัวแรกไปยังตัวสุดท้าย ดังนี้



ผลลัพธ์คือ ตัวทดที่ได้จากการคูณตามลำดับตั้งแต่ครั้งที่ 1 ไปจนถึงครั้งสุดท้าย (ตามลูกศร) โดยให้เขียนจุดแสดงเศษข้างหน้า
159.356 ป (10100001.01011) 2

ตัวอย่างนี้ แสดงเศษส่วนไว้เพียง 5 ตำแหน่ง ให้สังเกตว่าค่า ( .01011) 2 ไม่เรียกว่าเป็น
ค่าหลังจุดทศนิยม เพราะว่าจุดทศนิยมใช้สำหรับจำนวนในระบบเลขฐานสิบเท่านั้น เศษในระบบฐานสองข้างต้นนี้มีค่าไม่เท่ากับ .356 แต่เป็นเพียงค่าประมาณ(ที่น้อยกว่า)เท่านั้น

การแปลงจำนวนจากฐานหนึ่งไปยังอีกฐานหนึ่งเป็นต้นเหตุสำคัญของการเกิดค่าคลาดเคลื่อน (error) 
ในการคำนวณต่างๆซึ่งเป็นสิ่งที่ต้องระมัดระวังมาก

ตรรกศาสตร์ 
ตรรกศาสตร์พื้นฐาน

1.คุณสมบัติของตรรกศาสตร์พื้นฐาน
1.1ประพจน์ (Propostion)
คือ ข้อความที่เป็นจริงหรือเป็นเท็จเพียงอย่างเดียวเท่านั้น
ตัวอย่างที่เป็นประพจน์
P : 15 + 5 = 20
Q : วันนี้อากาศหนาว
R : สัปดาห์หนึ่งมี 8 วัน
S : คนทุกคนเป็นอมตะ
ตัวอย่างที่ไม่เป็นประพจน์
ช่วยเปิดไฟให้หน่อย
ห้ามรบกวน
การแทนประพจน์จะใช้สัญลักษณ์ p, q, r … เพื่อแทนประพจน์ที่แตกต่างกัน ข้อความที่มีกริยาเพียงตัวเดียวและเป็นประพจน์ จะเรียกว่าประพจน์เบื้องต้น

1.2. การเชื่อมประพจน์
โดยปกติเมื่อกล่าวถึงข้อความหรือประโยคนั้นมักจะมีกริยามากกว่าหนึ่งตัว แสดงว่าได้นำ
ประโยคมาเชื่อมกันมากว่าหนึ่งประโยค ดังนั้นถ้านำประพจน์มาเชื่อมกันก็จะได้ประพจน์ใหม่ซึ่งสามารถบอกได้ว่าเป็นจริงหรือเป็นเท็จ ตัวเชื่อมประพจน์มีอยู่ 5 ตัว และตัวเชื่อมที่ใช้กันมากคือ 
“และ” “หรือ” “ไม่” ที่เหลืออีกสองตัวคือ “ถ้า…แล้ว…” และ “…ก็ต่อเมื่อ…” เมื่อนำประพจน์เชื่อมด้วยตัวเชื่อม และ ,หรือ, ถ้า…แล้ว, …ก็ต่อเมื่อ 
โดยที่ถ้า p และ q แทนประพจน์ จะเขียน



ถ้ากำหนดให้ T แทนค่าความจริงของประพจน์ที่เป็นจริง
F แทนค่าความจริงของประพจน์ที่เป็นเท็จ
และ p, q แทนประพจน์ใดๆ ที่ยังไม่ได้ระบุข้อความหรือแทนค่าข้อความลงไป
ประพจน์ p ู q จะเรียกว่าข้อความร่วม (conjugate statement) และจะสามารถเขียนตารางค่าความจริงของประพจน์ p ู q ได้ดังนี้


จากตารางจะพบว่า ค่าความจริงของประพจน์ p ู q จะเป็นจริงถ้าประพจน์ทั้งสองเป็นจริงนอกนั้นจะเป็นเท็จ


ประพจน์ p ฺ q เรียกว่าข้อความเลือก (disjunctive statement) เป็นข้อความที่เป็นจริงถ้า p หรือ q เป็นอย่างน้อยที่สุดหนึ่งประพจน์ แต่จะไม่เป็นจริงเมื่อทั้งสองประพจน์เป็นเท็จ ตารางค่าความจริงของ p ฺ q สามารถเขียนได้ดังนี้


ประพจน์ ~p เรียกว่านิเสธ (negation) p หมายถึงไม่เป็นจริงสำหรับ p จะเป็นจริงเมื่อ p เป็นเท็จและจะเป็นเท็จเมื่อ p เป็นจริง ตารางค่าความจริงของ ~p เป็นดังนี้


ประพจน์ p ฎ q เรียกว่าประโยคเงื่อนไขหรือข้อความแจงเหตุสู่ผล (conditional statement) ประพจน์ p เรียกว่าเหตุตัวเงื่อนและ q เป็นผลสรุป
เช่น p : นุ่นไปเที่ยวนอกบ้าน
q : คุณพ่อโทรศัพท์ตาม
ดังนั้น p ฎ q : ถ้านุ่นไปเที่ยวนอกบ้านแล้วคุณพ่อโทรศัพท์ตาม
จากการตรวจสอบเงื่อนไขนี้จะพบว่าประพจน์นี้จะเป็นเท็จกรณีเดียวคือ นุ่นไปเที่ยวนอกบ้านแต่คุณพ่อไม่โทรศัพท์ตาม ดังนั้นจะสามารถแสดงตารางค่าความจริงของประพจน์ p ฎ q ได้ดังนี้


ประพจน์ p ซq เรียกว่าประโยคเงื่อนไขสองทาง (biconditional statement) คือ ประพจน์ที่มีความหมายเหมือนกับ (p ฎ q) ู (q ฎ p) เนื่องจาก (p ฎ q) และ (q ฎ p) เชื่อมด้วยคำว่า “และ” ดังนั้น p ซq จะมีค่าความจริงเป็นจริงต่อเมื่อประพจน์ p และประพจน์ q มีค่าความจริงเหมือนกัน ดังตารางต่อไปนี้



จากตารางค่าความจริงของประพจน์ที่มีตัวเชื่อมทั้ง 5จะพบว่า
1. ~ p มีค่าความจริงตรงกันข้ามกับค่าความเป็นจริงของ p
2. p ู q เป็น T กรณีเดียวคือกรณีที่ทั้ง p และ q เป็น T
3. p ฺ q เป็น F กรณีเดียวคือกรณีที่ทั้ง p และ q เป็น F
4. p ฎ q เป็น F กรณีเดียวคือกรณีที่ทั้ง p เป็น T และ q เป็น F
5. p ซ q เป็น T เมื่อ p และ q มีค่าความจริงเหมือนกัน 


1.3. สัจนิรันดร์ (Tautology)

หมายถึงประพจน์ผสมที่มีค่าความจริงเป็นจริงทุกกรณี ไม่ว่าจะประกอบขึ้นจากประพจน์ย่อยที่มีค่าความจริงเป็นอย่างไร อาทิเช่น


การทดสอบว่าประพจน์ใดเป็นสัจนิรันดร์หรือไม่ ทำได้ 2 วิธีคือ
1. ใช้ตารางค่าความจริง เพื่อดูว่ามีค่าความจริงเป็นจริงทุกกรณีจริงหรือไม่
2. ใช้การทำ Contradiction คือการบังคับให้ประพจน์นั้นเป็นเท็จ ถ้าสามารถทำให้ประพจน์นั้นเป็นเท็จได้สำเร็จ แสดงว่าประพจน์นั้นไม่เป็นสัจนิรันดร์ แต่ถ้าไม่สามารถบังคับให้ประพจน์นั้นเป็นเท็จได้ ประพจน์นั้นจะเป็นสัจนิรันดร์ทันที

1.4. กฎของการแทนที่ กฎของการแทนที่เป็นกฎที่ใช้แทนที่กันได้เนื่องจากเป็นข้อความที่สมมูลกัน มีดังต่อไปนี้


ทฤษฎีพื้นฐานของพีชคณิตบูลีน