ภาษาโคบอล

บทที่1
บทนำ
คอมพิวเตอร์ (Computer)
ระบบคอมพิวเตอร์ (Computer System)
ส่วนประกอบของไมโครคอมพิวเตอร์
ภาษาที่ใช้กับคอมพิวเตอร์
การแปลคำสั่งและการปฏิบัติงาน (Compilation and Execution)
วิธีการทางคอมพิวเตอร์กับภาษาโคบอล
ในการศึกษาโปรแกรมภาษาโคบอล นอกจากจะต้องเรียนรู้ถึงหลักเกณฑ์หรือไวยากรณ์ของภาษาโคบอลแล้ว ผู้เรียนควรมีความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์ด้วย เนื่องจากการศึกษาภาษาคอมพิวเตอร์ไม่ว่าจะเป็นภาษาใดก็ตาม ผู้เรียนควรทราบว่าคอมพิวเตอร์คืออะไร มีการทำงานคร่าว ๆ อย่างไร แล้วจะนำคำสั่งต่าง ๆให้คอมพิวเตอร์ทำงานอย่างไร มีนักเรียนส่วนมากไม่สามารถเขียนโปรแกรมได้ทั้ง ๆ ที่ทราบไวยากรณ์ของภาษาทุกอย่าง แต่ไม่เข้าใจว่า โจทย์นั้นต้องการอะไร แล้วเริ่มต้นที่ไหน โปรแกรมนั้นขั้นตอนการทำงานอย่างไร ลำดับทำงานใดควรมาก่อนมาหลัง ดังนั้นในบทนี้จะกล่าวถึงความรู้เบื้องต้นเกี่ยวกับเครื่องคอมพิวเตอร์และวิธีการทางคอมพิวเตอร์เสียก่อนทั้งนี้เพื่อเป็นการทบทวนความรู้เดิมเพื่อมนำมาเป็นแนวคิดในการเขียนโปรแกรมภาษาโคบอล
1. คอมพิวเตอร์ (Computer)
เรื่องคอมพิวเตอร์เป็นเครื่องจักรทางอิเลคทรอนิคที่สร้างขึ้นเพื่อรับข้อมูล(Data)อย่างใดอย่างหนึ่งพร้อมกับคำสั่ง (Program) แล้วดำเนินการประมวลผล(process) จากข้อมูลที่รับเข้ามาเพื่อให้ได้ผลลัพธ์ที่ต้องการออกมาในรูปต่าง ๆ โดยการทำงานของคอมพิวเตอร์จะเป็นไปอย่างอัตโนมัติ
2. ระบบคอมพิวเตอร์ (Computer System)
เมื่อกล่าวถึงคอมพิวเตอร์ที่ใช้งานอยู่ในปัจจุบันนี้ เราต้องกล่าวถึงระบบคอมพิวเตอร์ซึ่งประกอบไปด้วย
1. Hardware ซึ่งจะหมายถึงตัวเครื่องคอมพิวเตอร์ และอุปกรณ์ต่าง ๆ ที่ใช้ในการประมวลผล เช่น เครื่องอ่านบัตร เครื่องพิมพ์ Disk Drive จอภาพ เป็นต้น
2. Software หมายถึง โปรแกรมต่าง ๆ ที่สั่งให้คอมพิวเตอร์ทำงาน
3. Peopleware หมายถึงบุคลากรต่าง ๆ ที่เกี่ยวข้องกับคอมพิวเตอร์ เช่น ผู้ควบคุมเครื่อง โปรแกรมเมอร์ พนักงานป้อนข้อมูล

