user warning: Duplicate entry '536306482' for key 'PRIMARY' query: INSERT INTO accesslog (title, path, url, hostname, uid, sid, timer, timestamp) values('ประเพณีกินผัก(กินเจ) จ.ภูเก็ต ', 'node/87661', '', '3.147.83.8', 0, '4437c3334f8a39d431afd68d22ecdb28', 139, 1716831996) in /home/tgv/htdocs/modules/statistics/statistics.module on line 63.

หน่วยการเรียนรู้ที่ 17 ชนิดของตัวแปร


ชนิดของตัวแปร

   ตัวแปรแบบทั่วไปและตัวแปรแบบเฉพาะที่
        1. ตัวแปรแบบทั่วไป (global variables)
              เป็นตัวแปรที่ทุกส่วนของโปรแกรมสามารถเรียกใช้ได้ ในการเขียนโปรแกรมใหญ่ๆ โดยมากแล้วจะใช้ในการประกาศค่าคงที่ในโปรแกรม การประกาศตัวแปรประเภทนี้คล้ายกับตัวแปรในโปรแกรมต่างๆ 
   ตัวอย่างที่ 1
              เป็นตัวอย่างการใช้ตัวแปรแบบทั่วไปร่วมกับโพรซีเยอร์ ในโปรแกรมจะสร้างโพรซีเยอร์ชื่อ EX ภายในโพรซีเยอร์จะใส่ค่า 5 ให้กับตัวแปร A

              program ch_1;
                   var   a : integer;         { การประกาศตัวแปร a เป็นตัวแปรแบบทั่วไป }

              procedure EX;
                   begin
                          a := 5;               { ใส่ค่า 5 ให้กับตัวแปร a }
                          writeln(a);          { พิมพ์ค่าในตัวแปร a }
                   end;

                   begin                        { โปรแกรมหลัก }
                          a := 3;               { ใส่ค่า 3 ในตัวแปร a }
                          writeln(a);          { พิมพ์ค่าในตัวแปร a }
                          EX;                    { มีการเรียกใช้โพรซีเยอร์ EX }
                          writeln(a);
                   end.
              เมื่อทำการรันโปรแกรมจะได้ผลลัพธ์ดังต่อไปนี้
                         3             { โปรแกรมหลักพิมพ์ค่า a }
                         5             { เรียกใช้ EX พิมพ์ค่า a }
                         3             { โปรแกรมหลักพิมพ์ค่า a }

2. ตัวแปรเฉพาะที่ (local variables)
              เป็นตัวแปรที่ใช้ภายในโปรแกรมย่อยเท่านั้น การประกาศตัวแปรประเภทนี้จะประกาศภายในโปรแกรมย่อยเท่านั้น ทำให้โปรแกรมย่อยต่างๆ ใช้ชื่อตัวแปรชื่อเดียวกันได้โดยไม่ทำให้ค่าตัวแปรเปลี่ยนไป เพราะแม้ว่าโปรแกรมย่อยต่างๆ ประกาศชื่อตัวแปรชื่อเดียวกันแต่เมื่อโปรแกรมทำงานชื่อตัวแปรของโปรแกรมย่อยต่างๆ จะถูกกำหนดเป็นตำแหน่งหน่วยความจำที่มีตำแหน่งต่างกัน พิจารณาได้ดังตัวอย่างต่อไปนี้

ตัวอย่างที่ 2
               
เป็นตัวอย่างการใช้โปรแกรมเฉพาะที่ โดยในโพรซีเยอร์ EX มีการประกาศตัวแปรแบบเฉพาะที่ชื่อ a ซึ่งเป็นตัวแปรชื่อเดียวกับตัวแปรแบบทั่วไป ที่ประกาศไว้แล้วในโปรแกรมหลัก

               program ch_2;
                         var  a : integer;        { ประกาศตัวแปร a เป็นตัวแปรแบบทั่วไป }
               procedure EX;
                         var a : integer;         { ประกาศตัวแปร a เป็นตัวแปรแบบเฉพาะที่ }
               begin
                         a := 5;                    { ใส่ค่า 5 ให้กับตัวแปร a }
                         writeln(a);                { พิมพ์ค่าในตัวแปร a }
               end;
               begin
                         a := 3;                     { ใส่ค่า 3 ให้กับตัวแปร a ที่เป็นตัวแปรแบบทั่วไป }
                         writeln(a);                { พิมพ์ค่าในตัวแปร a }
                         EX;                          { เรียกโพรซีเยอร์ EX }
                         writeln(a);                { พิมพ์ค่าในตัวแปร a }
               end.
 
               เมื่อรันโปรแกรมจะได้ผลลัพธ์ดังต่อไปนี้
                         3                             { โปรแกรมหลักพิมพ์ค่าตัวแปร a ที่เป็นตัวแปรแบบทั่วไป }
                         5                             { โพรซีเยอร์ EX พิมพ์ค่าตัวแปร a ที่เป็นตัวแปรเฉพาะที่ }
                         3                             { โปรแกรมหลักพิมพ์ค่าตัวแปร a ที่เป็นตัวแปรทั่วไป }

                                                                              กลับสู่หน้าหลัก
                        

สร้างโดย: 
ว่าที่ ร.ต. อัศวิน สุรวัชโยธิน

มหาวิทยาลัยศรีปทุม ผู้ใหญ่ใจดี
 

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

ช่วยกันนะครับ 
ไทยกู๊ดวิวจะได้อยู่นานๆ 
ไม่ถูกปิดเสียก่อน

ขอขอบคุณในความร่วมมือครับ

อ่านรายละเอียด

ด่วน...... ขณะนี้
พระราชบัญญัติลิขสิทธิ์ (ฉบับที่ 2) พ.ศ. 2558 
มีผลบังคับใช้แล้ว 
ขอให้นักเรียนและคุณครูที่ใช้งาน
เว็บ thaigoodview ในการส่งการบ้าน
ระมัดระวังการละเมิดลิขสิทธิ์ด้วย
อ่านรายละเอียดที่นี่ครับ

 

สมาชิกที่ออนไลน์

ขณะนี้มี สมาชิก 0 คน และ ผู้เยี่ยมชม 247 คน กำลังออนไลน์