آموزش پاسکال

پروسیجرهای متداخل در پاسکال

پروسیجرهای متداخل در پاسکال

همان گونه که میتوانید از حلقه های For به صورت تودرتو استفاده نمایید
پروسیجرها را نیز میتوانید به صورت تودرتو استفاده کنید
بعنی هرپروسیجر میتواند شامل یک یا چند پروسیجردیگرباشد
برای انجام این عمل باید قوانین بلوکها را رعایت کنید
برای مثال دربرنامه زیر از پروسیجر متداخل استفاده شده است

Procedure Add(A,B " Integer); --------------------- پروسیجر Add
Procedure Multiply (A,B : Integer); ----------------پروسیجردرونی
begin
 WriteLn(A*B);
end; ---------------------------------------------- پروسیجردرونی
begin
 WriteLn(A+B);
 Multiply(A,B);
end;  --------------------------------------------  پروسیجر Add

begin
 Add(10,5);
end.

اجرای این برنامه باعث نمایش اعداد 15 و 50 خواهدشد
به این دلیل که پروسیجر Multiply درون پروسیجر Add تعریف و فراخوانی شده است
پس از نظر پاسکال قابل قبول است
توجه داشته باشید که شما نمی توانید پروسیجر Multiply را ازدرون بلوک اصلی برنامه فراخوانی کنید
حال به برنامه زیر توجه کنید

Var
 A,B :Integer:
Procedure Add(A,B " Integer); 
Var
 C,D : Integer;
Procedure Multiply; 
begin
 WriteLn(c*d);
end;
begin
 C := A;
 D := B;
 Multiply;
 WriteLn(A+B);
end;

begin
 Add(10,5);
end.

اجرای برنامه فوق موجب نمایش اعداد 50 و 15 خواهد شد
به این دلیل که پروسیجر Multiply درون پروسیجر Add تعریف شده است
لذا متغییرهای C و D برای آن حکم متغییر های سراسری را دارند
و استفاده از انها در پروسیجر Multiply  از نظر پاسکال قابل قبول است

امتیاز به این مطلب

[kkstarratings]

لینک کوتاه

لینک Qrcode

نوشته های مشابه

دیدگاهتان را بنویسید

دکمه بازگشت به بالا

Adblock رو غیر فعال کنید

بخشی از درآمد سایت با تبلیغات تامین می شود لطفا با غیر فعال کردن ad blocker از ما حمایت کنید