3. ส่วนประกอบของไมโครคอมพิวเตอร์
ในบทนี้จะขอกล่าวถึงส่วนประกอบและการทำงานของส่วนประกอบต่าง ๆ ของไมโครคอมพิวเตอร์อย่างคร่าว ๆ ดังนี้
• หน่วยประมวลผลกลาง(Central Processing Unit หรือ CPU)
• หน่วยความจำ(Memory Unit)
• หน่วยรับข้อมูลและแสดงผลลัพธ์(Input/Output Unit)
หน่วยประมวลผลกลาง (Computer)
หน่วยประมวลผลกลางเปรียบเสมือนหัวใจของคอมพิวเตอร์ทุกชนิด สำหรับหน่วยประมวลผลกลางของไมโครคอมพิวเตอร์ประกอบด้วยชิ้นส่วนไมโครโปรเซสเซอร์ และวงจรอื่น ๆ หน่วยประมวลผลกลางแบ่งการทำงานออกเป็น 2 ส่วน
• หน่วยคำนวณและเปรียบเทียบ(Arithmatic and Logic Unit หรื่อ ALU) ทำหน้าที่ในการคำนวณและเปรียบเทียบ ตามคำสั่งที่กำลังปฏิบัติ เช่น การบวก,การลบ,การเปรียบเทียบเงื่อนไขหลังจากคำนวณแล้ว นำผลลัพธ์ไปเก็บไว้ในหน่วยความจำ
• หน่วยควบคุม(Control Unit)ทำหน้าที่ส่งสัญญาณควบคุมไปยังหน่วยต่าง ๆ ให้ทำงานตามโปรแกรม นอกจากนี้ยังมีหน้าที่ประสานงานหน่วยต่าง ๆ ด้วย
หน่วยควมจำ
มีหน้าที่เก็บข้อมูลต่าง ๆ ชุดของคำสั่ง และผลลัพธ์จากการคำนวณ หน่วยความจำแบ่งเป็น
• Primary memory หรือ Main memory เป็นหน่วยความจำหลักที่อยู่ในเครื่องคอมพิวเตอร์
• Secondary memory หรือ Mass memory เป็นหน่วยความจำภายนอกหรือหน่วยความจำเสริมมักบันทึกในสื่อข้อมูลต่าง ๆ เช่น เทปแม่เหล็ก แผ่นจานแม่เหล็ก
หน่วยรับข้อมูลและแสดงผล
ทำหน้าที่รับข้อมูลหรือชุดคำสั่งเข้ามาเก็บไว้ในหน่วยความจำและนำข้อมูลหรือผลลัพธ์ต่าง ๆ ที่เก็บในหน่วยความจำออกมาแสดงซึ่ จะแสดงบนจอภาพ พิมพ์ออกทางเครื่องพิมพ์ หรือบันทึกลงบนสื่อข้อมูลต่าง ๆ เช่น เทปแม่เหล็ก Diskette
เมื่อทราบส่วนประกอบและหน้าที่ต่าง ๆ ของเครื่องคอมพิวเตอร์แล้วจะเห็นว่าเครื่องคอมพิวเตอร์ทำงานคล้ายกับมนุษย์ เพียงแต่เครื่องคอมพิวเตอร์ไม่มีความรู้สึกนึกคิดหรือมีจิตใจเหมือนมนุษย์

