งานชิ้น 3 แนะนำตัวเอง

เพลงนาทีเดียวเพื่อรัก ทั้งชีวิตเพื่อลืม

สอนขี่มอเตอร์ไซด์

รูปแบบโครงสร้างการทำงาน

เรื่องที่ 5 รูปแบบโครงสร้างการทำงาน

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

ตัวอย่างการเปลี่ยนจากผังงานเป็นการอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความ

จากรูป มีกระบวนการทำงานทั้งหมด 5 กระบวนการ สามารถเขียนการอธิบายขั้นตอนวิธีการทำงานในลักษณะข้อความ ได้ดังนี้
1. เริ่มต้นการทำงาน 2. รับค่า Base และ High 3. คำนวณค่าของ Answer เท่ากับ 0.5*Base*High 4. แสดงค่าของ Answer 5. จบการทำงาน
ตัวอย่าง การเปลี่ยนจากผังงานเป็นการอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความ
จากรูป มีกระบวนการทำงานทั้งหมด 5 กระบวนการ สามารถเขียนการอธิบายขั้นตอนวิธีการทำงานในลักษณะข้อความ ได้ดังนี้
1. เริ่มต้นการทำงาน 2. รับค่า Radian 3. คำนวณค่าของ Answer เท่ากับ 2*3.14*Radian 4. แสดงค่าของ Answer 5. จบการทำงาน
รหัสเทียมกับการทำงานแบบลำดับ หลังจากที่ทำการเขียนอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความจากผังงานเสร็จเรียบร้อยแล้ว ขั้นตอนต่อไปคือ การเปลี่ยนจากการอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความเป็นรหัสเทียม โดยทำการเปลี่ยนจากขั้นตอนวิธีการทำงานหนึ่งการทำงานให้เป็นรหัสเทียมจำนวนหนึ่งรหัสเทียม การเขียนรหัสเทียมสำหรับการอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความ มีดังนี้

ตัวอย่าง การเปลี่ยนจากการอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความเป็นรหัสเทียม
อ้างอิง

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

เรื่องที่ 4 การเขียนผังงาน

 

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

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

การเขียน Flowchart แบบโครงสร้าง การเขียน Flowchart แบบโครงสร้างมีประโยชน์คือทำให้การไล่ขั้นตอนการทำงานทำได้ง่ายและเป็นระเบียบ ซึ่งมีหลักการเขียนอยู่ สามข้อ คือ • Sequence • Selection • Iteration|
SEQUENCE คือ เป็นการทำงานแบบเรียงลำดับ ตั้งแต่ต้นจนจบ เป็นรูปแบบง่าย ๆ ไม่มีการเปรียบเทียบใด ๆ มีทิศทางการไหลของข้อมูลเพียงทางเดียว ซึ่งอาจจะเป็นแบบบนลงล่าง หรือ จากซ้ายไปขวาก็ได้
เช่น การให้คำนวณหาพื้นที่ของสี่เหลี่ยมผืนผ้า

อ้างอิง

http://web.sansai.ac.th/c++/ex2.html#top

ขั้นตอนการทำงาน และรหัสจำลอง

เรื่องที่ 3 ขั้นตอนการทำงานแลรหัสจำลอง

ขั้นตอนการทำงานและรหัสจำลอง(Pseudocodes)

เริ่มต้นทำงานขั้นตอนแรกด้วยการเขียนโปรแกรมลงบนเอดิเตอร์ที่เรียกว่า Source code แล้วทำการบันทึกไฟล์ เมื่อบันทึกเสร็จแล้วให้ทำการคอมไพล์โปรแกรมเพื่อแปลง Source Code ให้เป็น Object Code แล้วโปรแกรมจะทำการ Link เชื่อต่อกับชุดคำสั่งเสริมที่อยู่ใน Library file ถ้าไม่มีข้อผิดพลาดจะได้ไฟล์ที่มีส่วนขยายเป็น EXE สามารถรันโปรแกรมใช้งานได้

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

ข้อตกลงในการเขียนรหัสจำ ลอง

1. ในการอธิบายการทำ งานใช้คำ สั่งซึ่งเป็นคำ กริยาในภาษาอังกฤษ เช่น MOVE INITIALIZE READ WRITE SUBTRACT ADD DISPLAY COMPUTE เป็นต้น

