Sorting
Download
1 / 28

SORTING - PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on

SORTING. SORTING. ฟิลด์หลัก : รหัสสินค้า ฟิลด์รอง 1 : รหัสลูกค้า ฟิลด์รอง 2 : จำนวนสินค้า. ฟิลด์หลัก : รหัสลูกค้า ฟิลด์รอง 1 : รหัสสินค้า ฟิลด์รอง 2 : จำนวนสินค้า. SORT.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' SORTING' - ilyssa


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

SORTING

ฟิลด์หลัก : รหัสสินค้า

ฟิลด์รอง 1 : รหัสลูกค้า

ฟิลด์รอง 2 : จำนวนสินค้า


ฟิลด์หลัก : รหัสลูกค้า

ฟิลด์รอง 1 : รหัสสินค้า

ฟิลด์รอง 2 : จำนวนสินค้า


SORT

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


SORT

cod price

cod price


SORT

code1 code2 price

code1 code2 price


SORT

SORT

code1 code2 price


SORT

SORT

code1 code2 price


SORT

  • การทำงานในคำสั่ง SORT จะเริ่มต้นที่ INPUT PROCEDURE

  • เมื่อจบการทำงานที่ INPUT PROCEDURE จะมีการเรียงลำดับเรคอร์ดข้อมูลที่ได้รับมาให้โดยอัตโนมัติ

  • เมื่อการเรียงลำดับเสร็จเรียบร้อย

    จะไปทำงานที่ OUTPUT PROCEDURE ทันที

  • เมื่อจบการทำงานที่ OUTPUT PROCEDURE แล้ว ก็ถือว่าจบการทำงานของคำสั่ง SORT จากนั้นจึงจะไปทำงานที่คำสั่งถัดจาก SORT


Input procedure
INPUT PROCEDURE

  • ทำหน้าที่เตรียมเรคอร์ดของข้อมูลที่ยังไม่เรียงลำดับ

Unsorted Record

Sorted Record

IN-FILE

INPUT

PROCEDURE

Sort

process

OUT-FILE

SORT-FILE


บันทึกข้อมูลลงในแฟ้มชั่วคราวบันทึกข้อมูลลงในแฟ้มชั่วคราว

INPUT PROCEDURE ทำหน้าที่เตรียมข้อมูล ก่อนที่จะนำไปเรียงลำดับ

ใน INPUT PROCEDURE ต้องประกอบด้วย RELEASEอย่างน้อยหนึ่งคำสั่ง


Output procedure
OUTPUT PROCEDUREบันทึกข้อมูลลงในแฟ้มชั่วคราว

OUTPUT PROCDURE ทำหน้าที่จัดการเรคคอร์ดของข้อมูลที่ผ่านการเรียงลำดับแล้ว ใน OUTPUT PROCEDURE ต้องประกอบด้วยคำสั่ง RETURN อย่างน้อย 1 คำสั่ง

Unsorted Record

Sorted Record

IN-FILE

Sort

process

OUTPUT

PROCEDURE

OUT-FILE

SORT-FILE


อ่านข้อมูลจากแฟ้มชั่วคราวอ่านข้อมูลจากแฟ้มชั่วคราว


ตัวอย่าง อ่านข้อมูลจากแฟ้มชั่วคราว

การเรียงลำดับข้อมูล โดยการอ่านข้อมูลจากแฟ้ม IN-FILE แล้วนำมาเรียงลำดับ โดยใช้ SORT-FILE เป็นแฟ้มชั่วคราวที่ช่วยในการเรียงลำดับ จากนั้นจึงทำการเรียงลำดับข้อมูล แล้วบันทึกข้อมูลที่เรียงลำดับแล้วลงในแฟ้ม OUT-FILE


FILE-CONTROL.อ่านข้อมูลจากแฟ้มชั่วคราว

SELECT IN-FILE ASSIGN TO "D:\COBOLMIX\DATA\STOCK.DAT".

SELECT SORT-FILE ASSIGN TO DISK.

SELECT OUT-FILE ASSIGN TO "D:\COBOLMIX\DATA\OUT.DAT".

FD IN-FILE.

01 IN-REC.

05 ICODE PIC 99.

05 INAME PIC X(10).

05 IQUANT PIC 9(4).

05 IPRICE PIC 9(4)V99.

05 PIC XX.

SD SORT-FILE.

01 SORT-REC.

05 SCODE PIC 99.

05 SNAME PIC X(10).

05 SQUANT PIC 9(4).

05 SPRICE PIC 9(4)V99.

05 PIC XX.

FD OUT-FILE.

01 OUT-REC PIC X(24).


FILE-CONTROL.อ่านข้อมูลจากแฟ้มชั่วคราว

SELECT IN-FILE ASSIGN TO "D:\COBOLMIX\DATA\STOCK.DAT".

SELECT SORT-FILE ASSIGN TO DISK.

SELECT OUT-FILE ASSIGN TO "D:\COBOLMIX\DATA\OUT.DAT".

PROCEDURE DIVISION.

