บทที่ 3 Data Types

Download Report

Transcript บทที่ 3 Data Types

DATA DIVISION.
FILE SECTION.
FD ชื่อแฟ้ม
[ RECORD CONTAINS จำนวนเต็ม BYTES].
01 ชื่อระเบียน
[PIC X(จำนวนเต็ม)].
[ ระดับตัวเลข ชื่อข้อมูล PIC X(จำนวนเต็ม).]
....
WORKING-STORAGE SECTION.
01 ชื่อข้อมูล-1 PIC …..
01 ชื่อข้อมูล-2.
03 ชื่อข้อมูล-21 PIC ….
03 ชื่อข้อมูล-22 PIC ….
….
SCREEN SECTION.
.....
PROCEDURE DIVISION.
ชื่อพารากราฟ.
.....
STOP RUN.
ระดับตัวเลข
ใช้ อธิบายความสัมพันธ์ระหว่างเขตข้ อมูลที่อยูภ่ ายใต้ ชื่อข้ อมูลสูงสุดเดียวกัน
ชื่อข้ อมูลจะต้ องมีระดับตัวเลข (level-number) ของข้ อมูลนาหน้ า
โดยชื่อข้ อมูลที่อยูร่ ะดับสูงสุดจะต้ องเป็ น 01 เสมอ
และถ้ ามีชื่อข้ อมูลที่อยูใ่ นระดับตัวเลขรองลงมาจะใช้ ระดับตัวเลข 02-49 นา
และควรเขียนระดับตัวเลขให้ เยื ้องไปข้ างขวา
โดยระดับตัวเลขต่าสุดคือ 49
ระดับตัวเลขที่ใช้ ไม่จาเป็ นต้ องเรี ยงต่อกัน
อาจมีการข้ ามบางระดับหมายเลขเพื่อความสะดวกในการเพิ่มชื่อข้ อมูลในภายหลัง
ชื่อข้ อมูลที่มีระดับตัวเลขรองลงมา จะเป็ นส่วนประกอบของชื่อข้ อมูลที่อยูใ่ นระดับสูงกว่า
ตัวอย่ำง
01 ONE.
02 TWO.
03 THREE ....
03 FOUR ....
02 FIVE.
03 SIX ....
03 SEVEN ....
01 ONE.
03 TWO.
10 THREE ....
10 FOUR ....
03 FIVE.
07 SIX ....
07 SEVEN ....
ประเภทข้อมูล
• ตัวเลข (Numeric) ได้ แก่ ตัวเลข 0-9 และ ZERO ZEROS
ZEROES
• ตัวอักษร (Alphabetic) ได้ แก่ ตัวอักษร A-Z และ SPACE และ
SPACES
• ตัวอักษรเลข (Alphanumeric) ตัวเลข 0-9 ตัวอักษร A-Z และ
ZERO ZEROS ZEROES SPACE SPACES
• ตัวเลขบรรณาธิกร (Numeric edited) ตัวเลขที่ใช้ ในการ
แสดงผล
กำรกำหนดประเภทและขนำดข้อมูล
• การกาหนดประเภทของข้ อมูลให้ กบั ชื่อข้ อมูลทาได้ โดยใส่ตวั อักขระที่ใช้
แสดงประเภทข้ อมูล ไว้ ตงแต่
ั ้ แรกเริ่มที่ได้ กาหนดชื่อข้ อมูลใน DATA
DIVISION ในส่วนของ PICTURE ใช้ สาหรับกาหนดตัวอักขระ
เพื่อบอกประเภทและขนาดของชื่อข้ อมูล
PICTURE
• PICTURE หรื อ PIC เป็ นส่วนที่ใช้ สาหรับอธิบายลักษณะของข้ อมูล
• ถ้ าชื่อข้ อมูลใดประกอบด้ วยชื่อข้ อมูลที่มีระดับตัวเลขรองลงมา ชื่อ
ข้ อมูลที่อยูร่ ะดับสูง (Group item) ไม่ต้องกาหนด PICTURE
สาหรับชื่อข้ อมูลที่อยูใ่ นระดับตัวเลขที่ต่าสุด (Elementary item)
ต้ องมี PICTURE ทุกครัง้
• เมื่อจบการกาหนดชื่อและประเภทข้ อมูลในแต่ละบรรทัด จะต้ องใส่จดุ
(.) ที่ท้ายคาสัง่
รู ปแบบ
Picture character
อักขระกำหนดประเภทและขนำดข้ อมูล (Picture characters)
แบ่งออกได้ เป็ น 2 ประเภท
-อักขระที่ใช้ ในการกาหนดประเภทและขนาดของข้ อมูลเพื่อใช้ ในการจัดเก็บ
และ
-อักขระที่ใช้ ในการกาหนดประเภทและขนาดของข้ อมูลเพื่อใช้ ในการ
แสดงผล
อักขระ A
• ใช้ กบั ข้ อมูลที่เป็ นตัวอักษรและที่วา่ งเท่านัน้
• ข้ อมูลที่เป็ นตัวอักษรหรื อที่วา่ ง 1 ตัว ใช้ เนื ้อที่ในการจัดเก็บ 1 ไบต์
ข้ อมูลที่ถกู เก็บไว้ ในรูปของ PICTURE A จะไม่สามารถนาไปใช้
คานวณได้
01 ALPHA
01 ALPHA
PICTURE AAA.
PICTURE A(3).
01 FL-NAME.
02 FIRST-NAME
02 LAST-NAME
PIC A(15).
PIC A(15).
การกาหนดชื่อข้ อมูลไว้ สาหรับเก็บชื่อยาว 30 ตัวอักษร หรื อ ไบต์
โดยกาหนดให้ ชื่อยาว 15 ตัวอักษร และชื่อสกุลยาว 15 ตัวอักษร
อักขระ X
ใช้ ได้ กบั ข้ อมูลทุกประเภททังที
้ ่เป็ นตัวอักษร ตัวเลข และ
อักขระอื่นๆ
ข้ อมูลที่ถกู เก็บไว้ ในรูปของ PICTURE X จะใช้ เนื ้อที่ 1
ไบต์ตอ่ ตัวอักขระ 1 ตัว
ไม่สามารถนาข้ อมูลที่มี PICTURE X ไปใช้ ในการคานวณ
อักขระ 9
อักขระ S
• ใช้ ในกรณีที่ต้องการแสดงเครื่ องหมาย + หรื อ- ของข้ อมูลที่เป็ นตัวเลข
และอยูใ่ นรูปของ PICTURE 9
• การใช้ CHARACTER S จะไม่เสียเนื ้อที่ในการจัดเก็บ
• CHARACTER S จะถูกวางไว้ ที่หน้ า PICTURE 9 เสมอ และมี
ได้ เพียงตัวเดียวเท่านัน้
• ถ้ าไม่มีอกั ขระ S ใน PICTURE ของตัวเลข คอมพิวเตอร์ จะถือว่า
ข้ อมูลนันมี
้ คา่ เป็ นบวก
ตัวอย่าง
01 NUMBER
PIC S9(3).
NUMBER ใช้ เก็บตัวเลขและเครื่ องหมาย ใช้ เนื ้อที่ในการจัดเก็บตัวเลข
และเครื่ องหมายจานวน 3 ไบต์ ไบต์ที่ 1 เก็บตัวเลขหลักร้ อย 1 ตัว
ไบต์ที่ 2 เก็บตัวเลขหลักสิบ 1 ตัว ส่วนไบต์ที่ 3 เก็บ ตัวเลขหลักหน่วย 1
ตัว และ เก็บเครื่ องหมายบวกหรื อลบด้ วย
อักขระ V
• อักขระ V ใช้ ร่วมกับอักขระ 9 เพื่อแสดงตาแหน่งของจุดทศนิยมใน
ข้ อมูลที่เป็ น PICTURE 9 โดยจะมีได้ เพียงตัวเดียวเท่านัน้
• สาหรับข้ อมูลที่เป็ น PICTURE 9 แต่ไม่มี CHARACTER V
แสดงว่า จุดทศนิยมอยูท่ ี่ตาแหน่งหลังตัวเลขหลักสุดท้ าย
ตัวอย่าง
01 WORK-HOURS
PIC 99V9.
WORK-HOURS เก็บข้ อมูลจานวนชัว่ โมงการทางานในรูปแบบของ
ตัวเลขจานวนเต็มไม่เกิน 2 หลัก และมีจานวนทศนิยมเพียง 1 หลัก
ตัวอย่าง
01 WAGE
PIC S9(4)V99.
WAGE เก็บค่าจ้ างในรูปแบบของตัวเลขจานวนเต็มไม่เกิน 4 หลัก และมี
จานวนทศนิยม 2 หลัก นอกจากนี ้ยังมีการเก็บเครื่ องหมายของข้ อมูล
ด้ วย
อักขระทีใ่ ช้ ในการกาหนดประเภทและขนาดของข้ อมูลเพือ่
ใช้ ในการแสดงผล (Editing character)
เป็ นอักขระทีใ่ ช้ เขียนในส่ วนของ PICTURE เพือ่ ช่ วยในการ
จัดรู ปแบบข้ อมูล
อักขระเหล่ านีจ้ ะใช้ ร่วมกับ อักขระ 9 อักขระ X และอักขระ A แต่
ไม่ สามารถใช้ ร่วมกับอักขระ S และ V ได้
ข้ อมูลทีอ่ ยู่ในรู ปแบบทีป่ ระกอบด้ วยอักขระทีใ่ ช้ ในการจัดรู ปแบบ
จะไม่ สามารถนาไปใช้ ในการคานวณได้
อักขระ /
• ใช้ เมื่อต้ องการแสดงเครื่ องหมาย / แทรกระหว่างตัวเลข หรื อ ตัวอักขระอื่น
ตัวอย่าง
01 TODAY
PIC 99/99/99.
01 DESCRIPT PIC XXX/XXX.
อักขระ Z
ใช้ เขียนแทนอักขระ 9 ในกรณีที่มีเลขศูนย์นาหน้ าข้ อมูล แต่
ไม่ต้องการให้ มีการแสดงเลขศูนย์ แต่ต้องการให้ แสดงเป็ นที่วา่ งแทน
เลข 0
อักขระ Z สำมำรถเขียนได้หลำยตัว โดยจะต้องวำงไว้ที่หน้ำ
อักขระ 9 เสมอ
01 SALARY
9520
0
PIC ZZZZZ9.
9520
0
01 CONST
PIC ZZZ.99
0
01 CONST
.00
PIC ZZ9.99
0
0.00
อักขระ .
ใช้ เขียนร่วมกับ PICTURE 9 หรื อ PICTURE Z
โดยใช้ ได้ ครัง้ ละ 1 ตัว
ตัวอย่าง
01 SALARY
01 SALARY
PIC 9(5).99.
PIC ZZZZZ.99.
อักขระ ,
ใช้ เขียนร่วมกับ PICTURE 9 หรื อ PICTURE Z
ตัวอย่ำง
01 SALARY PIC 9,999,999.99.
01 SALARY PIC ZZ,ZZZ.99.
อักขระ $
ใช้ เขียนร่วมกับ PICTURE 9 หรื อ PICTURE Z
การใช้ อกั ขระ $ มี 2 แบบ
1. ตาแหน่งของอักขระ $ คงที่
2. ตาแหน่งของอักขระ $ จะเคลื่อนที่ไปมาได้
อักขระ $ คงที่
01 SALARY PIC $9(5).99.
9520
$09520.00
01 SALARY PIC $ZZ,ZZZ.99.
9520
$9,520.00
ตัวอย่าง
01 SALARY PIC $,$$$,$$$.99.
19520
$19,520.00
9520
$9,520.00
520 $520.00
อักขระ CR
อักขระ CR จะวางไว้ ที่ตาแหน่งขวาสุดของอักขระ 9 เพื่อแสดงว่า เป็ น
ค่าเครดิต ที่ติดลบ
อักขระ CR จะถูกแสดงเมื่อข้ อมูลมีคา่ ติดลบเท่านัน้
ถ้ าข้ อมูลมีคา่ เป็ นบวกจะแสดงอักขระว่าง แทนอักขระ CR
01 CRED PIC $ZZ,ZZ9.99CR
1200
$1,200.00
-12
$1,200.00CR
อักขระ DB
อักขระ DB จะวางไว้ ที่ตาแหน่งขวาสุดของอักขระ 9 เพื่อแสดงว่า เป็ น ค่าเดบิตที่ติดลบ
อักขระ DB จะถูกแสดงเมื่อข้ อมูลมีคา่ ติดลบเท่านัน้
ถ้ าข้ อมูลมีคา่ เป็ นบวกจะแสดงอักขระว่าง แทนอักขระ DB
01 DEB PIC $ZZ,ZZ9.99DB
1200
$1,200.00
-1200
$1,200.00DB
01 DEB PIC $ZZ,ZZ9.99BDB
1200
$1,200.00
-1200
$1,200.00DB
อักขระ +
อักขระ + จะวางไว้ ได้ ทงที
ั ้ ่ตาแหน่งขวาสุดและซ้ าย
สุดของอักขระ 9 เพื่อแสดงว่า ค่าเป็ นบวกหรื อลบ
อักขระ + จะถูกแสดงถ้ าค่าเป็ นบวก
อักขระ - จะถูกแสดงถ้ าค่าเป็ นหรื อลบ
01 TOTAL PIC $ZZ,ZZ9.99+
120
$120.00+
-120
$120.0001 TOTAL PIC +ZZ9
20
+20
-20
-20
01 TOTAL PIC ++,++9.99
+20
+20.00
-20
-20.00
อักขระ -
อักขระ - จะวางไว้ ได้ ทงที
ั ้ ่ตาแหน่งขวาสุดและซ้ ายสุดของอักขระ 9 เพื่อแสดงว่า
ค่าเป็ นบวกหรื อลบ
อักขระ - จะถูกแสดงถ้ าค่าเป็ นลบ
แต่จะแสดงอักขระว่าง ถ้ าค่าเป็ นบวก
01 TOTAL
PIC $ZZ,ZZ9.99120
$120.00
-120
$120.0001 TOTAL PIC -ZZ9
20
20
-20
-20
01 TOTAL PIC --,--9.99
+20 20.00
-20 -20.00
อักขระ *
ใช้ เขียนแทนอักขระ 9 ในกรณีที่มีเลขศูนย์นาหน้ า
แต่ต้องการให้ แสดงเป็ น * แทนเลข 0
อักขระ * สามารถเขียนได้ หลายตัว โดยจะต้ องวางไว้ ที่หน้ าอักขระ 9 เสมอ
การใช้ อกั ขระ * มี 2 แบบ
1. ตาแหน่งของอักขระ * คงที่ โดยให้ วางเครื่ องหมาย * เพียงตัวเดียวไว้ ที่
ตาแหน่งซ้ ายสุดของอักขระ 9 หรื อ อักขระ Z
01 SALARY PIC *****9.
9520
**9520
0
*****0
01 SALARY PIC $***,***.**.
9520
$**9,520.00
0
$******.**
USAGE
เป็ นส่วนที่ใช้ ในการกาหนดขนาดการจัดเก็บข้ อมูลภายใน
หน่วยความจา
ใช้ เขียนตามหลัง PICTURE
ถ้ าไม่มีการกาหนด USAGE จะถือว่า USAGE IS
DISPLAY
การจัดเก็บข้ อมูล มี 3 ประเภท ได้ แก่
1. DISPLAY
2. COMPUTATIONAL หรื อ COMP หรื อ BINARY
3. PACKED-DECIMAL หรื อ COMPUTATIONAL-3
การจัดเก็บข้ อมูล มี 3 ประเภท ได้ แก่
1. DISPLAY ตัวอักขระ 1 ตัว ใช้ เนื ้อที่ 1 ไบต์ หรือ
PICTURE CHARACTER ทุกตัว ยกเว้ น S, V
มีความยาวตัวละ 1 ไบต์
ส่วน S, V ไม่ใช้ เนื ้อที่ในการจัดเก็บ
2. COMPUTATIONAL หรื อ COMP หรื อ BINARY
3. PACKED-DECIMAL หรือ COMPUTATIONAL-3
3. PACKED-DECIMAL หรื อ COMPUTATIONAL-3
ใช้ เก็บข้ อมูลในรูปแบบเฉพาะ ซึง่ จะประหยัดเนื ้อที่มากกว่าการจัดเก็บแบบ
DISPLAY และ COMP
PICTURE CHARACTER ที่ใช้ ได้ คือ 9, S, V มีตวั อักขระ 9 ได้ ไม่เกิน 18
ตัว
ขนาดความยาวคิดได้ จาก
สูตร
จำนวนไบต์ = [จำนวนอักขระ 9 / 2] + 1 ปั ดเศษทิง้
ทัง้ หมด
BLANK WHEN ZERO
ใช้ ได้ กบั เฉพาะชื่อข้ อมูลที่เป็ นประเภทตัวเลขเท่านัน้
เมื่อต้ องการให้ แสดงที่วา่ งเมื่อชื่อข้ อมูลนันมี
้ คา่ เป็ นศูนย์
โดย USAGE ต้ องเป็ น DISPLAY
ตัวอย่าง
01 UNIVERSITY PIC A(15) VALUE “KASETSART”.
01 ADDRESS
PIC X(20) VALUE “50 JATUJAK BKK”.