2. คำ สั่งหลาย ๆ คำ สั่งรวมเรียกว่า มอดูล หรือ กระบวนการ กำ หนดชื่อให้มอดูล นั้น แล้วใช้ do นำ หน้า

3. การทำ งานใด ๆ จะเขียนคำ สั่งเป็นบรรทัด ๆ ไป เรียงเป็นลำ ดับ Statement-1 Statement-2 . . . . Statement-n

4. การทำ งานตามเงื่อนไข เป็นการทำ งานที่ เมื่อทดสอบเงื่อนไขแล้ว จะเลือก ทำ ทางใดทางหนึ่งเท่านั้น เช่น IF Condition      THEN           Statement-1      ELSE           Statement-2      ENDIF

อธิบายคำ สั่งได้ดังนี้ คำ สั่ง IF เป็นการตรวจสอบเงื่อนไข หากเงื่อนไขเป็นจริง จะทำ คำ สั่งที่ 1 แต่ หากเงื่อนไขเป็นเท็จ จะทำ คำ สั่งที่ 2

5. การวนรอบ เป็นการวนรอบซํ้าตามจำ นวนที่ต้องการ ซึ่งการวนรอบมีหลาย ลักษณะดังนี้

– REPEAT FOR วนรอบซํ้า เท่าจำ นวนรอบที่ระบุ คือรู้จำ นวนรอบที่ แน่นอน      REPEAT FOR n TIMES           Statement-1           Statement-2      ENDFOR

อธิบายคำ สั่งได้ดังนี้ คำ สั่ง FOR เป็นการวนรอบซํ้าเป็นจำ นวน n ครั้ง เพื่อทำ คำ สั่งที่ 1 คำ สั่งที่ 2

– REPEAT UNTIL วนรอบซํ้า จนกระทั่ง เงื่อนไขที่กำ หนดเป็นจริง จึง      เสร็จสิ้น           REPEAT                Statement-1                Statement-2           UNTIL condition

อธิบายคำ สั่งได้ดังนี้ คำ สั่ง REPART UNTIL เป็นการวนรอบซํ้าในขณะที่เงื่อนไขเป็นเท็จ เพื่อทำ คำ สั่งที่ 1 คำ สั่งที่ 2 แต่หากเงื่อนไขเป็นจริง ก็จบการวนซํ้า

– REPEAT WHILE วนรอบซํ้าในขณะที่เงื่อนเป็นจริง

REPEAT WHILE condition           Statement-1           Statement-2      END REPEAT

อธิบายคำ สั่งได้ดังนี้ คำ สั่ง REPART WHILE เป็นการวนรอบซํ้าในขณะที่เงื่อนไขเป็นจริงเพื่อทำ คำ สั่งที่ 1 คำ สั่งที่ 2 แต่หากเงื่อนไขเป็นเท็จก็จบการวนซํ้า ตัวอย่างการเขียน รหัสจำ ลอง 1) ให้นับจำ นวนนักศึกษาที่อายุ มากกว่า หรือเท่ากับ 18 ปี และจำ นวนนัก ศึกษาที่อายุ น้อยกว่า 18 ปี

IF student’s age >= 18          THEN AdultCounter = AdultCounter + 1          ELSE JuniorCounter = JuniorCounter + 1 ENDIF

2) ให้นับจำ นวนพนักงานหญิง และพนักงานชาย โดยนับจากข้อมูลรหัสเพศ และ ตรวจ

สอบด้วยว่าข้อมูลรหัสเพศที่ไม่ถูกต้องมีกี่คน

IF employee’s sex is female      THEN FemaleCounter = FemaleCounter + 1   ELSE IF employee’s sex is male      THEN MaleCounter = MaleCounter + 1 ELSE ErrorCounter = ErrorCounter + 1 ENDIF ENDIF

3) ให้นับจำ นวนชั่วโมงการทำ งานที่เกิน 40 ชั่วโมง IF hour worked > 40 THEN OverTimeCounter = OverTimeCounter + 1 ENDIF 4) จงเขียนรหัสจำ ลองหาพื้นที่ของวงกลม กำ หนดให้ สูตรพื้นที่วงกลม = 3.1415 x รัศมี x รัศมี      Area of cycle      Read radius      Compute Area = 3.1415 * radius * radius      Display Area      End

