วันศุกร์ที่ 3 กรกฎาคม พ.ศ. 2552

สแตก(Stack) คืออะไร










สแตก(Stack) คืออะไร






ความรู้พื้นฐานเกี่ยวกับสแตก
โครงสร้างข้อมูลที่สำคัญและมีลักษณะเรียบง่ายซึ่งใช้แถวลำดับเป็นโครงสร้างสำหรับเก็บข้อมูลพื้นฐานได้แก่สแตก เพราะภาษาคอมพิวเตอร์ส่วนมากกำหนดชนิดแถวลำดับไว้ล่วงหน้าและการทำงานของแถวลำดับสะดวกและเรียบง่าย
สแตกเป็นโครงสร้างข้อมูลแบบลิเนียร์ลิสต์(linear list) ที่สามารถนำข้อมูลเข้าหรือออกได้ทางเดียวคือส่วนบนของสแตกหรือ หรือเรียกว่า ท๊อปของสแตก (Top Of Stack) ซึ่งคุณสมบัติดังกล่าวเรียกว่า ไลโฟลิสต์ (LIFO list: Last-In-First-Out list) หรือ พูชดาวน์ลิสต์ (Pushdown List) คือสมาชิกที่เข้าลิสต์ที่หลังสุดจะได้ออกจากลิสต์ก่อน หรือ เข้าหลังออกก่อน การเพิ่มข้อมูลเข้าสแตกจะเรียกว่าพูชชิ่ง (pushing) การนำข้อมูลจากสแตกเรียกว่า ป๊อปปิ้ง (poping) การเพิ่มหรือลบข้อมูลในสแตกทำที่ท๊อปของสแตก ท๊อปของสแตกนี้เองเป็นตัวชี้สมาชิกตัวท้ายสุดของสแตก

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










ส่วนประกอบของสแตก
การนำสแตกไปใช้งานนั้นไม่ว่าจะเป็นโครงสร้างสแตกแบบแถวลำดับ(array)หรือ แบบลิงค์ลิสต์ (link list) เราจะมีตัวแปรตัวหนึ่งที่ใช้เป็นตัวชี้สแตก(stack pointer ) เพื่อเป็นตัวชี้ข้อมูลที่อยู่บนสุดของสแตก ซึ่งจะทำให้สามารถจัดการข้อมูล ที่จะเก็บในสแตกได้ง่าย ดังนั้นโครงสร้างข้อมูลแบบสแตกจะแบ่งออกเป็น 2 ส่วนที่สำคัญ คือ
1. ตัวชี้สแตก ( Stack Pointer ) ซึ่งมีหน้าที่ชี้ไปยังข้อมูลที่อยู่บนสุดของ สแตก ( Top stack )
2. สมาชิกของสแตก ( Stack Element ) เป็นข้อมูลที่จะเก็บลงไปในสแตก ซึ่งจะต้องเป็นข้อมูลชนิดเดียวกัน เช่น ข้อมูลชนิดจำนวนเต็ม เป็นต้น
นอกจากนี้ยังต้องมีตัวกำหนดค่าสูงสุดของสแตก ( Max Stack ) ซึ่งจะเป็นตัวบอกว่าสแตกนี้สามารถเก็บ จำนวนข้อมูลได้มากที่สุดเท่าไร เปรียบเทียบส่วนประกอบของสแตกได้กับการให้ สแตกเป็นกระป๋องเก็บลูกเทนนิส ส่วน Stack Elements หรือสมาชิกของสแตก คือ ลูกเทนนิส ส่วนตัวชี้สแตกเป็นตัวบอกว่าขณะนี้มีลูกเทนนิสอยู่ในกระป๋องกี่ลูก ส่วน Max Stack เป็นตัวบอกว่า กระป๋องนี้เก็บลูกเทนนิสได้มากที่สุดเท่าไร
การจัดการ กับสแตก
ในการทำงานของสแตก ประกอบด้วย 2 กระบวนการ คือ การเพิ่มข้อมูลลงบนสแตก (pushing stack) และ การดึงข้อมูลออกจากสแตก (poping stack)
1. การเพิ่มข้อมูลในสแตก (pushing stack) เป็นการนำข้อมูลเข้าสู่สแตก ซึ่งการกระทำเช่นนี้ เราเรียกว่า push ซึ่งโดยปกติก่อนที่จะนำข้อมูลเก็บลงในสแตกจะต้องมีการตรวจสอบพื้นที่ในสแตกก่อน ว่ามีที่เหลือว่างให้เก็บข้อมูลได้อีกหรือไม่
ในการเพิ่มข้อมูลในสแตก (pushing) สามารถทำได้โดยให้ทับบนข้อมูลสุดท้ายในสแตก และจะสามารถเพิ่มเข้าได้เรื่อย ๆ จนกว่าสแตกจะเต็ม ความหมายของคำว่า สแตกเต็ม คือท๊อปของ สแตกชี้ที่บนสุดของสแตก เช่น ถ้า สแตกนั้นจองเนื้อที่ไว้ N เนื้อที่ หมายถึงสามารถบรรจุสมาชิกในสแตกได้ N ตัว หากเป็นสแตกว่าง ค่าของท๊อปจะเป็นศูนย์ แต่หากสแตกเต็ม ค่าท๊อปจะเป็น N นั้นแสดงว่าเมื่อท๊อปชี้ที่ N หรือค่าของท๊อป เท่ากับ N ก็จะไม่สามารถ push ข้อมูลลง สแตกได้อีกดังรูป






