ورود کاربران VIP سرزمین دانلود، مرجع دانلود و آموزش رایگان نرم افزار

منوی سایت




آموزش مقادیر ومتغیر ها در لیست پارامتر ها در پاسکال


وقتی در جلوی پارامترها Var قرار می دهیم با مراجعه به نام این پارامتر ها می توان آنرا به سابروتین وارد کرد و یا نتیجه گرفت . ولی در صورتیکه جلوی پارامتری Var قرار ندهیم ،مقدار آن پارامتر مورد نظر خواهدبود در حالت اول کامپیوتر محلی برای متغیر در نظر می گیریدو هر بار به آن محل مراجع می کند و محتوای آنرا انتقال می دهد . و این محتوا داخل و خارج برنامه قابل استفاده است .در حالت دوم کامپیووتر یک کپی از مقدار متغیر را به سابروتین می برد ومحلی را برای آن در نظر نمی گیردکه به تواند حاصل تغییر به بر نامه اصلی باز گردئد .تغییرات داخل سابروتین نیز روی کپی متغیر انجام می شود.بنابر این هر گاه تغییرات متغییری در داخل سابروتین مورد نظر مانیست آنرا بدون Var  قرار می دهیم.
معرفی قبلی سابروتین ها

 
گاه اتفاق می افتد که یک سابروتین در بر نامه سابروتین دیگری را فرا مکی خواند. از آنجا که قبل از تعریف هیچ عاملی نمی توان از آن استفاده کرد سابروتین فرا خوانده شده باید قبلا معرفی شده باشد حال اگر قرار باشد گاه سابروتین 2 را فرا خواند و گاه سابروتین 1 را ، در اینجا اشکالی بوجود می آید.

به مثال زیر توجه نمائید.

 



Procedure   test1 (some: integer);
Begin
If     some<10 then      test2 ('y');
{………..etc.}
Procedure   test2 (another parameter: char);
Begin
test1 (15);
{………..etc.}
End;


این اشکال به این صورت رفع می شود که از کلمه forward استفاده کرده و سابروتین دوم را قبلا معرفی می کنیم. گر چه سابروتین دومی به تفضیل شرح داده شده ولی معرفی آن قبلا از سابروتین 1 مشکل را رفع می کند.

به برنامه زیر توجه کنید :



Program test;
Var
A, b, c, x, y, z: integer;
Procedure   proc (Var   a, b: integer; c: integer);
Forward;
Procedure   proc2;
BEGIN
Clrscr ;
Readln(x);
Proc(x, y, z);
Writeln(x: 10, Y: 10);
End;
Procedure proc2 (Var A, B: Integer; c: Integer);
Begin
Writeln (A: 10);
B: =A*A*A;
C: =100;
END;
{*******************************}
Begin
Proc1;
End.


مثال:
1. برنامه فاکتوریل را با Procedure بنویسید.



Program t1;
Var
N: Integer;
M: Longint;
Procedure     fact (n :integer ; Var f: Longint);
Var
I: byte;
Begin
F: =1;
For   I: =1 to n do
F: =F*I;
End;
Begin
Write ("please enter n:");
Readln (n);
Fact (n, m);
Write (m);
Readln;
End.


2. برنامه فاکتوریل را با Function بنویسید.

 



Program t2;
Var
N: Integer;
K: real;
Function   fact (n: integer) Longint;
Var
I: byte;
f: Longint
Begin
F: =1;
For   I: =1 to n do
F: =F*I;
Fact: =F;
End;
Begin
Write ("please enter n:");
Readln (n);
Write (Fact (n));
Readln;
End.

 


( بدون کامنت - اولین کامنت را شما بنویسید )



 



سوالات و نظرات کاربران در مورد این مطلب

هنوز نظری در مورد این مطلب ارسال نشده است. شما اولین نفر باشید!

نکات مهم :

- قبل از طرح سوال یا مشکل خود، کامنت سایر کاربران و پاسخ آنها را مطالعه کنید.
- لطفا فارسی تایپ کنید. امکان بررسی کامنت های پینگلیش وجود ندارد.
- پاسخ سوالات از طریق ایمیل و SMS نیز ارسال میشود. لطفا مشخصات خود را دقیق وارد کنید.

* نام 
آدرس ايميل (برای دریافت پاسخ از طریق ایمیل)
* شماره موبایل (برای دریافت پاسخ از طریق SMS)
توجه: ایمیل و موبایل شما فقط برای دریافت پاسخ سایت بوده و نمایش داده نمیشود.
* متن

* کد امنیتی
کد امنیتی


(اگر کد امنیتی واضح نیست، روی آن کلیک کنید تا عوض شود)
 


توجه : نظر شما بعد از تایید از طرف سایت، نمایش داده خواهد شد.
سرزمین دانلود، مرجع دانلود و آموزش نرم افزار

سرزمین دانلود را دنبال کنید !

عضویت در خبرنامه سرزمین دانلود

با وارد کردن ایمیل خود و سپس تایید آن، جدیدترین مطالب و نرم افزار ها برای شما ارسال می شود:



------------------------------------------