5) ทำ การวนรอบเพื่อพิมพ์รายชื่อลูกค้าจำ นวน 5 คน Print Heading Initialize Counter to 1 Repeat Read CustName Print CustName Increment Counter by 1 Until Counter equals 5 End

6) ทำ การวนรอบเพื่อพิมพ์ชื่อและที่อยู่ของลูกค้าจนหมดแฟ้มข้อมูล Print Heading Read CustRecord Repeat While not EndOfFile Print CustName , CustAddress Read CustRecord EndRepeat

 

อ้างอิง

http://katilove.wordpress.com/2012/08/28/%E0%B8%82%E0%B8%B1%E0%B9%89%E0%B8%99%E0%B8%95%E0%B8%AD%E0%B8%99%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3%E0%B8%87%E0%B8%B2%E0%B8%99%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B8%A3%E0%B8%AB%E0%B8%B1%E0%B8%AA/

 

 

 

 

 

 

 

ตัวแปลภาษาและข้อผิดพลาด

เรื่องที่ 2 ตัวแปลภาษาและข้อผิดพลาด

ตัวแปลภาษาและความผิดพลาด

 

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

คอมไพเลอร์ (อังกฤษ: compiler) หรือ โปรแกรมแปลโปรแกรม, ตัวแปลโปรแกรม [1] เป็น โปรแกรมคอมพิวเตอร์ที่ทำหน้าแปลงชุดคำสั่งภาษาคอมพิวเตอร์หนึ่ง ไปเป็นชุดคำสั่งที่มีความหมายเดียวกัน ในภาษาคอมพิวเตอร์อื่น

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

รูปแสดงขั้นตอนการทำงานของตัวแปลโปรแกรม

ผลลัพธ์ของการแปลโปรแกรม (คอมไพล์) โดยทั่วไป ที่เรียกว่า ออบเจกต์โค้ด จะประกอบด้วยภาษาเครื่อง (Machine code) ที่เต็มไปด้วยข้อมูลเกี่ยวกับชื่อและสถานที่ของแต่ละจุด และการเรียกใช้วัตถุภายนอก (Link object) (สำหรับฟังก์ชันที่ไม่ได้อยู่ใน อ็อบเจกต์) สำหรับเครื่องมือที่เราใช้รวม อ็อบเจกต์เข้าด้วยกัน จะเรียกว่าโปรแกรมเชื่อมโยงเพื่อที่ผลลัพธ์ที่ออกมาในขั้นสุดท้าย เป็นไฟล์ที่ผู้ใช้งานทั่วไปสามารถใช้งานได้สะดวก

คอมไพเลอร์ที่สมบูรณ์ตัวแรก คือ ภาษาฟอร์แทรน (FORTRAN) ของ ไอบีเอ็ม ในปี ค.ศ. 1957 และ ภาษาโคบอล (COBOL) ก็เป็นคอมไพเลอร์ตัวแรก ๆ ที่สามารถทำงานได้บนหลาย ๆ สถาปัตยกรรมทางคอมพิวเตอร์ การพัฒนาตัวแปลภาษารุดหน้าอย่างรวดเร็ว และเริ่มมีรูปแบบที่ชัดเจนยิ่งขึ้นต่อมา ในช่วงทศวรรษ 1960

 

อินเทอร์พรีเตอร์ (อังกฤษ: interpreter) หรือ โปรแกรมแปลคำสั่ง, ตัวแปลคำสั่ง [1] หมายถึงโปรแกรมคอมพิวเตอร์ที่ทำงานตามชุดคำสั่งที่เขียนไว้ทันที ซึ่งไม่เหมือนกับคอมไพเลอร์ (compiler) ที่แปลชุดคำสั่งจากภาษาคอมพิวเตอร์ภาษาหนึ่งไปเป็นอีกภาษาหนึ่งก่อนทำงาน (โดยส่วนมากจะแปลเป็นภาษาเครื่อง)

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

