علاقمندان به زبان های برنامه نویسی روزتون بخیر. با آموزش زبان برنامه نویسی پاسکال (Pascal) از وب سایت آموزشی پی وی لرن همراهتون خواهیم بود. دامنه متغیرها در زبان پاسکال (Pascal) را دنبال خواهیم نمود.
دامنه در هر برنامه نویسی محدوده ای از برنامه است که در آن یک متغیر تعریف شده می تواند موجودیت خود را داشته باشد و فراتر از آن نمی توان به متغیر دسترسی داشت. سه مکان وجود دارد که می توان متغیرها را با زبان برنامه نویسی پاسکال اعلام کرد.
حال بگذارید توضیح دهیم که متغیرهای محلی و سراسری و پارامترهای فرمال چیست.
متغیرهایی که درون یک زیر برنامه یا بلوک اعلام می شوند ، متغیرهای محلی نامیده می شوند. آن ها فقط با استفاده از عباراتی که در زیر برنامه یا بلوک کد وجود دارند ، قابل استفاده هستند. متغیرهای محلی برای زیر برنامه های خارج از خود شناخته نشده اند. در زیر مثال استفاده از متغیرهای محلی آورده شده است. در این جا ، تمام متغیرهای a ، b و c محلی برای برنامه ای به نام exLocal وجود دارند.
1 2 3 4 5 6 7 8 9 10 11 12 | program exLocal; var a, b, c: integer; begin (* actual initialization *) a := 10; b := 20; c := a + b; writeln('value of a = ', a , ' b = ', b, ' and c = ', c); end. |
هنگامی که کد فوق کامپایل و اجرا شد ، نتیجه زیر را ایجاد می کند.
1 | value of a = 10 b = 20 c = 30 |
حال بگذارید برنامه را کمی بیش تر توسعه دهیم ، بگذارید رویه ای به نام display ایجاد کنیم که مجموعه ای از متغیرهای a ، b و c را در خود داشته باشد و مقادیر آن ها را درست از برنامه exLocal نمایش دهد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | Live Demo program exLocal; var a, b, c: integer; procedure display; var a, b, c: integer; begin (* local variables *) a := 10; b := 20; c := a + b; writeln('Winthin the procedure display'); writeln('value of a = ', a , ' b = ', b, ' and c = ', c); end; begin a:= 100; b:= 200; c:= a + b; writeln('Winthin the program exlocal'); writeln('value of a = ', a , ' b = ', b, ' and c = ', c); display(); end. |
هنگامی که کد فوق کامپایل و اجرا شد ، نتیجه زیر را ایجاد می کند.
1 2 3 4 | Within the program exlocal value of a = 100 b = 200 c = 300 Within the procedure display value of a = 10 b = 20 c = 30 |
متغیرهای سراسری خارج از یک تابع ، معمولاً در بالای برنامه تعریف می شوند. متغیرهای جهانی یا سراسری مقدار خود را در طول مدت برنامه شما حفظ می کنند و به هر یک از تابع های تعریف شده برای برنامه دسترسی پیدا می کنند.
به هر متغیر سراسری می توان با یک تابع دسترسی داشت. یعنی متغیر جهانی پس از اعلام آن برای استفاده در کل برنامه شما در دسترس است. در زیر مثالی با استفاده از متغیرهای جهانی و محلی آورده شده است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | Live Demo program exGlobal; var a, b, c: integer; procedure display; var x, y, z: integer; begin (* local variables *) x := 10; y := 20; z := x + y; (*global variables *) a := 30; b:= 40; c:= a + b; writeln('Winthin the procedure display'); writeln(' Displaying the global variables a, b, and c'); writeln('value of a = ', a , ' b = ', b, ' and c = ', c); writeln('Displaying the local variables x, y, and z'); writeln('value of x = ', x , ' y = ', y, ' and z = ', z); end; begin a:= 100; b:= 200; c:= 300; writeln('Winthin the program exlocal'); writeln('value of a = ', a , ' b = ', b, ' and c = ', c); display(); end. |
هنگامی که کد فوق کامپایل و اجرا شد ، نتیجه زیر را ایجاد می کند.
1 2 3 4 5 6 7 | Within the program exlocal value of a = 100 b = 200 c = 300 Within the procedure display Displaying the global variables a, b, and c value of a = 30 b = 40 c = 70 Displaying the local variables x, y, and z value of x = 10 y = 20 z = 30 |
یک برنامه می تواند برای متغیرهای محلی و جهانی یکسان باشد اما مقدار متغیر محلی در داخل یک عملکرد اولویت دارد.
بگذارید مثال قبلی را کمی تغییر دهیم ، اکنون متغیرهای محلی برای رویه display دارای نام های مشابه a ، b ، c هستند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | Live Demo program exGlobal; var a, b, c: integer; procedure display; var a, b, c: integer; begin (* local variables *) a := 10; b := 20; c := a + b; writeln('Winthin the procedure display'); writeln(' Displaying the global variables a, b, and c'); writeln('value of a = ', a , ' b = ', b, ' and c = ', c); writeln('Displaying the local variables a, b, and c'); writeln('value of a = ', a , ' b = ', b, ' and c = ', c); end; begin a:= 100; b:= 200; c:= 300; writeln('Winthin the program exlocal'); writeln('value of a = ', a , ' b = ', b, ' and c = ', c); display(); end. |
هنگامی که کد فوق کامپایل و اجرا شد ، نتیجه زیر را ایجاد می کند.
1 2 3 4 5 6 7 | Within the program exlocal value of a = 100 b = 200 c = 300 Within the procedure display Displaying the global variables a, b, and c value of a = 10 b = 20 c = 30 Displaying the local variables a, b, and c value of a = 10 b = 20 c = 30 |
با مبحث دامنه متغیرها در زبان پاسکال (Pascal) همراه بودیم. در بخش بعدی Strings یا رشته ها را خواهیم داشت. با آموزش زبان برنامه نویسی پاسکال (Pascal) همراه باشید.