آموزش پاسکال

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

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

همان گونه که میتوانید از حلقه های 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  از نظر پاسکال قابل قبول است

[adinserter block="1"]
5/5 - (2 امتیاز)

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

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

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