SORT SORT-FILE ON ASCENDING KEY SCODE

USING IN-FILE

GIVING OUT-FILE.

STOP RUN.

IN-FILE

Sort

process

OUT-FILE

Unsorted Record

Sorted Record

SORT-FILE


ตัวอย่าง อ่านข้อมูลจากแฟ้มชั่วคราว

การเรียงลำดับข้อมูล โดยการอ่านข้อมูลจากแฟ้ม IN-FILE แล้วนำมาตรวจสอบข้อมูลก่อน ถ้าเป็นข้อมูลที่ต้องการ คือ ข้อมูลที่มีรหัสสินค้าอยู่ระหว่าง 01 ถึง 50 จึงจะนำไปบันทึกลงในแฟ้มSORT-FILE ซึ่งเป็นแฟ้มชั่วคราวที่ใช้ในการเรียงลำดับ จากนั้นจึงทำการเรียงลำดับข้อมูล แล้วบันทึกข้อมูลที่เรียงลำดับแล้วลงในแฟ้ม OUT-FILE


FILE-CONTROL.อ่านข้อมูลจากแฟ้มชั่วคราว

SELECT IN-FILE ASSIGN TO "D:\COBOLMIX\DATA\STOCK.DAT".

SELECT SORT-FILE ASSIGN TO DISK.

SELECT OUT-FILE ASSIGN TO "D:\COBOLMIX\DATA\OUT.DAT".

SD SORT-FILE.

01 SORT-REC.

05 SCODE PIC 99.

05 PIC X(22).

FD IN-FILE.

01 IN-REC.

05 ICODE PIC 99.

05 INAME PIC X(10).

05 IQUANT PIC 9(4).

05 IPRICE PIC 9(4)V99.

05 PIC XX.

FD OUT-FILE.

01 OUT-REC PIC X(24).

WORKING-STORAGE SECTION.

01 EOF-SW PIC X.

88 EOF VALUE "Y".


MAIN-PARA.อ่านข้อมูลจากแฟ้มชั่วคราว

SORT SORT-FILE ON ASCENDING KEY SCODE

INPUT PROCEDURE PRE-SORT

GIVING OUT-FILE.

STOP RUN.

Unsorted Record

Sorted Record

IN-FILE

Select

data

Sort

process

OUT-FILE

SORT-FILE


PRE-SORT.อ่านข้อมูลจากแฟ้มชั่วคราว

OPEN INPUT IN-FILE

PERFORM READ-IN-FILE

PERFORM CHECK-RECORD UNTIL EOF

CLOSE IN-FILE.

READ-IN-FILE.

READ IN-FILE AT END MOVE "Y" TO EOF-SW

END-READ.

CHECK-RECORD.

IF ICODE <= 50 AND > 0

RELEASE SORT-REC FROM IN-REC

END-IF

PERFORM READ-IN-FILE.


คำสั่ง อ่านข้อมูลจากแฟ้มชั่วคราวMERGE

คำสั่งนี้ใช้สำหรับนำแฟ้มที่ประกอบด้วยข้อมูลที่เรียงลำดับแล้วตั้งแต่ 2 แฟ้มขึ้นไป มารวมกันแล้วได้แฟ้มใหม่ แฟ้มใหม่ที่เกิดขึ้นนี้จะประกอบด้วยข้อมูลที่เรียงลำดับแล้วเช่นกัน คำสั่ง MERGE มีวิธีการใช้งานเหมือนกับคำสั่ง SORT

1

5

9

1

2

3

5

7

9

2

3

7


SELECT IN-FILE ASSIGN TO "D:\COBOLMIX\DATA\STOCK.DAT".อ่านข้อมูลจากแฟ้มชั่วคราว

SELECT IN-FILE2 ASSIGN TO "D:\COBOLMIX\DATA\STOCK2.DAT".

SELECT SORT-FILE ASSIGN TO DISK.

SELECT OUT-FILE ASSIGN TO "D:\COBOLMIX\DATA\OUT.DAT".


FD IN-FILE.อ่านข้อมูลจากแฟ้มชั่วคราว

01 IN-REC.

05 ICODE PIC 99.

05 INAME PIC X(10).

05 IQUANT PIC 9(4).

05 IPRICE PIC 9(4)V99.

05 PIC XX.

FD IN-FILE2.

01 IN-REC2.

05 ICODE2 PIC 99.

05 INAME2 PIC X(10).

05 IQUANT2 PIC 9(4).

05 IPRICE2 PIC 9(4)V99.

05 PIC XX.

SD MERGE-FILE.

01 MERGE-REC.

05 MCODE PIC 99.

05 MNAME PIC X(10).

05 MQUANT PIC 9(4).

05 MPRICE PIC 9(4)V99.

05 PIC XX.

FD OUT-FILE.

01 OUT-REC PIC X(24).

PROCEDURE DIVISION.

MAIN-PARA.

MERGE MERGE-FILE ON ASCENDING KEY MCODE

USING IN-FILE IN-FILE2

GIVING OUT-FILE.

STOP RUN.


ad