ตัวอย่างภาษาที่มีการใช้อินเทอร์พรีเตอร์ เช่น ภาษาเบสิก, ภาษาเพิร์ล, ภาษาพีเอชพี

 ข้อผิดพลาด

  1) ความผิดพลาดทางไวยากรณ์ภาษา (syntax  error)  เป็นความผิดพลาดที่เกิดจากการเขียนคำสั่งของภาษาคอมพิวเตอร์ผิด   ตัวอย่างเช่น    คำสั่ง  printf( )  ในภาษา C   ต้องเขียนด้วยตัวอักษรตัวเล็ก   แต่เขียนเป็น  PRINTF( )  เป็นต้น     โดยส่วนมากความผิดพลาดทางไวยากรณ์    จะถูกตรวจสอบพบเมื่อมีการแปลโปรแกรม (compile)  ให้เป็นภาษาเครื่อง  ซึ่งเราสามารถแก้ไขโดยการเขียนคำสั่งให้ถูกต้องตามไวยากรณ์ของภาษานั้น ๆ

    2) ความผิดพลาดทางตรรกะ (logical  error)  เป็นความผิดพลาดที่เกิดจากการลำดับการทำงานผิดหรือป้อนสูตรคำนวณผิด ตัวอย่างเช่น ต้องการหาค่า  X = X + Y แต่ป้อนสูตรเป็น X = X * Y  อย่างนี้  เป็นต้น  วิธีการตรวจหาความผิดพลาดแบบนี้    คือ    ตรวจสอบการคำนวณผลลัพธ์ของโปรแกรมว่าตรงกับผลลัพธ์ที่คำนวณด้วยมือหรือเครื่องคิดเลขหรือไม่    ถ้าไม่ตรงกันแสดงว่าเกิดความผิดพลาดทางตรรกะขึ้น    วิธีการแก้ไขก็คือ  การแก้ไขสูตรให้ถูกต้อง หรือแก้ไขลำดับการทำงานให้ถูกต้อง

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

อ้างอิง

http://nipapon.wordpress.com/2012/08/24/%E0%B8%95%E0%B8%B1%E0%B8%A7%E0%B9%81%E0%B8%9B%E0%B8%A5%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%9C%E0%B8%B4%E0%B8%94%E0%B8%9E%E0%B8%A5/

 

ประวัติภาษาซี

เรืองที่ 1 ประวัติภาษซี

ภาษา C++ พัฒนาขึ้นโดย Dr. Bjarne Stroustrup (คนในรูป) ซึ่งเป็นนักวิจัยอยู่ทีห้องปฏิบัติการ Bell Labs ประเทศสหรัฐอเมริกาในระหว่างปี พ.ศ. 2525-2528 ภาษา C++ เกิดจากแนวคิดในการเพิ่มประสิทธิ ภาพภาษา C  ก่อนปี พ.ศ. 2526 Dr. Bjarne Stroustrup ได้เพิ่มคุณสมบัติให้กับภาษา C ซึ่งเขาเรียกภาษา C ที่ปรับปรุงใหม่ว่า “C with classes” นอกจากนี้เขายังได้รวมเอาแนวคิดเกี่ยวกับ classes ในภาษา Simula กับคุณสมบัติเชิงวัตถุผสมผสานกับจุดแข็งของภาษา C เป็นภาษา C++ ชื่อ C++ ใช้ครั้งแรกเมื่อปี พ.ศ. 2526 ภาษา C++ ถูกออกแบบมาสำหรับการทำงานภายใต้สิ่งแวดล้อมระบบปฏิบัติการ UNIX  ด้วยภาษา C++ ผู้เขียนโปรแกรมสามารถเขียนโปรแกรมได้อย่างมีประสิทธิภาพมากขึ้น นอกจากนี้การเขียนโปรแกรมเพื่อให้สามารถนำกลับมาใช้ได้ใหม่ (reusability) ก็สามารถทำได้ง่ายขึ้น

Dr. Bjarne Stroustrup ได้ศึกษาและวิจัยระดับปริญญาเอกที่ห้องปฏิบัติการ Computing Laboratory ที่มหาวิทยาลัย Cambridge ประเทศอังกฤษ ก่อนที่จะมาร่วมกับห้องปฏิบัติการ Bell Labs ในเวลานี้ห้องปฏิบัติการ Bell Labs ไม่ได้ใช้ชื่อนี้อีกต่อไปแล้ว เพราะส่วนหนึ่งของห้องปฏิบัติการได้เปลี่ยนไปเป็น AT&T Labs และอีกส่วนหนึ่งก็เปลี่ยนไปเป็นห้องปฏิบัติการ Lucent Bell Labs