4. ภาษาที่ใช้กับคอมพิวเตอร์
ในการติดต่อกับเครื่องคอมพิวเตอร์ที่จะให้เครื่องปฏิบัติตามคำสั่งต่าง ๆ นั้น เครื่องคอมพิวเตอร์ไม่สามารถจะเข้าใจภาษาของมนุษย์ได้โดยตรงดังนั้นเราจึงควรศึกษาภาษาคอมพิวเตอร์เสียก่อน ภาษาคอมพิวเตอร์แบ่งออกเป็น 3 ประเภท
• ภาษาเครื่อง (Machine Language) เป็นลักษณะภาษาที่เครื่องคอมพิวเตอร์สามารถเข้าใจได้โดยตรงในยุคแรกนักเขียนโปรแกรมจะเขียนโปรแกรมด้วยภาษาเครื่อง ลักษณะภาษาประกอบด้วยตัวเลขล้วน ๆ ซึ่งเป็นเลขฐาน 2 แต่อาจจะเขียนอยู่ในรูปเลขฐาน 8 หรือ ฐาน 16 เพื่อความสะดวกยิ่งขึ้น คำสั่งภาษาเครื่องนี้แบ่งออกเป็น 2 ส่วน
o Op-code บอกให้เครื่องคอมพิวเตอร์รู้ว่าจะต้องทำอะไร
o Operand บอกให้เครื่องคอมพิวเตอร์รู้ว่าจะต้องเอาข้อมูลมาจากตำแหน่ง (address) ใดในหน่วยความจำมาทำงาน
• ภาษาระดับต่ำ (Low - Level Language) เนื่องจากภาษาเครื่องเขียนยากเพราะไม่สามารถจำรหัสต่าง ๆ และตำแหน่งข้อมูลในเครื่องได้ ต่อมาจึงนำเอาอักษรหรือสัญลักษณ์มาแทนรหัสที่เป็นตัวเลขล้วน ๆ ในภาษาเครื่องดังนั้น ภาษาคะดับต่ำจึงคล้ายกับภาษาเครื่อง
• ภาษาระดับสูง (High - Level Language) เป็นภาษาที่ใกล้เคียงภาษามนุษย์มากที่สุด โดยไม่สนใจว่าเครื่องคอมพิวเตอร์จะเข้าใจอย่างไร จะทำงานอย่างไร ขอเพียงแต่ว่าให้คนสามารถเข้าใจได้ดี สามารถเขียนได้กะทัดรัดสะดวกต่อการใช้งานเท่านั้น ตัวอย่างเช่น FORTAN,COBOL,BASIC,PL/1 แต่อย่างไรก็ตามภาษาระดับสูงนี้เครื่องคอมพิวเตอร์ไม่สามารถเข้าใจได้โดยตรง ดังนั้นจึงจำเป็นต้องแปลภาษามนุษย์หรือภาษาระดับสูงนี้ ให้เป็นภาษาเครื่องที่เครื่องสามารถรับรู้ได้เสียก่อน ซึ่งขั้นตอนแปลเรียกว่า Compilation

5. การแปลคำสั่งและการปฏิบัติงาน (Compilation and Execution)
ตามที่ได้กล่าวมาแล้วว่าเครื่องคอมพิวเตอร์จะสามารถเข้าใจและปฏิบัติงานได้ด้วยภาษาเครื่อง ดังนั้นโปรแกรมที่เขียนด้วยภาษาระดับต่ำหรือภาษาระดับสูงอย่างเช่น Assembly,Fortran,Cobol,Basic,Pl/1,Rpg ซึ่งเราเรียกชุดของโปรแกรมนี้ว่า Source Program จะต้องนำมาแปลให้เป็นภาษาเครื่องเสียก่อน โปรแกรมที่ใช้แปล Source program นี้เราเรียกว่า Compiler หรือ Translator โปรแกรมที่ผ่านการแปลให้เป็นภาษาเครื่องเแล้วเรียกว่า Object Program จากนั้นเครื่องคอมพิวเตอร์จึงเข้าใจและปฏิบัติงานตามโปรแกรมนั้นได้การทำงานตาม Object Program นี้เรียกว่า Execution
โปรแกรมทุกโปรแกรมไม่ว่าจะเขียนด้วยภาษาใดก็ตาม การที่จะให้เครื่องคอมพิวเตอร์ทำงานตามโปรแกรมนั้นจนกระทั่งออกผลลัพธ์จะต้องผ่านขั้นตอนดังนี้คือ
1. ขั้นตอนการแปล Source Program ให้เป็น Object Program โดยใช้โปรแกรม Compiler ของภาษานั้น ๆ เช่น Compiler ของภาษา Cobol จะทำการแปละ Source Program ที่เขียนด้วยภาษา Cobol โดยตรวจดูว่าเขียนถูกตามหลักไวยากรณ์ของภาษา Cobol หรือไม่ ถ้าเครื่องแสดง Error ออกมาต้องกลับไปแก้ที่ Source Program ก่อน ถ้าโปรแกรมนั้นถูกต้อง เมื่อผ่านการ Compile จะได้ Object program
2. ขั้นตอนการปฏิบัติงานจริง ๆ คือการนำเอา Object program มาสั่งให้เครื่องคอมพิวเตอร์ทำงานจริง ๆตามโปรแกรมนั้น

