สัปดาห์ที่ 3 CH 6 : DATA DIVISION

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ครั้งที่ 9 Function(ต่อ).
Advertisements

รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
โครงสร้างโปรแกรมภาษา C
Arithmetic Verb Template. ADD MOVE ZERO TO NO. ADD 1 TO NO. 0 1.
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
Chapter 8 : Logic Modeling & Data Modeling
LAB 1 ให้นักศึกษาเขียน Flowchart โดยใช้โปรแกรม Microsoft Word วาดรูป Flowchart ส่ง Flowchart ที่วาดเสร็จแล้วในชั่วโมง และ print ใส่กระดาษ ส่งในครั้งหน้า.
ครั้งที่ 8 Function.
Control Statement if..else switch..case for while do-while.
การรับค่าและแสดงผล.
SORTING.
INDEXED FILES แฟ้มดรรชนี.
Functional programming part II
Structure Programming
ชนิดของข้อมูลและตัวดำเนินการ
จำนวนเต็ม จำนวนเต็ม  ประกอบด้วย                   1. จำนวนเต็มบวก    ได้แก่  1 , 2 , 3 , 4, 5 , ....                   2.  จำนวนเต็มลบ      ได้แก่  -1.
LAB # 3 Computer Programming 1
ผังงานโปรแกรม (Program Flowchart)
Week 6 ประกาศค่าตัวแปร.
PHP LANGUAGE.
หน่วยที่ 2 ภาษาโปรแกรม และการออกแบบโปรแกรม
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
คำสั่งเงื่อนไขและการควบคุม
ตัวแปรชุด.
Lecture no. 6 Structure & Union
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
คำสั่ง PERFORM รูปแบบที่ 1 PERFORM procedure- name-1 THROUGH procedure- name-2 THRU ตัวอย่าง PERFORM PROCESS-01. PERFORM PARA-1 THRU PARA-2.  
Surachai Wachirahatthapong
C Programming Lecture no. 9 Structure.
SCC : Suthida Chaichomchuen
การจัดการข้อมูลด้วยคอมพิวเตอร์
วิธีการทำงานของผังงาน
บทที่ 2 ประเภทข้อมูล (DATA TYPE)
บรรณารักษชำนาญการพิเศษ
จำนวนทั้งหมด ( Whole Numbers )
บทที่ 11 การเขียนโปรแกรมภาษาซี
ข้อมูลพื้นฐานและตัวดำเนินการ
Sticker House .บ่งบอกตำแหน่ง House ของ Shelf และแต่ละ Zone จะมีจำนวน House ไม่เท่ากัน .แต่ละ Zone ขนาด Sticker จะไม่เท่ากันขึ้นอยู่กับความหนาของแผ่นพื้น.
ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นเพื่อเก็บข้อมูลในหน่วยความจำ สามารถเก็บข้อมูลชนิดใดก็ ได้ ลักษณะที่สำคัญ ค่าที่จัดเก็บ เมื่อปิดโปรแกรมข้อมูลจะหายไป.
ตัวแปรกับชนิดของข้อมูล
Data Structure and Algorithm
ตัวอย่างการวิเคราะห์งาน และ การเขียนผังงานและซูโดโค้ด
โครงสร้างควบคุมการทำงาน
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
การสอบถามข้อมูลด้วยฟังก์ชั่นสำหรับ
การแทนข้อมูล คอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ซึ่งใช้สัญญาณอิเล็กทรอนิกส์ในการทำงานเพื่อเก็บข้อมูล ประมวลผลและแสดงผลลัพธ์ การมองเห็นข้อมูลของคอมพิวเตอร์กับการมองเห็นข้อมูลของผู้ใช้จะไม่เหมือนกัน.
Linked List (ลิงค์ลิสต์)
การใช้ Word เพื่อการคำนวณ
ตัวแปรกับชนิดของข้อมูล
เรื่อง การสร้างตาราง (Table)
โจทย์วิเคราะห์ปัญหาที่ 1
Week 2 Variables.
การประมวลผลสายอักขระ
Computer Programming for Engineers
โปรแกรม Microsoft Access
การออกแบบโครงสร้าง (Structured Design)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
ง การงานอาชีพและเทคโนโลยี 1 ครูสหรัฐ บัวทอง
รู้จักกับ Microsoft Access 2003
การออกแบบฐานข้อมูลในระดับตรรกะ
การแก้ปัญหาโปรแกรม (Flowchart)
หลักการเขียนโปรแกรม ( )
หน่วยที่ 4 โครงสร้างโปรแกรมภาษาซี
บทที่ 7 เงื่อนไขในภาษาซี
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
บทที่ 6 พจนานุกรมข้อมูล และ คำอธิบายกระบวนการ
บทที่ 2 โครงสร้างของภาษา C.
ตัวแปร และชนิดข้อมูล.
การเขียนโปรแกรม (ภาษาซี)
ผังงานโปรแกรม (Program Flowchart)
ใบสำเนางานนำเสนอ:

สัปดาห์ที่ 3 CH 6 : DATA DIVISION

DATA DIVISION บอกรายละเอียดเกี่ยวกับข้อมูลทั้งหมดที่ใช้ในโปรแกรม เช่น รายละเอียดแต่ละ File , Record ของ File นั้นประกอบด้วย Fieldอะไรบ้าง มีลักษณะอย่างไร BC324 : COBOL Programming CH 6 : DATA DIVISION

DATA DIVISION ประกอบด้วย 2 Section 1. File Section : อธิบายลักษณะของ File และ Record ที่อยู่ใน File นั้น แบ่งเป็น 2 Paragraph 1.1 File Description Paragraph (FD) : อธิบาย ลักษณะของ File 1.2 Record Description Paragraph : อธิบายลักษณะ ของ Record 2. Working-Storage Section : อธิบายลักษณะของ Record หรือกลุ่มข้อมูลต่างๆ ที่ไม่ได้อยู่ใน File แต่จำเป็นต้องใช้ในระหว่างการประมวลผล BC324 : COBOL Programming CH 6 : DATA DIVISION

ตัวอย่าง: . * DATA DIVISION. WORKING-STORAGE SECTION. 77 Num1 PIC 9 VALUE ZEROS. 77 Num2 PIC 9 VALUE ZEROS. 77 Result PIC 99 VALUE ZEROS. BC324 : COBOL Programming CH 6 : DATA DIVISION

ตัวอย่าง: SELECT INVENTORY-FILE ASSIGN TO DISK. SELECT ERROR-LIST ASSIGN TO PRINTER. * DATA DIVISION. FILE SECTION. FD INVENTORY-FILE . FD ERROR-LIST BC324 : COBOL Programming CH 6 : DATA DIVISION

FILE SECTION

File Description Paragraph |-A-| - B ------------------------------------------ SELECT INVENTORY-FILE ASSIGN TO DISK. * DATA DIVISION. FILE SECTION. FD INVENTORY-FILE LABEL RECORD IS STANDARD DATA RECORD IS INV-REC RECORD CONTAINS 80 CHARACTERS VALUE OF FILE-ID IS “C:\INV.DAT”. File Description Paragraph

Field ที่ไม่มี Field ย่อยใดๆ เป็นองค์ประกอบ Files, Records, Fields. File Field ที่ประกอบด้วย Field ย่อยๆ Record ....... Record Field ที่ไม่มี Field ย่อยใดๆ เป็นองค์ประกอบ (Elementary Item) Item Group Item (Field) (Field) Item Item (Field) โครงสร้างของแฟ้มข้อมูลใดๆ ประกอบด้วยกลุ่มของ Record ในเรื่องเดียวกัน และแต่ละ Record ประกอบด้วยกลุ่มของ Field ใน COBOL จะยึดโครงสร้างดังกล่าวในการอธิบายลักษณะข้อมูล BC324 : COBOL Programming CH 6 : DATA DIVISION

