# การใช้งาน Nested Loop ในภาษา COBOL แบบง่ายๆ
ในโลกของการเขียนโปรแกรม หนึ่งในแนวคิดพื้นฐานที่มีความสำคัญคือการใช้งานลูปหรือวงรอบ (loop) เพื่อทำซ้ำกิจกรรมหนึ่งๆ หากประสบการณ์ของคุณเป็นการเขียนโปรแกรมเบื้องต้น คุณอาจเคยพบกับลูปธรรมดาเช่น `FOR`, `WHILE`, หรือ `DO-WHILE` แต่เมื่อเข้าสู่สถานการณ์ที่ซับซ้อนมากขึ้น เช่น การจัดการข้อมูลหลายมิติ เราจะต้องใช้ `nested loop` หรือวงรอบซ้อนทับกัน
ในภาษา COBOL ที่มีความสำคัญในวงการธนาคารและองค์กรระดับองค์กรใหญ่ การใช้งาน nested loop เป็นทักษะที่มีประโยชน์อย่างมาก เราจะวิเคราะห์การทำงานของ nested loop และดูตัวอย่างง่ายๆ สามตัวอย่างพร้อมตัวอย่างการใช้งานในโลกจริงไปพร้อมๆ กัน
ในธุรกิจค้าปลีก การตรวจสอบรายการสินค้าที่มีในสต็อกเป็นกิจวัตรประจำวัน ด้านล่างนี้คือตัวอย่างการใช้งาน nested loop ใน COBOL สำหรับการเข้าถึงรายการสินค้าตามแต่ละสาขา:
IDENTIFICATION DIVISION.
PROGRAM-ID. STOCK-CHECK.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 STORE-ITEMS OCCURS 5 TIMES.
05 ITEM-NUMBER OCCURS 10 TIMES PIC 9(4).
PROCEDURE DIVISION.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 10
DISPLAY "Store ", I, ", Item ", J, ": ", ITEM-NUMBER(I, J)
END-PERFORM
END-PERFORM.
STOP RUN.
ในตัวอย่างนี้ `ITEM-NUMBER` เป็นอาร์เรย์สองมิติ ที่มีการใช้งาน loop ซ้อนกันสองวงรอบ หลังจากนั้นมีการแสดงรายการสินค้าในแต่ละสาขา
นิยมใช้ในการจัดการฐานข้อมูล การคำนวณผลรวมของตัวเลขในตารางสามารถใช้ nested loop ได้:
IDENTIFICATION DIVISION.
PROGRAM-ID. SUM-TABLE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUM-TABLE.
05 ROWS OCCURS 3 TIMES.
10 COLUMNS OCCURS 4 TIMES PIC 9(4).
01 TOTAL-SUM PIC 9(8) VALUE ZERO.
PROCEDURE DIVISION.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 3
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 4
ADD COLUMNS(I, J) TO TOTAL-SUM
END-PERFORM
END-PERFORM.
DISPLAY "Total Sum: ", TOTAL-SUM.
STOP RUN.
ในโค้ดนี้ เราจะคำนวณผลรวมของตัวเลขในอาร์เรย์สองมิติ โดยการเดินทางผ่านแต่ละ cell.
ตัวอย่างต่อไปเป็นการจัดการตารางคะแนนของนักเรียนในโรงเรียน ซึ่งเป็นการใช้งานจริงซึ่งจะเห็นได้จากการใช้ nested loop:
IDENTIFICATION DIVISION.
PROGRAM-ID. GRADE-REPORT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 STUDENT-GRADES OCCURS 30 TIMES.
05 TEST-SCORES OCCURS 5 TIMES PIC 9(2).
01 STUDENT-TOTAL PIC 9(3) VALUE ZERO.
PROCEDURE DIVISION.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 30
MOVE ZERO TO STUDENT-TOTAL
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 5
ADD TEST-SCORES(I, J) TO STUDENT-TOTAL
END-PERFORM
DISPLAY "Student ", I, " Total Score: ", STUDENT-TOTAL
END-PERFORM.
STOP RUN.
ในโปรแกรมนี้ จะวนลูปผ่านนักเรียนแต่ละคนและคะแนนสอบแต่ละครั้งของพวกเขา แล้วแสดงคะแนนรวม
Nested loop มีความสำคัญอย่างมากในการดำเนินการที่ซับซ้อน เช่น การประมวลผลข้อมูลที่ได้รับจากการสำรวจ, การจัดลำดับข้อมูลในระบบฐานข้อมูล, หรือการแปลงข้อมูลในโปรแกรมด้านการเงิน. สำหรับผู้ที่สนใจเข้าสู่โลกของการเขียนโปรแกรม COBOL หรือแม้กระทั่งเรียนรู้แนวคิดการเขียนโปรแกรมในทุกภาษา ที่ Expert-Programming-Tutor (EPT), เรามีหลักสูตรที่จะช่วยให้คุณเจาะลึกเข้าไปในเทคนิคต่างๆ และออกแบบโปรแกรมของคุณเองได้อย่างมีประสิทธิภาพ
การเรียนรู้ที่ EPT จะช่วยเพิ่มคุณภาพให้กับการเขียนโปรแกรมของคุณ เพิ่มความสามารถในการแก้ปัญหาที่ซับซ้อน และเปิดโอกาสให้คุณก้าวเข้าสู่อาชีพที่น่าตื่นเต้นในอัตราที่เร็วขึ้น! ไม่ว่าจะเป็นเพื่อการพัฒนาอาชีพหรือการพัฒนาส่วนบุคคล เราพร้อมส่งผ่านความรู้ที่คุณต้องการเพื่อไปถึงเป้าหมายของคุณ สมัครเรียนได้เลยที่ Expert-Programming-Tutor แล้วพบกับโลกแห่งการเขียนโปรแกรมที่มหัศจรรย์ด้วยกัน!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: cobol nested_loop programming looping coding multi-dimensional_array real-world_example programming_language algorithm tutorial
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM