1 / 28

SORTING

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

ilyssa
Télécharger la présentation

SORTING

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SORTING

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

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

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

  5. SORT cod price cod price

  6. SORT code1 code2 price code1 code2 price

  7. SORT SORT code1 code2 price

  8. SORT SORT code1 code2 price

  9. SORT • การทำงานในคำสั่ง SORT จะเริ่มต้นที่ INPUT PROCEDURE • เมื่อจบการทำงานที่ INPUT PROCEDURE จะมีการเรียงลำดับเรคอร์ดข้อมูลที่ได้รับมาให้โดยอัตโนมัติ • เมื่อการเรียงลำดับเสร็จเรียบร้อย จะไปทำงานที่ OUTPUT PROCEDURE ทันที • เมื่อจบการทำงานที่ OUTPUT PROCEDURE แล้ว ก็ถือว่าจบการทำงานของคำสั่ง SORT จากนั้นจึงจะไปทำงานที่คำสั่งถัดจาก SORT

  10. INPUT PROCEDURE • ทำหน้าที่เตรียมเรคอร์ดของข้อมูลที่ยังไม่เรียงลำดับ Unsorted Record Sorted Record IN-FILE INPUT PROCEDURE Sort process OUT-FILE SORT-FILE

  11. บันทึกข้อมูลลงในแฟ้มชั่วคราวบันทึกข้อมูลลงในแฟ้มชั่วคราว INPUT PROCEDURE ทำหน้าที่เตรียมข้อมูล ก่อนที่จะนำไปเรียงลำดับ ใน INPUT PROCEDURE ต้องประกอบด้วย RELEASEอย่างน้อยหนึ่งคำสั่ง

  12. OUTPUT PROCEDURE OUTPUT PROCDURE ทำหน้าที่จัดการเรคคอร์ดของข้อมูลที่ผ่านการเรียงลำดับแล้ว ใน OUTPUT PROCEDURE ต้องประกอบด้วยคำสั่ง RETURN อย่างน้อย 1 คำสั่ง Unsorted Record Sorted Record IN-FILE Sort process OUTPUT PROCEDURE OUT-FILE SORT-FILE

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

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

  15. 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).

  16. 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

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

  18. 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".

  19. 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

  20. 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.

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

  22. 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".

  23. 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.

More Related