File STUDENTS.DAT Record #1 Record #5 Field StudId StudName DateOfBirth 9723456 COUGHLAN 10091961 9724567 RYAN 31121976 9534118 COFFEY 23061964 9423458 O'BRIEN 03111979 9312876 SMITH 12121976 STUDENTS.DAT File Record #1 Record #5 Field DATA DIVISION. FILE SECTION. FD StudentFile. 01 StudentDetails. 02 StudId PIC 9(7). 02 StudName PIC X(8). 02 DateOfBirth PIC X(8). BC324 : COBOL Programming CH 6 : DATA DIVISION

Description Paragraph | -A- | - B -------------------------------------- Record Description Paragraph DATA DIVISION. FILE SECTION. FD STUDENT-FILE LABEL RECORD IS STANDARD DATA RECORD IS STUDENT-REC. 01 STUDENT-REC. 05 ID1 PIC X(03). 05 FILLER PIC X(01) VALUE SPACE. 05 NAME1 PIC A(06). STUDENT-REC ID1 FILLER (= ช่องว่าง) NAME1

Declaring DATA in COBOL 01 Num1 PIC 999 VALUE ZEROS. BC324 : COBOL Programming CH 6 : DATA DIVISION

Level Number ที่มีค่ามากกว่า จะแสดงถึงลำดับชั้นที่ ต่ำกว่า LEVEL Numbers Level Number ใช้สำหรับแสดงถึงโครงสร้างของข้อมูล Level Number มีค่า 01 - 49, 77 , 88 Level Number ที่มีค่ามากกว่า จะแสดงถึงลำดับชั้นที่ ต่ำกว่า Field ที่อยู่ในระดับเดียวกันใช้ Level Number เท่ากัน Level Number ไม่จำเป็นต้องเพิ่มทีละ หนึ่ง BC324 : COBOL Programming CH 6 : DATA DIVISION