6. วิธีการทางคอมพิวเตอร์กับภาษาโคบอล
การจะนำคอมพิวเตอร์มาประยุกต์ใช้งานใดงานหนึ่งตั้น ผู้ใช้ควรมีการเตรียมข้อมูลและโปรแกรมหรือชุดคำสั่งเสียก่อน ในการเตรียมนั้นผู้ใช้จำเป็นต้องเข้าใจถึงปัญหา หรือความต้องการของงานนั้นอย่างชัดเจน โดยสามารถแยกแยะงานนั้นออกเป็นส่วนย่อย ๆ และทราบว่าแต่ละส่วนจะต้องทำอะไร และผลลัพธ์ที่ได้ต้องมีรูปแบบอย่างไร และที่สำคัญต้องลำดัลขั้นตอนการทำงานทั้งหมดได้อย่างถูกต้องดังนั้นจึงควรศึกษาวิธีการทางคอมพิวเตอร์เสียก่อนว่าผู้ใช้คอมพิเตอร์จะเริ่มทำอย่างไรกับงานั้น
วิธีการทางคอมพิวเตอร์สามารถแบ่งออกเป็นขั้นตอนดังนี้
1. การวิเคราะห์งาน หมายถึงการศึกษารายละเอียดของงานที่ต้องการจะทำนั้นว่ามีวัตถุประสงค์อย่างไร ต้องใช้ข้อมูลอะไรบ้างในการประมวลผล ผลลัพธ์ที่ต้องการมีรูปแบบอย่างไร เป็นต้น การวิเคราะห์แบ่งออกเป็นขั้นตอนดังนี้
o สิ่งที่โจทย์ต้องการ วัตถุประสงค์ของงานต้องการอะไรบ้าง
o การแสดงผลลัพธ์ การพิจารณารายงานที่พิมพ์ว่ามีรูปร่างอย่างไร
o ข้อมูลนำเข้า ข้อมูลที่ใช้ในการประมวลผลโดยที่ไม่ใช่ค่าคงที่
o การกำหนดต่าตัวแปร การกำหนดชื่อของตัวแปรทุกตัวในโปรแกรม
o วิธีการคำนวณ การแสดงลำดับขั้นตอนการประมวลผล
2. การเขียนผังงาน การใช้ผังงานหรือรูปภาพแสดงแทนลำดับขั้นตอนทำงานของโปรแกรม
3. การเขึยนโปรแกรม การนำผังงานมาเขียนเป็นรหัสคำสั่งของภาษานั้น ๆ
4. การทดสอบโปรแกรม การตรวจสอบความถูกต้องและความสมบูรณ์ของคำสั่งต่าง ๆ ในโปรแกรม เพื่อหาข้อผิดพลาดแล้วนำมาแก้ไข
5. การนำข้อมูลจริงเข้าเครื่องและทำเอกสารประกอบโปรแกรม หลังจากทดสอบโปรแกรมเรียบร้อยแล้วขั้นนี้ก็ไม่มีปัญหาสามารถนำข้อมูลจริงเข้าเครื่องเพื่อนำไปประมวลผลตามโปรแกรมนั้นได้ทันทีจนกระทั่งได้ผลลัพธ์ตามที่ต้องการ
บทที่2
ความรู้เบื่องต้นเกี่ยวกับภาษา COBOL
ประวัติภาษาโคบอล
ส่วนประกอบของโปรแกรม ภาษาโคบอล
สัญลักษณ์ ที่ใช้ในภาษาโคบอล
ประเภทของคำ
ตัวแปร และ ค่าคงที่
แบบฟอร์ม สำหรับการเขียนโปรแกรม COBOL (COBOL CODING FORM)
การใช้เครื่องหมายวรรคตอน
ภาษาโคบอล จัดเป็นภาษาระดับสูง(High - Level Language) ซึ่งคำว่า COBOL ย่อมาจากคำว่า "Common Business Oriented Language" ซึ่งภาษาโคบอล เป็นภาษาที่ถูกพัฒนาขึ้นเพื่อใช้งานด้านการประมวลผลในทางธุรกิจโดยเฉพาะ เป็นภาษาที่มีความใกล้เคียงกับภาษาอังกฤษมากที่สุด ซึ่ง Source Program สามารถในไปใช้เป็นเอกสารประกอบโปรแกรมได้ เพราะมีความละเอียดพอที่จะอ่านโปรแกรมได้อย่างเข้าใจ ภาษาโคบอลเป็นภาษาที่ไมเหมาะสำหรับผู้ที่เริ่มศึกษาคอมพิวเตอร์ศาสตร์ เนื่องจากเป็นภาษาที่ค่อนข้างจะยาก และมีกฏเกณฑ์ต่าง ๆที่ยุงยากอยู่มิใช้น้อย ผู้ที่ต้องการจะศึกษาการเขียนโปรแกรมภาษาโคบอล ควรจะมีความรู้ในเรื่องของการประมวลผลข้อมูลเป็นอย่างดี และจะต้องศึกษาหรือมีความรู้พื้นฐานทางด้านคอมพิวเตอร์ศาสตร์อยู่มากพอสมควร
ประวัติภาษาโคบอล
ภาษาโคบอลได้ถือกำเนิดขึ้นเมื่อปี ค.ศ.1959 โดยได้มีการร่วมมือกันจัดตั้งคณะกรรมการขึ้นชุดหนึ่งให้ชื่อว่า CODASYL : Conference On DAta SYstems Languages ซึ่งมีทั้งภาครัฐบาล และภาคเอกชนกลุ่มผู้ผลิตเครื่องคอมพิวเตอร์ในยุคนั้น ซึ่งได้ร่วมมือกันพัฒนาขึ้นเพื่อให้สามารถนำมาใช้กัน และให้เหมาะสมกับการประมวลผลข้อมูลทางด้านธุรกิจ ซึ่งได้ทำงานสรุปเป็นผลสำเร็จในปี ค.ศ. 1960 และให้ชื่อภาษาที่ได้สร้างขึ้นใหม่นี้ว่า "COBOL-60" และต่อมาภายหลังก็ได้มีการปรับปรุงแก้ไขพัฒนาภาษาโคบอลให้ทันต่อยุคต่อเหตุการณ์ ซึ่งมีการแก้ไขปรับปรุงขึ้นในปี ค.ศ. 1961 ซึ่งเรียกว่า "COBOL-61" ต่อมาได้มีการปรับปรุงแก้ไขเพิ่มเติมขึ้นอีกเล็กน้อย ในปี ค.ศ. 1963 และต่อมาในปี ค.ศ. 1965 และต่อมาในปี ค.ศ. 1968 ภาษาโคบอลได้ถูกยกระดับไห้เป็นภาษามาตราฐาน โดยสถาบัน The American National Standards Institute : ANSI โดยกำหนดภาษาโคบอลที่มีใช้กันอยู่ในขณะนั้นให้เป็นมาตราฐานเป็นอย่างเดียวกัน โดยแยกออกเป็นหลายระดับ และให้ยึดถือ COBOL-65 เป็นหลัก การใช้ภาษาโคบอลได้รับความนิยมแพร่หลายขึ้นในปี ค.ศ. 1970 เนื่องจากภาษาโคบอลได้มีการกำหนดความเป็นมาตราฐานขึ้น และได้มีการพัฒนาภาษาไปพร้อม ๆ กับการพัฒนาตัว Compiler ให้มีประสิทธิภาพมากยิ่งขึ้น



โดย : นาย นุกูล บุญบุตรท้าว, วิทยาลัยเทคนิคฉะเชิงเทรา, วันที่ 28 กุมภาพันธ์ 2545