วันอาทิตย์ที่ 16 กุมภาพันธ์ พ.ศ. 2557

ภาษาโคบอล (Cobal Language)

            ภาษาโคบอล จัดเป็นภาษาระดับสูง(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 ให้มีประสิทธิภาพมากยิ่งขึ้น

ในการเขียนโปรแกรมภาษาโคบอลเราจะแบ่งออกเป็นส่วน ๆ ดังนี้

  1. ส่วนประกอบของโปรแกรม ภาษาโคบอล
  2. สัญลักษณ์ ที่ใช้ในภาษาโคบอล
  3. ประเภทของคำ
  4. ตัวแปร และ ค่าคงที่
  5. แบบฟอร์ม สำหรับการเขียนโปรแกรม COBOL (COBOL CODING FORM)
  6. การใช้เครื่องหมายวรรคตอน
1.ส่วนประกอบของโปรแกรม COBAL
IDENTIFICATION DIVISION
  • ชื่อโปรแกรม
  • ชื่อผู้เขียนโปรแกรม
  • วันที่เขียนโปรแกรม
ENVIRONMENT DIVISION
  • รายละเอียดของตัวเครื่อง(CONFIGURATION SECTION)
  • รายละเอียดสิ่งที่ใช้ในการบันทึกข้อมูล(INPUT/OUTPUT SECTION)
DATA DIVISION
  • รายละเอียดของแฟ้มข้อมูล(FILE SECTION)
  • รายละเอียดของข้อมูลอื่น ๆ(WORKING-STORAGE SECTION)
  • รายละเอียดของข้อมูลที่รับมาจากโปรแกรมอื่น ๆ(LINKAGE SECTION)
  • รายละเอียดของข้อมูลที่ให้แสดงบนจอภาพ
PROCEDURE DIVISION
  • PARAGRAPH 1
  • PARAGRAPH 2
  • PARAGRAPH 3-------[STATEMENT I;I' = 1(N)1
           ไดอะแกรมแสดง โครงสร้างโปรแกรมภาษาโคบอล จากไดอะแกรม ที่แสดงโครงสร้างของโปรแกรมภาษาโคบอลจะเห็นว่า ได้แบ่งตัวโปรแกรมออกเป็น 4 ส่วน ในแต่ละส่วนเราเรียกว่า Division
ในแต่ละ Division มีชื่อดังต่อไปนี้

  • IDENTIFICATION DIVISION.
  • ENVIRONMENT DIVISION.
  • DATA DIVISION.
  • PROCEDURE DIVISION.
IDENTIFICATION DIVISION เป็น Division หรือส่วนที่ใช้ในการแสดงรายละเอียดของตัวโปรแกรม ชื่อของผู้เขียนโปรแกรม วันที่เริ่มเขียนโปรแกรม วันที่แปลโปรแกรม(Compiler) และที่สำคัญบอกว่าโปรแกรมนี้ชื่ออะไร
ENVIRONMENT DIVISION เป็น Division หรือส่วนที่ใช้ในการแสดงรายละเอียดของตัวโปรแกรมเกี่ยวกับตัวเครื่องคอมพิวเตอร์ที่ใช้ในการเขียนโปรแกรม หรือสั่งให้โปรแกรมทำงาน และบอกให้ทราบชนิดของ Input/Output Devision ที่จะนำมาใช้กับโปรแกรมนี้
DATA DIVISION เป็น Division หรือส่วนที่ใช้ในการแสดงรายละเอียดลักษณะของข้อมูลทุก ๆ ตัวที่นำมาเกี่ยวข้องกันกับโปรแกรมนี้ทั้งหมด ไม่ว่าจะเป็นข้อมูลที่เป็ฯ Input หรือ Output หรือผลลัพธ์ที่เกิดจากการประมวลผล หรือผลลัพธ์จากการทำงานของโปรแกรมนี้ โดยจะแสดงโครงสร้างของข้อมูลอย่างละเอียด
PROCEDURE DIVISION เป็น Division หรือส่วนที่ใช้ลำดับขั้นตอนของการทำงาน หรือของการประมวลผลข้อมูลโดยโปรแกรมชุดนี้ และใน Division นี้เราจะเขียนขึ้นตามผังโปรแกรมที่เราได้เขียนขึ้นในขั้นตอนแรกก่อนลงมือเขียนโปรแกรมนี้ ภายใน Division นี้จะแตกต่างไปจาก 3 Division แรกที่ได้กล่าวมา โดยจะมีการคำนาณ หรือมีคำสั่งต่าง ๆ ที่สั่งให้เครื่องคอมพิวเตอร์ทำงาน เพื่อให้ได้ผลลัทธ์ออกมาตามที่เราต้องการ
นอกจากภาษาโคบอลได้ถูกจัดแบ่งออกเป็นส่วนใหญ่ ๆ (Division) แล้ว ภายในแต่ละ Division ยังถูกแบ่งออกเป็น Section ย่อย ๆ ได้อีก เช่น ภายใน Environment Division จะต้องมีอย่างน้อย 2 Section คือ Configuration Section และ Input-Output Section และภายใน Data Division จะมี File Section และ Working-Storage Section ส่วนภายใน Procedure Division จะมี Section เท่าไหร่ก็ได้ หรือภายในส่วนของ Identification Division ไม่มี Section อยู่เลย
นอกจากนี้ภายในแต่ละ Section จะมี Paragraph แตกย่อยลงไปอีก ซึ่ง Paragraph เป็นส่วนประกอบภายใน Section ในทุก Section และภายใน Section จะต้องมี Paragraph อย่างน้อย 1 Paragraph แต่ถ้าหากว่าภายใน Division ใดไม่ได้แบ่งส่วนประกอบออกเป็น Section ให้ถือว่า Paragraph นั้นเป็นส่วนประกอบโดยตรงของภายใน Division นั้น
Sentence เป็นรูปของประโยคภายในของถาษาโคบอล ซึ่งมีลักษณะคล้ายกับประโยคภายในภาษาอังกฤษ ซึ่งภายในประโยค หรือ Sentence นี้ต้องมีคำกริยา (verb) อย่างน้อย 1 คำ Sentence ภายในภาษาโคบอลนั้นจะต้องจบลงด้วย"."(Period)
Statement คือกลุ่มของตัวเลข กลุ่มของตัวอักษร และรวมถึงสัญลักษณ์พิเศษต่าง ๆ ซึ่งนำมาประกอบกันให้ได้ความหมายเป็นคำสั่งตามรูปแบบเงื่อนไขที่ภาษากำหนดขึ้นให้ใช้(Reserved Words) โดยอาจจะมีการผสมอักระกันเป็น 1 Statement แล้วนำมาผูกกันเป็นกลุ่มของคำสั่ง เพื่อสั่งให้เครื่องคอมพิวเตอร์ทำงานให้ได้ผลลัพธ์ตามที่ต้องการ
Clause คือกลุ่มของ Characters (อักขระ) และ Words เพื่อใช้สำหรับอธิบายถึง Entry ภายในโปรแกรมนั้น ๆ
Word คือกลุ่มของ Characters ซึ่งจะต้องมีอย่างน้อย 1 ตัวอักขระขึ้นไป ซึ่งโครงสร้างของ Word ได้อธิบายไว้แล้วข้างต้น
Character ตัวอักขระ เป็นหน่วยที่เล็กที่สุดในโปรแกรมภาษาทางคอมพิวเตอร์ ดูรายละเอียดภายในหัวข้อเรื่อง สัญลักษณ์ในภาษา COBOL

2. สัญลักษณ์ในภาษา COBAL มี 51 ตัว
Character (อักขระ) หมายถึง ตัวเลขและเครื่องหมายต่าง ๆ ที่เครื่องคอมพิวเตอร์รับได้ในรูปของ ASCII CODE หรือ เลขฐาน 16 (แล้วแต่ระบบการเก็บข้อมูล ภายในหน่วยความจำของแต่ละเครื่องฯ) ซึ่งใช้ประกอบขึ้นเป็นคำ (Word) ในการเขียนเป็นภาษาโปรแกรม ซึ่งประกอบด้วย
  • ชุดอักษร(Alphabetic) "A...Z"
  • ชุดตัวเลข(Numeric) "0..9"
  • ชุดสัญลักษณ์พิเศษ(Special Character){+ - * / . ** $ * > < = ( ) " ' ; _ }
2.1 ชุดอักษร(Alphabetic) "A...Z" ใช้ในการสร้าง (Word) เพื่อตั้งชื่อให้กับตัวแปร(Variable Name Identifier) และตั้งชื่อให้กับแฟ้มข้อมูล (Identification ,Program Name, Program ID) ในโปรแกรมภาษาโคบอล โดยจะตั้งชื่อให้ซ้ำกับ Reserved Words ไม่ได้ และจะตั้งชื่อตัวแปรเกิน 30 ตัวอักษรไม่ได้ และ ตั้งชื่อของแฟ้มข้อมูลทุกประเภทที่ใช้ในการเขียนโปรแกรมภาษาโคบอล เกิน 8 ตัวอักษรไม่ได้ และในการติดตั้งชื่อแฟ้มข้อมูล หรือตั้งชื่อให้กับตัวแปร อาจจะมีตัวอักขระปะปนตัวเลขก็ได้ แต่จะใช้ตัวอักขระพิเศษมาผสมด้วยไม่ได้ จะอนุโลมให้ใช้ "_"(Hyphen) ได้เฉพาะในภาษาโคบอลเพียงเท่านั้น และในการตั้งชื่อให้กับตัวแปร หรือ ชื่อแฟ้มข้อมูลจะขึ้นต้น หรือนำหน้าด้วยตัวเลข หรือ Hyphen ไม่ได้
2.2 ชุดตัวเลข (Numeric)"0..9" ใช้ในการกำหนดค่าให้กับตัวแปร เพื่อนำไปทำการคำนวณหาค่าต่าง ๆ ที่เป็นผลลัพธ์ตามที่เราต้องการ หรือ อาจจะใช้ผสมกับกลุ่มตัวอักษรให้กับตัวแปร หรือใช้ตั้งชื่อแฟ้มข้อมูล
2.3 ชุดสัญลักษณ์พิเศษ (Special Character) ชุดสัญลักษณ์พิเศษ เราสามารถแบ่งออกได้ตามหน้าที่ดังนี้
ใช้ในการคำนวณ เราเรียกว่า Arithmetic Operator


+(บวก)/ (หาร)
-(ลบ)** (ยกกำลัง)
* (คูณ)( ) (เครื่องหมายวงเล็บ)
ใช้ในการเปรียบเทียบ ในเชิงคณิตศาสตร์ Relation operator
> มากกว่าor IS GREATER THAN
< น้อยกว่าor IS LESS THAN
= เท่ากับor IS EQUAL
ใช้ในการกำกับ การเว้นวรรคตอน Punctuation Operator
{ - , . " : ; () }
ใช้ในการกำหนดรูปแบบของการพิมพ์ (Print Format)
B (Blank Or Space) VV (Period for format Decimal)
Z,
$B
+CR
-DB
0.
*Space
3. ประเภทของคำ
  คำ เกิอขึ้นจากการผสมระหว่างตัวอักษร กับตัวเลข หรือจะเป็นตัวอักษรล้วน ๆ ก็ได้ ซึ่งจะต้องเป็นไปตามเงื่อนไขหรือกฎเกณฑ์ของภาษานั้น ๆ ดังได้กล่าวมาแล้วข้างต้น ซึ่งแบ่งออกเป็นประเภท ใหญ่ ๆ ดังนี้
  • 3.1 คำสงวน (Reserved Word) คำสงวนไว้ใช้ในกรณี ๆ ไปโดยเฉพาะ ไม่สามารถนำคำสงวนไปใช้ในหน้าที่อื่น ๆ ที่ไม่ใช่หรือ ไม่ได้กำหนดไว้ โดยคำสงวนจะมีความหมายในตัวของมันเอง ซึ่งแบ่งออกเป็น 3 ประเภท
    • Key word คือคำที่เราต้องเขียนเสมอ หรือ เป็นคำที่ตัว Compiler Cobol รู้จัก ได้แก่ Read , Into, End
    • Option Word จะใช้ หรือ ไม่ใช้ก็ได้ เขียนแทนด้วยตัวอักษรตัวพิมพ์ใหญ่ แต่ไม่มีขีดเส้นใต้กำกับไว้ มีไว้เพื่อขยายประโยคให้สมบูรณ์ เช่น Record, At
    • Connective Word เพื่อขยายใจความประโยคหรือเชื่อมโยงคำ เช่น Of ,In
  • 3.2 คำที่ไม่ใช่คำสงวน หมายถึงคำอื่น ๆ ซึ่งผู้เขียนโปรแกรม ตั้งชื่อขึ้นเองตามกฏเกณฑ์การตั้งชื่อ ในภาษาโคบอลห้ามตั้งชื่อตรงกับคำสงวนหรือซ้ำคำสงวน
    • Data Name ใช้อ้างอิงถึงข้อมูล หรือตัวแปร
    • Condition Name ชื่อข้อมูลที่ใช้ในการสร้างเงื่อนไขขึ้นเพื่อเลือกตัดสินใจในการทำงาน และเพื่อทดสอบโปรแกรม
    • Paragraph Name หมายถึง ชื่อหัวข้อของชุดคำสั่งที่ปรากฏอยู่ในส่วนต่าง ๆของโปรแกรม
  • 3.3 Special Name ชื่อพิเศษต้องอยู่ในพารากราฟทึ่ชื่อ Special Names ซึ่งอยู่ภายใน Environment Division ซึ่งผู้เขียนโปรแกรมจะเป็นผู้ตั้งขึ้นเองเพื่อนำไปใช้ประโยชน์ในการเขียนโปรแกรมให้สั้น และรัดกุม แต่มีประสิทธิภาพมากขึ้น
4. ตัวแปร (Varriable) และค่าคงที่ (Literal)
  • 4.1 ตัวแปร หมายถึง ข้อมูลที่มีการเปลี่ยนแปลงค่อยู่ตลอดเวลาในโปรแกรม
    • ตัวแปรชนิดตัวเลข (Numeric variable) ประกอบไปด้วยตัวเลข 0 - 9 สามารถนำไปคำนวณได้
    • ตัวแปรชนิดอักขระ (Alphabetic variable) ประกอบไปด้วยตัวอักษร A..Z และ Blank Or Space และ Hyphen (-)
    • ตัวแปรชนิดที่เป็นทั้งตัวเลขและตัวอักขระ (Alphabumeric variable)ได้แก่ตัวเลข ตัวอักษร สัญลักษณ์พิเศษ
  • 4.2 ค่าคงที่ (Literal)ค่าคงที่เป็นตัวเลข(Numeric Literal) ประกอบด้วยตัวเลข 0-9
แบบฟอร์มของกระดาษเขียนโปรแกรม
ในการเขียนโปรแกรมด้วยภาษาใด ๆ ก็ตาม จำเป็นต้องเขียนลงในกระดาษ ตามแบบฟอร์มซึ่งแต่ละภาษากำหนดเอาไว้ ภาษาโคบอล ก็เช่นกัน เราต้องเขียนโปรแกรมลงในกระดาษสำหรับเขียนโปรแกรมโดยเฉพาะ กระดาษพิเศษที่ใช้เขียนโปรแกรมภาษาโคบอลนี้เรียกว่า Cobol Coding Form รูปแบบนี้ เหมือนรูปแบบมาตราฐานของบัตร 80 คอลัมน์ คือ ในกระดาษหนึ่งบรรทัดแบ่งออกเป็น 80 คอลัมน์ เช่นเดียวกันและกระดาษเขียนโปรแกรมหนึ่งแผ่น จะมีประมาณ 20 บรรทัด อย่างไรก็ตามทุกวันนี้เรามักจะส่งโปรแกรมเข้าเื่องครื่องคอมพิวเตอร์ทางจอภาพมากกว่า รายละเอียดของหัวกระดาษตอนบน
  1. System ให้ใส่รายละเอียดของระบบที่ใช้ในการเขียนโปรแกรม หรือ รายละเอียดของเครื่องคอมพิวเตอร์ที่ใช้ หรืออาจจะเป็นชื่อระบบก็ได้
  2. Program ให้ใส่ชื่อโปรแกรม หรืออาจจะเป็นชื่อของโปรแกรมย่อยก็ได้
  3. Programmer ใส่ชื่อโปรแกรมเมอร์หรือชื่อของผู้เขียนโปรแกรม
  4. Date ใส่วัน เดือน ปี ที่เขียนโปรแกรม
  5. Page of ให้ใส่ตัวเลขบอกจำนวนหน้า จำนวนตัวเลขหลัง OF หมายถึงจำนวน Coding Sheet ทั้งหมดที่ใช้เขียนโปรแกรมนี้ และตัวเลขหลัง Page หมายถึง เลขบอกหน้าของ Coding She
การใช้เครื่องหมายวรรคตอน
จุดประสงค์ ของการใช้เครื่องหมายวรรคตอนเพื่อบอกให้ Compiler ทราบว่าจบประโยคเมื่อไหร่ จบคำเมื่อไหร่ และช่วยในการอ่านโปรแกรมได้ง่ายขึ้น



Creadit : http://cptd.chandra.ac.th/selfstud/cobol/pass2.htm

ไม่มีความคิดเห็น:

แสดงความคิดเห็น