ก่อนที่จะมีภาษา C++ ภาษา C เป็นภาษาคอมพิวเตอ ร์ ที่พัฒนาขึ้นจากห้องปฏิบัติการ  Bell Labs ในช่วงปี พ.ศ. 2512-2516 ในช่วงเดียวกันนั้น ระบบปฏิบัติการ UNIX ก็ถูกพัฒนาขึ้นที่ห้องปฏิบัติการ Bell Labs ภาษา C เริ่มแรกพัฒนาขึ้นมาเพื่อทำงานกับระบบปฏิบัติการ UNIX บนเครื่องคอมพิวเตอร์ขนาดเล็กชื่อ PDP-11 โดยนักวิจัยของห้องปฏิบัติการ Bell Labs ชื่อ Dennis Ritchie ในตอนเริ่มต้น เขาได้ขยายความสามารถของภาษา B โดยการเพิ่ม “TYPE” เข้าไปในปี พ.ศ. 2514 และเรียกภาษาที่ปรับปรุงใหม่นี้ว่าภาษา NB (ย่อมาจาก New B) ที่เขาได้แนวคิดอย่างนี้ขึ้นมาเพราะ Dennis Ritchie ได้แรงบันดาลใจมาจากภาษา Algol68 เขาได้ปรับโครงสร้างภาษาและเขียนคอมไพเลอร์ใหม่และตั้งชื่อภาษาใหม่ของเขาว่าภาษา “C” ในปี พ.ศ. 2515  90% ของระบบปฏิบัติการ UNIX เขียนด้วยภาษา C

หลังจากกำเนิดภาษา C คนในวงการคอมพิวเตอร์ต่างก็ตื่นตัวและประทับใจในความสามารถของภาษา C กันมาก ทำให้เกิดการพัฒนาและปรับปรุงภาษา C ออกมาหลายต่อหลายเวอร์ชั่น องค์กร ANSI จึงได้จัดตั้งคณะกรรมการเพื่อกำหนดมาตรฐานภาษา C ขึ้นในปี พ.ศ. 2532เพื่อทำการกำหนดมาตรฐานสำหรับภาษา C โดยเฉพาะ จนใช้กันถึงปัจจุบันนี้

ภาษา C เป็นภาษาที่ portable คือไม่ขึ้นอยู่กับฮาร์ดแวร์หรือระบบปฏิบัติการใดโดยเฉพาะ เป็นภาษาที่ผสมผสานส่วนสำคัญที่จำเป็นจากภาษาระดับสูง (high-level languages) กับฟังก์ชั่นระดับ low-level ของภาษาแอสเซมบลี (assembly language) จนบางครั้งมีคนจัดภาษา C ว่าเป็นภาษาคอมพิวเตอร์ในระดับ middle-level โปรแกรมที่เขียนด้วยภาษา C สามารถปรับการใช้จากคอมพิวเตอร์เครื่องหนึ่งไปใช้กับอีกเครื่องหนึ่งได้โดยง่าย

กล่าวโดยสรุป ภาษา C เป็นภาษาที่พัฒนาต่อเนื่องมาจากภาษา B ซึ่งพัฒนาโดย Ken Thompson เมื่อปี พ. ศ. 2513 เพื่อใช้กับระบบปฏิบัติการใหม่ตอนนั้นคือ UNIX ภาษา B ก็ได้รับการพัฒนาต่อมาจากภาษา BCPL ที่ออกแบบพัฒนาโดย Martin Richards ซึ่งเป็นนักศึกษาของมหาวิทยาลัย Cambridge ประเทศอังกฤษ เมื่อตอนไปเป็นนักศึกษาแลกเปลี่ยน (Exchange Student) ที่สถาบันเทคโนโลยีแห่งรัฐแมสซาจูเซท (MIT) ประเทศสหรัฐอเมริกา

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

อ้างอิง

http://computer.ru.ac.th/index.php?option=com_content&view=article&id=116:program&catid=6:overview&Itemid=30

Hello world!

Welcome to WordPress.com! This is your very first post. Click the Edit link to modify or delete it, or start a new post. If you like, use this post to tell readers why you started this blog and what you plan to do with it.

Happy blogging!