LEVEL Numbers 01 : ใช้สำหรับอธิบาย Record (บอกชื่อ Record) ซึ่ง เป็น Level สูงสุด 02-49 : ใช้สำหรับอธิบาย field ย่อยๆของ Record 77 : ใช้สำหรับอธิบาย field ที่ไม่มีโครงสร้างลำดับชั้น หรือไม่มี ความสัมพันธ์กับ field อื่นใดเลย (ไม่มี field ย่อยเป็นองค์ประกอบ และไม่เป็นองค์ประกอบของ field อื่นใด 88 : ใช้กำหนดเงื่อนไขต่าง ๆ ให้กับ field ใน Level Number ก่อนหน้า BC324 : COBOL Programming CH 6 : DATA DIVISION

data-name / FILLER data name : ชื่อของ Record หรือ Group Item หรือ Elementary Item ซึ่งเป็นการอ้างถึงเนื้อที่ใน หน่วยความจำ FILLER : ใช้ในกรณีที่ข้อมูลบริเวณนั้น ไม่ได้ใช้อ้างอิง ในโปรแกรม จึงไม่ต้องระบุชื่อ แต่บริเวณดังกล่าวไม่ได้ แปลว่าเป็นพื้นที่ว่าง (อาจจะว่างหรือไม่ก็ได้) BC324 : COBOL Programming CH 6 : DATA DIVISION

COBOL ‘PICTURE’ Clauses PICTURE : บอกลักษณะของ data name ว่าเก็บข้อมูล ประเภทใด ขนาดเท่าไร สัญลักษณ์ที่ใช้ใน PICTURE แบ่งเป็น 3 ประเภท 1. Data Character Symbol : สัญลักษณ์ที่แสดงถึง ลักษณะของข้อมูล ได้แก่ A , X , 9 2. Operations Symbol : สัญลักษณ์ที่ใช้ในการ คำนวณ ได้แก่ S , V , P (ไม่มีผลกับขนาดของ data name) 3. Editing Symbol : สัญลักษณ์ที่ใช้ในการพิมพ์ ได้แก่ Z , * , $ , + , - , ........... (มีผลกับขนาดของ data name) BC324 : COBOL Programming CH 6 : DATA DIVISION

COBOL ‘PICTURE’ Clauses ตัวอย่าง Data Character Symbol PICTURE ลักษณะข้อมูล ตัวอย่างข้อมูล PIC 9(3) ตัวเลขเท่านั้น (Max : 18 digit) 456 PIC A(7) ตัวอักษร A-Z และช่องว่าง ‘COBOLbb’ PIC X(6) ตัวเลข , ตัวอักษร และ - (hyphen) ‘BC-324’ BC324 : COBOL Programming CH 6 : DATA DIVISION

COBOL ‘PICTURE’ Clauses ตัวอย่าง Operations Symbol (ไม่ใช้เนื้อที่ในการเก็บ) PICTURE ลักษณะข้อมูล ข้อมูลในหน่วยความจำ ใช้เนื้อที่ 77 NUM PIC S9(3) VALUE -500. ตัวเลขที่อาจมีทั้งค่าบวกและค่าลบ 500- 3 byte 77 NUM PIC S9(3) VALUE 500. “ 500 77 NUM PIC 9(3) VALUE -500. 77 NUM PIC 9(2)V99 VALUE 10.45. แสดงตำแหน่งของจุดทศนิยม 10^45 4 byte

COBOL ‘PICTURE’ Clauses ตัวอย่าง Operations Symbol (ไม่ใช้เนื้อที่ในการเก็บ) PICTURE ลักษณะข้อมูล ข้อมูลในMemory ใช้คำนวณ ใช้เนื้อที่ 77 NUM PIC PP99 VALUE 23. แสดงตำแหน่งเลขศูนย์สมมุติ 23 ^0023 2 byte 77 NUM PIC 99PP VALUE 23. 2300^

COBOL ‘PICTURE’ Clauses ตัวอย่าง Editing Symbol PICTURE ลักษณะข้อมูล ข้อมูล ผลลัพธ์ PIC ZZ9 บอกตำแหน่งที่จะแทนที่เลข 0 (ที่อยู่หน้าตัวเลข) ด้วยช่องว่าง 007 bb7 “ 027 b27 PIC Z99 b07 PIC **9 บอกตำแหน่งที่จะแทนที่เลข 0 (ที่อยู่หน้าตัวเลข) ด้วย * **7 PIC $ZZ9 เติม $ หน้าตัวเลข $bb7 BC324 : COBOL Programming CH 6 : DATA DIVISION

Question ? Data Character Symbol & Operations Symbol ตัวอย่างข้อมูล PICTURE กินที่ในหน่วยความจำ 1234 ‘JUN’ ’59’ ’BKKbb’ ’BKKb10100’ -20.50 +33.123 Score 0-100 PIC 9(4) 4 byte PIC A(3) / PIC X(3) 3 byte PIC X(2) 2 byte 5 byte PIC X(5) 9 byte PIC X(9) PIC S9(2)V99 4 byte PIC S9(2)V999 PIC 9(2)V999 5 byte PIC 9(3) 3 byte BC324 : COBOL Programming CH 6 : DATA DIVISION

Question ? Editing Symbol ตัวอย่างข้อมูล ผลลัพธ์ PICTURE ZZ9 007 Z99 012^00 000 **99 0012 ***9 bb7 b07 bb7 b12.00 bbb bb0 **12 **12 BC324 : COBOL Programming CH 6 : DATA DIVISION

Question ? Editing Symbol ตัวอย่างข้อมูล ผลลัพธ์ PICTURE ***9 0010 0000 **** 0100 $999 123 012 $Z99 $ZZZ 000 **10 ***0 **** *100 $123 $012 $b12 bbbb BC324 : COBOL Programming CH 6 : DATA DIVISION

ตัวอย่าง File Section FD STUDENT-FILE LABEL RECORD IS STANDARD DATA DIVISION. FILE SECTION. FD STUDENT-FILE LABEL RECORD IS STANDARD DATA RECORD IS STUDENT-REC. 01 STUDENT-REC. 02 SID PIC X(03). 02 SNAME. 07 FIRST-NAME PIC A(5). 07 LAST-NAME PIC A(10). BC324 : COBOL Programming CH 6 : DATA DIVISION

ตัวอย่าง File Section FD STUDENT-FILE LABEL RECORD IS STANDARD DATA DIVISION. FILE SECTION. FD STUDENT-FILE LABEL RECORD IS STANDARD DATA RECORD IS STUDENT-REC. 01 STUDENT-REC. 05 SID PIC X(03). 05 SNAME. 10 FIRST-NAME PIC A(5). 10 LAST-NAME PIC A(10). BC324 : COBOL Programming CH 6 : DATA DIVISION

COBOL ‘PICTURE’ Clauses PIC 99999 เหมือนกับ PIC 9(5) PIC 9999V999 เหมือนกับ PIC 9(4)V9(3) PIC XXXAA เหมือนกับ PIC X(3)A(2) PIC 999XXX เหมือนกับ PIC 9(3)X(3) PIC ZZZ.ZZ เหมือนกับ PIC Z(3).Z(2) PIC ZZZ,999.99 เหมือนกับ PIC Z(3),9(3).9(2) BC324 : COBOL Programming CH 6 : DATA DIVISION

ตัวอย่าง File Section FD STUDENT-FILE LABEL RECORD IS STANDARD DATA DIVISION. FILE SECTION. FD STUDENT-FILE LABEL RECORD IS STANDARD DATA RECORD IS STUDENT-REC. 01 STUDENT-REC. 05 SID PIC X(03). 05 SNAME. 10 FIRST-NAME PIC A(5). 10 LAST-NAME PIC A(10). BC324 : COBOL Programming CH 6 : DATA DIVISION

WORKING-STORAGE SECTION

DATA DIVISION ประกอบด้วย 2 Section 1. File Section : อธิบายลักษณะของ File และ Record ที่อยู่ใน File นั้น แบ่งเป็น 2 Paragraph 1.1 File Description Paragraph (FD) : อธิบาย ลักษณะของ File 1.2 Record Description Paragraph : อธิบายลักษณะ ของ Record 2. Working-Storage Section : อธิบายลักษณะของ Record หรือกลุ่มข้อมูลต่างๆ ที่ไม่ได้อยู่ใน File แต่จำเป็นต้องใช้ในระหว่างการประมวลผล BC324 : COBOL Programming CH 6 : DATA DIVISION

เพิ่ม Level 77 , 88 DATA DIVISION. WORKING-STORAGE SECTION. | -A- | - B -------------------------------------- เพิ่ม Level 77 , 88 DATA DIVISION. WORKING-STORAGE SECTION. 77 Num1 PIC 999 VALUE ZEROS. 77 VatRate PIC V99 VALUE .18. 01 StudentName PIC X(10) VALUE SPACES. Num1 VatRate StudentName 000 .18 DATA BC324 : COBOL Programming CH 6 : DATA DIVISION

LEVEL Numbers (Working-storage section) 01 : ใช้สำหรับอธิบาย Record (บอกชื่อ Record) ซึ่ง เป็น Level สูงสุด 02-49 : ใช้สำหรับอธิบาย field ย่อยๆของ Record 77 : ใช้สำหรับอธิบาย field ที่ไม่มีโครงสร้างลำดับชั้น หรือไม่มี ความสัมพันธ์กับ field อื่นใดเลย (ไม่มี field ย่อยเป็นองค์ประกอบ และไม่เป็นองค์ประกอบของ field อื่นใด 88 : ใช้กำหนดเงื่อนไขต่าง ๆ ให้กับ field ใน Level Number ก่อนหน้า 88 condition-name {VALUE IS / VALUE ARE} literal-1 [ {THROUGH / THRU } literal-2 ] BC324 : COBOL Programming CH 6 : DATA DIVISION

ตัวอย่าง Working-Storage Section | - A - | --------- B --------------------------------------------- DATA DIVISION. WORKING-STORAGE SECTION. 77 GROSS-PAY PIC 999V99. 01 TOTAL. 05 SALARY PIC 9(04)V99. 05 OVERTIME PIC 9(03)V99. Level No. 77 จะอยู่ก่อนหน้า 01 BC324 : COBOL Programming CH 6 : DATA DIVISION

LEVEL Numbers 88 Level Number 88 : ใช้กำหนดเงื่อนไขต่าง ๆ ให้กับ field ใน Level Number ก่อนหน้า 88 condition-name {VALUE IS / VALUE ARE} literal-1 [ {THROUGH / THRU } literal-2 ] | - A - | --------- B --------------------------------------------- DATA DIVISION. WORKING-STORAGE SECTION. 01 SCORE PIC 999. 88 PASS VALUE 50 THRU 100. 88 FAIL VALUE 0 THRU 49. BC324 : COBOL Programming CH 6 : DATA DIVISION

LEVEL Numbers 88 Level Number 88 : ใช้กำหนดเงื่อนไขต่าง ๆ ให้กับ field ใน Level Number ก่อนหน้า 88 condition-name {VALUE IS / VALUE ARE} literal-1 [ {THROUGH / THRU } literal-2 ] | - A - | --------- B --------------------------------------------- DATA DIVISION. WORKING-STORAGE SECTION. 01 GRADE PIC A. 88 PASS VALUE ‘A’ THRU ‘D’. 88 FAIL VALUE ‘F’. BC324 : COBOL Programming CH 6 : DATA DIVISION

LEVEL Numbers 88 | - A - | --------- B --------------------------------------------- IDENTIFICATION DIVISION. PROGRAM-ID. WEEK3. DATA DIVISION. WORKING-STORAGE SECTION. 01 SCORE PIC 999. 88 PASS VALUE 50 THRU 100. 88 FAIL VALUE 0 THRU 49. PROCEDURE DIVISION. MOVE 60 TO SCORE. IF PASS DISPLAY ‘You are pass’ ELSE DISPLAY ‘You are fail’. STOP RUN. BC324 : COBOL Programming CH 6 : DATA DIVISION

StudentDetails WORKING-STORAGE SECTION. 01 StudentDetails. 02 StudentName PIC X(10). 02 StudentId PIC 9(7). 02 CourseCode PIC X(4). 02 Grant PIC 9(4). 02 Gender PIC X. StudentDetails H E N N E S S Y R M 9 2 3 0 1 6 5 L M 5 1 0 5 5 0 F StudentName StudentId CourseCode Grant Gender

WORKING-STORAGE SECTION. 01 StudentDetails. 02 StudentName. 03 Surname PIC X(8). 03 Initials PIC XX. 02 StudentId PIC 9(7). 02 CourseCode PIC X(4). 02 Grant PIC 9(4). 02 Gender PIC X. StudentDetails H E N N E S S Y R M 9 2 3 0 1 6 5 L M 5 1 0 5 5 0 F StudentName StudentId CourseCode Grant Gender Surname Initials

SUMMARY

SELECT STUDENT-FILE ASSIGN TO ‘STUDENT.DAT’. * DATA DIVISION. | - A - | --------- B ------------------------------------------------------- SELECT STUDENT-FILE ASSIGN TO ‘STUDENT.DAT’. * DATA DIVISION. FILE SECTION. FD STUDENT-FILE LABEL RECORD IS STANDARD DATA RECORD IS STUDENT-REC. 01 STUDENT-REC. 05 SID PIC X(03). 05 SNAME. 10 FIRST-NAME PIC X(5). 10 LAST-NAME PIC X(10). WORKING-STORAGE SECTION. 77 SALARY PIC 9(04)V99. 01 TOTAL. 05 TUITION-FEE PIC 9(04)V99. 05 EXPENSE PIC 9(03)V99. BC324 : COBOL Programming CH 6 : DATA DIVISION

EXERCISE

ให้เขียน DATA DIVISION ของโปรแกรมที่มี File ลักษณะดังนี้ EMPLOYEE-FILE ID-NO (4) (1) NAME1 SALARY (7) (16) FIRST (10) LAST A125 b Mr. A... B....... 15000^00 bb...... A336 Ms. B... M....... 20000^00 C007 Mr. S... N....... 30000^00 . Record ของ EMPLOYEE-FILE ชื่อ EMPLOYEE-REC มีตัวแปรอิสระที่ไม่อยู่ใน File คือ EMP-COUNT เก็บตัวเลข 0 – 1,000 AMOUNT เก็บตัวเลข 0 – 100,000 (มีทั้งเลข + และ -)