นิยาม Push (S,x)
ถ้าให้ S เป็นสแตก และ x เป็นข้อมูลที่ต้องการใส่ในสแตก หรือดึงออกสแตก กระบวนการ push (S, x ) หมายถึง การ push ข้อมูล x ลงสแตก โดยการ push จะเริ่มจากสแตกว่างโดยให้ค่า ท๊อปมีค่าเป็นศูนย์ เมื่อมีการ push ข้อมูลเข้าในสแตก ค่า ของท๊อปจะเปลี่ยนเพิ่มขึ้นทีละหนึ่งทุกครั้งที่ทำการ push โดยสามารถเขียนขั้นตอนวิธีการ push และ procedure push ในภาษา pascal ได้ดังนี้

Algorithm pushStack (val stack ,
val data
Insert (push) one item into the stack.
Pre stack is pointer to the stack head structure
data contains data to be pushed into stack
Post data have been pushed in stack
Return if successful; false if memory overflow
1 if (stack full)
success = false
2 else
a. allocate (newptr)
b. newptr -> data = data
c. newptr -> next = stack -> top
d. stack -> top = newptr
e. stack -> count = stack -> count +1
f. success = ture
3 return success
end pushstack



Procedure push(var S: stack; x : itemtype);
Begin
If ( top > = upperbound) then Writeln ('Stack Full')
else
Begin
Top := top +1;
S[top] := x;
End;
End;

2. การดึงข้อมูลจากสแตก (Popping Stack) หมายถึงการเอาข้อมูลที่อยู่บนสุดในสแตก หรือที่ชี้ด้วย ท๊อปออกจากสแตก เรียกว่าการ pop ในการpop นั้นเราจะสามารถ pop ข้อมูลจากสแตกได้เรื่อย ๆ จนกว่า ข้อมูลจะหมดสแตก หรือ เป็นสแตกว่าง โดยก่อนที่จะนำข้อมูลออกจากสแตก จะต้องมีการตรวจสอบว่าใน สแตกมีข้อมูลเก็บ อยู่หรือไม่






สแตก(Stack) คืออะไร






สแตก(Stack) คืออะไร




.............................................




ความรู้พื้นฐานเกี่ยวกับสแตก
โครงสร้างข้อมูลที่สำคัญและมีลักษณะเรียบง่ายซึ่งใช้แถวลำดับเป็นโครงสร้างสำหรับเก็บข้อมูลพื้นฐานได้แก่สแตก เพราะภาษาคอมพิวเตอร์ส่วนมากกำหนดชนิดแถวลำดับไว้ล่วงหน้าและการทำงานของแถวลำดับสะดวกและเรียบง่าย
สแตกเป็นโครงสร้างข้อมูลแบบลิเนียร์ลิสต์(linear list) ที่สามารถนำข้อมูลเข้าหรือออกได้ทางเดียวคือส่วนบนของสแตกหรือ หรือเรียกว่า ท๊อปของสแตก (Top Of Stack) ซึ่งคุณสมบัติดังกล่าวเรียกว่า ไลโฟลิสต์ (LIFO list: Last-In-First-Out list) หรือ พูชดาวน์ลิสต์ (Pushdown List) คือสมาชิกที่เข้าลิสต์ที่หลังสุดจะได้ออกจากลิสต์ก่อน หรือ เข้าหลังออกก่อน การเพิ่มข้อมูลเข้าสแตกจะเรียกว่าพูชชิ่ง (pushing) การนำข้อมูลจากสแตกเรียกว่า ป๊อปปิ้ง (poping) การเพิ่มหรือลบข้อมูลในสแตกทำที่ท๊อปของสแตก ท๊อปของสแตกนี้เองเป็นตัวชี้สมาชิกตัวท้ายสุดของสแตก




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




















ส่วนประกอบของสแตก

....................................................................................................................................................


การนำสแตกไปใช้งานนั้นไม่ว่าจะเป็นโครงสร้างสแตกแบบแถวลำดับ(array)หรือ แบบลิงค์ลิสต์ (link list) เราจะมีตัวแปรตัวหนึ่งที่ใช้เป็นตัวชี้สแตก(stack pointer ) เพื่อเป็นตัวชี้ข้อมูลที่อยู่บนสุดของสแตก ซึ่งจะทำให้สามารถจัดการข้อมูล ที่จะเก็บในสแตกได้ง่าย ดังนั้นโครงสร้างข้อมูลแบบสแตกจะแบ่งออกเป็น 2 ส่วนที่สำคัญ คือ
1. ตัวชี้สแตก ( Stack Pointer ) ซึ่งมีหน้าที่ชี้ไปยังข้อมูลที่อยู่บนสุดของ สแตก ( Top stack )
2. สมาชิกของสแตก ( Stack Element ) เป็นข้อมูลที่จะเก็บลงไปในสแตก ซึ่งจะต้องเป็นข้อมูลชนิดเดียวกัน เช่น ข้อมูลชนิดจำนวนเต็ม เป็นต้น
นอกจากนี้ยังต้องมีตัวกำหนดค่าสูงสุดของสแตก ( Max Stack ) ซึ่งจะเป็นตัวบอกว่าสแตกนี้สามารถเก็บ จำนวนข้อมูลได้มากที่สุดเท่าไร เปรียบเทียบส่วนประกอบของสแตกได้กับการให้ สแตกเป็นกระป๋องเก็บลูกเทนนิส ส่วน Stack Elements หรือสมาชิกของสแตก คือ ลูกเทนนิส ส่วนตัวชี้สแตกเป็นตัวบอกว่าขณะนี้มีลูกเทนนิสอยู่ในกระป๋องกี่ลูก ส่วน Max Stack เป็นตัวบอกว่า กระป๋องนี้เก็บลูกเทนนิสได้มากที่สุดเท่าไร
การจัดการ กับสแตก
ในการทำงานของสแตก ประกอบด้วย 2 กระบวนการ คือ การเพิ่มข้อมูลลงบนสแตก (pushing stack) และ การดึงข้อมูลออกจากสแตก (poping stack)
1. การเพิ่มข้อมูลในสแตก (pushing stack) เป็นการนำข้อมูลเข้าสู่สแตก ซึ่งการกระทำเช่นนี้ เราเรียกว่า push ซึ่งโดยปกติก่อนที่จะนำข้อมูลเก็บลงในสแตกจะต้องมีการตรวจสอบพื้นที่ในสแตกก่อน ว่ามีที่เหลือว่างให้เก็บข้อมูลได้อีกหรือไม่
ในการเพิ่มข้อมูลในสแตก (pushing) สามารถทำได้โดยให้ทับบนข้อมูลสุดท้ายในสแตก และจะสามารถเพิ่มเข้าได้เรื่อย ๆ จนกว่าสแตกจะเต็ม ความหมายของคำว่า สแตกเต็ม คือท๊อปของ สแตกชี้ที่บนสุดของสแตก เช่น ถ้า สแตกนั้นจองเนื้อที่ไว้ N เนื้อที่ หมายถึงสามารถบรรจุสมาชิกในสแตกได้ N ตัว หากเป็นสแตกว่าง ค่าของท๊อปจะเป็นศูนย์ แต่หากสแตกเต็ม ค่าท๊อปจะเป็น N นั้นแสดงว่าเมื่อท๊อปชี้ที่ N หรือค่าของท๊อป เท่ากับ N ก็จะไม่สามารถ push ข้อมูลลง สแตกได้อีกดังรูป


เนื้อเรื่องย่อมหาเวสสันดรชาดกมีทั้งหมด 13 กัณฑ์

เนื้อเรื่องย่อมหาเวสสันดรชาดกมีทั้งหมด 13 กัณฑ์ ประกอบด้วย 1000 พระคาถา
1. กัณฑ์ทศพร เริ่มตั้งแต่พระพุทธเจ้าตรัสรู้ แล้วเสด็จไปเทศนาโปรดพระเจ้าพิมพิสาร ต่อจากนั้นเสด็จไปโปรดพุทธบิและพระประยูรญาติที่กรุงกบิลพัสดุ์ เกิดฝนโบกขรพรรษ พระสงค์สาวกกราบทูลอาราธนาให้ทรงแสดงเรื่องมหาเวสสันดรชาดก เริ่มตั้งแต่เมื่อกัปที่ 98 นับแต่ปัจจุบัน พระนางผุสดีซึ้งจะทรงเป็นพระมารดาของพระเวสสันดร ทรงอธิษฐานขอเป็นมารดาของผู้มีใจบุญจบลงตอนพระนางได้รับพร 10 ประการจากพระอินทร์ อานิสงค์ของผู้บูชากัณฑ์นี้คือ ผู้นั้นจะได้รับทรัพย์สมบัติดังปรารถนา ถ้าเป็นสตรีจะได้สามีที่เป็นที่ชอบเนื้อเจริญใจ บุรุษจะได้ภรรยาเป็นที่ต้องประสงค์อีกเช่นเดียวกันจะได้บุตรหญิงชายเป็นคนว่านอนสอนง่าย มีรูปร่างที่งดงาม มีความประพฤติดีกริยาเรียบร้อย
2. กัณฑ์หิมพานต์ พระเวสสันดรทรงเป็นพระราชโอรสของพระเจ้าสัญชัยกับพระนางผุสดี แห่งแคว้นสีวีราษฎร์ประสูติที่ตรอกพ่อค้า เมื่อพระเวสสันดรได้รับเวนราชสมบัติจากพระบิดา ได้พระราชทานช้างปัจจัยนาเคนทร์แก่กษัตริย์แคว้นกลิงคราชฎร์ ประชาชนไม่พอใจ พระเวสสันดรจึงถูกพระราชบิดาเนรเทศไปอยู่ป่าหิมพานต์ อานิสงค์ของผู้บูชากัณฑ์นี้คือ ย่อมได้สิ่งที่ปรารถนาทุกประการ ครั้นตายแล้วได้บังเกิดในสุคติโลกสวรรค์เสวยสมบัติอันมโหฬาร มีบริวารแวดล้อมบำรุงบำเรออยู่เป็นนิตย์จุติจากสวรรค์แล้ว จะลงมาเกิดในตระกูลขัตติยะมหาศาลหรือตระกูลพราหมณ์มหาศาลอันบริบูรณ์ด้วยทรัพย์ศฤงคารบริวารมากมายนานาประการจะประมาณมิได้ ประกอบด้วยการสบายใจทุกอิริยาบถ
3. กัณฑ์ทานกัณฑ์ ก่อนเสด็จไปอยู่ป่า พระเวสสันดรได้พระราชทานสัตสดก มหาทาน คือช้าง ม้า รถ ทาสชาย ทาสหญิง โคนม และ นางสนม อย่างละ 700 อานิสงค์ของผู้บูชากัณฑ์นี้คือ จะบริบูรณ์ด้วยแก้วแหวนเงินทองทาส ทาสี และสัตว์ 2 เท้า 4 เท้า ครั้นตายแล้วจะได้ไปเกิดในฉกาพจรสวรรค์มีนางเทพอัปสรแวดล้อมมากมายเสวยสุขในปราสาทแล้วด้วยแก้ว 7 ประการ
4. กัณฑ์วนปเวสน์ พระเวสสันดรทรงพระนางมัทรีและพระชาลี ( โอรส ) พระกัณหา (ธิดา ) เสด็จจากเมืองผ่านแคว้น เจตราษฎร์ จนเสด็จถึงเขาวงกตในป่าหิมพานต์ อานิสงค์ของผู้บูชากัณฑ์นี้คือ จะได้รับความสุขทั้งโลกนี้และโลกหน้าจะได้เป็นบรมกษัตริย์ในชมพูทวีป เป็นผู้ทรงปรีชาเฉลียวฉลาดสามาร๔ปราบอริราชศัตรูให้ย่อยยับไป
5. กัณฑ์ชูชก ชูชกพราหมณ์ ขอทานได้นางอมิตตาบุตรสาวของเพื่อนเป็นภรรยา นางใช้ให้ชูชกไปของสองกุมาร ชูชกเดินทางไปสืบข่าวในแคว้นสีวีราษฎณ์ สามารถหลบหลีกการทำร้ายของชาวเมือง พบพรานเจตบุตรลวงพรานเจตบุตรให้บอกทางไปยังเขาวงกต อานิสงค์ของผู้บูชากัณฑ์นี้คือ จะได้บังเกิดในตระกูลกษัตริย์ ประกอบด้วยสมบัติอันงดงามกว่าคนทั้งหลาย จะเจรจาปราศรัยก็ไพเราะเสนาะโสต แม้จะได้สามีภรรยา และบุตรธิดาก็ล้วนแต่มีรูปทรงงดงามสอนง่าย
6. กัณฑ์จุลพน ชูชกเดินทางผ่านป่าตามเส้นทางที่เจตบุตรแนะจนถึงที่อยู่ของอัจจุตฤๅษี อานิสงค์ของผู้บูชากัณฑ์นี้คือ แม้จะบังเกิดในปรภพใดๆจะเป็นผู้สมบูรณ์ด้วยสมบัติบริวาร จะมีอุทยานอันดารดาษด้วยไม้หอมตรลบไป แล้วจะมีสระโบกขรณีอันเต็มไปด้วยประทุมชาติ ครั้นตายไปแล้วก็ได้เสวยทิพยสมบัติในโลกหน้าสืบต่อไป
7. กัณฑ์มหาพน ชูชกลวงอัจจุตฤๅษี ให้บอกทางผ่านป่าไม้ใหญ่ไปยังที่ประทับของพระเวสสันดร อานิสงค์ของผู้บูชากัณฑ์นี้คือ จะเสวยสมบัติใดในดาวดึงส์เทวโลกนั้นแล้ว จะได้ลงมาเกิดเป็นกษัตริย์มหาศาล มีทรัพย์ศฤงคารบริวารมากมี อุทยานและสระโบกขรณีที่เป็นประพาส เป็นผู้บริบูรณ์ด้วยด้วยศักดานุภาพเฟื่องฟุ้งไปทั่วชมพูทวีป อีกทั้งจักได้เสวยอาหารทิพย์เป็นนิตย์นิรันดร
8. กัณฑ์กุมาร ชูชกทูลขอสองกุมาร ทุบตีสองกุมารเฉพาะพระพักตร์พระเวสสันดร แล้วพาออกเดินทาง อานิสงค์ของผู้บูชากัณฑ์นี้คือ ย่อมประสบผลสำเร็จในสิ่งที่ปรารถนา ครั้นตายไปแล้วได้เกิดในฉกามาพจรสวรรค์ในสมัยที่พระศรีอาริยาเมตไตรมาอุบัติก็จะได้พบศาสนาของพระองค์ จะได้ถือปฏิสนธิในตระกูลกษัตริย์ ตลอดจนได้สดับตรับฟังพระสัทธรรมเทศนาของพระองค์ แล้วบรรลุพระอรหัตตผลพร้อมด้วยปฏิสัมภิทาทั้ง 4 ด้วยบุญราศีที่ได้อบรมไว้
9. กัณฑ์มัทรี พระนางมัทรีเสด็จกลับจากหาผลไม้ในป่าออกติดตสมสองกุมารตลอดทั้งคืน จนถึงทรงงิสัญญี ( สลบ ) เฉพาะพระพักตร์พระเวสสันดร เมื่อทรงฟื้นแล้วพระเวสสันดรตรัสเล่าความจริงเกี่ยวกับสองพระกุมาร พระนางทรงอนุโมทนาด้วย อานิสงค์ของผู้บูชากัณฑ์นี้คือ เกิดในโลกหน้าจะเป็นผู้มั่งคั่งสมบูรณ์ด้วยทรัพย์สมบัติเป็นผู้มีอายุยืนยาวทั้งประกอบด้วยรูปโฉมงดงามกว่าคนทั้งหลาย จะไปในที่ใดๆก็จะมีแต่ความสุขทุกแห่งหน
10. กัณฑ์สักกบรรพ พระอินทร์พระเกรงว่าจะมีผู้มาขอพระนางมัทรีจึงแปลงเป็นพราหมณ์ชรามาทูลขอพระนางมัทรีแล้วฝากไว้กับพระเวสสันดร อานิสงค์ของผู้บูชากัณฑ์นี้คือ จะเป็นผ้ที่เจริญด้วยลาภยศตลอดจนจตุรพิธพรทั้ง 4 คืออายุวรรณธ สุขะ พละ ตลอดกาล
11. กัณฑ์มหาราช ชูชกเดินทางเข้าไปแคว้นสีวีราษร์ พระสัญชัย ทรงไถ่สองกุมาร ชูชกได้รับพระรายชทานเลี้บง และ ถึงแก่กรรมด้วยกินอาหารมากเกินควร อานิสงค์ของผู้บูชากัณฑ์นี้คือ จะได้มนุษสมบัติ สวรรค์สมบัติ และนิพพานสมบัติเมื่อเกิดเป็นมนุษย์จะได้เป็นพระราชาเมื่อจากโลกมนุษย์ไปก็จะไปเสวยทิพยืสมบัติ ในฉกามาพจรสวรรค์มีนางเทพอัปสรเป้นบริวาร ครั้นบารมีแก่กล้าก็จะได้นิพพานสมบัติอันตัดเสียซึ้งชาติ ชรา พยา มรณธ พ้นจากโอฆะทั้งสามมีกาโมฆะ เป็นต้น
12. กัณฑ์ฉกษัตริย์ กษัตริย์แคว้นถลิงราชย์ทรงคืนช้างปัจจัยนาเคนทร์ พระเจ้ากรุงสญชัย พระนางผุสดี พระชาลี พระกัณหา เสด็จไปทูลเชิญพระเวสสันดร พระนางมัทรีกลับพระนคร เมื่อกษัตริย์ทั้งหกพระองค์ทรงพบกันก็ทรงวิสัญญี ต่อมาฝนโบกขรพรรษตกจึงทรงฟื้นขึ้น อานิสงค์ของผู้บูชากัณฑ์นี้คือ จะได้เป็นผู้ที่เจริญด้วยพร 4 ประการ คือ อายุ วรรณะ สุขะ พละ ทุกๆชาติแล
13. กัณฑ์นครกัณฑ์ กษัตริย์หกพระองค์เสด็จกลับพระนคร พระเวสสันดรได้ครองราชย์ดังเดิม บ้านเมืองสมบูรณ์พูนสุข อานิสงค์ของผู้บูชากัณฑ์นี้คือ จะได้เป็นผู้บริบูรณ์ด้ยวงคาคณาญาติข้าทาสชาย-หญิง ธิดา สามี หรือบิดามารดา เป็นต้นอยู่พร้อมหน้ากันด้วยความผาสุก ปราศจากดรคาพาธทั้งปวง จะทำการใดๆก็พร้อมเพียงกันยังการงานนั้นๆ ให้สำเร็จลุล่วงไปด้วยดี

เรียงความเรื่องการใช้ระบบปฏิบัติการ (Operating System) ในสถานศึกษา
การทํางานของคอมพิวเตอร์จะไม่สามารถทํางานด้วยตัวเองได้ แต่จะต้องอาศัยโปรแกรมสั่งให้คอมพิวเตอร์ทํางานซึ่งเรียกว่า “ซอฟต์แวร์” (Software) โดยทั่วไปซอฟต์แวร์จะแบ่งเป็น 2 ประเภท คือ โปรแกรมสําเร็จรูป และโปรแกรมระบบปฏิบัติการ ซึ่งระบบปฏิบัติการนี้จะมีหน้าที่ ในการจัดการและควบคุมการทํางานและอุปกรณ์ต่างๆ ของเครื่องคอมพิวเตอร์ เช่น การจัดการเกี่ยวกับการแสดงผลบนจอภาพ รับข้อมูลทางแป้นพิมพ์หรือเมาส์ การจัดการเกี่ยวกับแฟ้มข้อมูล การจัดเก็บข้อมูลลงแฟ้ม การติดตั้งโปรแกรม นอกจากนี้ระบบปฏิบัติการยังช่วยสร้างส่วนติดต่อ ระหว่างผู้ใช้กับคอมพิวเตอร์ (User interface) ให้ง่ายต่อการใช้งาน ระบบปฏิบัติการมีอยู่หลาย ระบบ ซึ่งมีการพัฒนาจากผู้ผลิตหลายบริษัท
การใช้ระบบปฏิบัติการในสถานศึกษาก็เช่นกัน สถานศึกษานั้นจำเป็นที่จะต้องใช้คอมพิวเตอร์และระบบปฏิบัติการในการที่จะจัดเก็บข้อมูล การให้บริการของเครื่องแม่ข่ายและเครือข่ายในอาคาร การให้บริการ Internet และการใช้เป็นสื่อในการเรียนการสอนในห้องเรียนทำให้การศึกษานั้นก้าวหน้าและทันสมัยมากขึ้น ระบบปฏิบัติการที่ใช้ในสถานศึกษานั้นมีหลายระบบ เช่น ระบบปฏิบัติการ Windows XP จากบริษัท Microsoft ซึ่งก็มีหลายรุ่นอีก ที่นิยมมากคือ Microsoft Windows XP Professional Version 2002 Service Pack 2 และ Pack 3 ระบบปฏิบัติการ Microsoft Windows Vista นอกจากของ windows แล้ว ยั้งมีระบบปฏิบัติการ Linux ระบบปฏิบัติการ Mac OS –X แต่ที่นิยมใช้กันในเครื่องแม่ข่ายหรือ เครื่อง Server นั้นจะเป็นระบบปฏิบัติการ Linux, Windows Server 2003, Windows Server 2008
และจากประสบการณ์ที่ผมเคยใช้ระบบปฏิบัติการมานั้นส่วนมากแล้วจะใช้ระบบปฏิบัติการของ Microsoft Windows XP Service Pack 2 และ Pack 3 และ ระบบปฏิบัติการ Microsoft Window Vista Service Pack 1 แต่ ระบบ Linux นั้นยังไม่เคยใช้ แต่ในส่วนของระบบ windows นั้นผมมีความคิดเห็นว่าระบบ Windows XP Service Pack 2 นั้น จะดีและสมบูรณ์กว่า ระบบ ของ Vista มากที่เดียวทั้งในด้านการรองรับโปรแกรม เก่าๆหรือโปรแกรมออกใหม่และการเล่นเกม ระบบ XP จะได้เปรียบมาก ทั้งด้านการทำงานปกติ และงานด้านกราฟิกขั้นสูง ระบบความปลอดภัยก็ดีกว่า และที่สำคัญไม่กินเนื้อที่ของ Hard disk และ RAM อีกด้วย และระบบก็เรียบง่ายไม่ซับซ้อนเหมือน Vista เลย