آموزش پاسکال

دستور while در پاسکال

دستور while در پاسکال

دستور while نیز عملکرد مشابه با دستور repeat دارد
با این تفاوت که شرط خروج از حلقه در ابتدا بدنه حلقه قرار میگیرد
و درضمن شرط خروج از حلقه زمانی تحقق یافت که تشخیص عبارت منطقی False شود
در حقیقت تا زمانی برقراراست حلقه تکرارخواهد شد
شکل کلی دستور while به صورت زیر است

while عبارت منطقی  do  دستور  ;

برای مثال در برنامه زیر ازدستور while استفاده شده است

var
 A :Integer;
begin
 A :  1;
 While A <>10 do
 begin
  WritrLn(A);
  A : A+1;
 end;
end.

اجرای برنامه موجب چاپ اعداد از 1 تا 9 خواهد شد
به این دلیل که ابتدا متغییر A با عدد 1 مقداردهی میگردد
سپس کنترل برنامه به دستور while انتقال می یابد
شرط حقله برسی میگردد و با توجه به برقراری شرط
( یعنی  مخالف بودن A با عدد 10 ) دستور حلقه مورد اجرا قرار میگیرد
در این برنامه از یک دستور مرکب استفاده شده است
لذا دستورات ان به ترتیب اجرا شده و سپس کنترل به محل حلقه انتقال می یابد
و این عملیات تا زمان عدم برقراری شرط حلقه تکرار خواهد شد

نکــــــــــــــــــــــــــــــــــــــــــــــــــــــته
توجه داشته باشید که اگر بعد از کلمه رزرو شده do از علامت سمیکالن ; استفاده نمایید
از اجرای دستور مربوط به while جلوگیری خواهد نمود

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

var
 A:Integer;
begin
 A:1;
 while A<>10 do
  A :=A+1;
 WriteLn(A);

اجرای این برنامه باعث نمایشی عدد 10 خواهد شد.
به این دلیل که حلقه while فقط دستور جایگزینی را تکرار خواهد کرد.
توجه داشته باشید که دستور مرکب از نظر پاسکال یک دستور است.
همچنین شما می توانید در حلقه های while از دستورات Break و Exit و Continue نیز استفاده نمایید.
دستور Exit باعث انتقال کنترل برنامه به خارج از بلوک فعلی،
دستور  Break موجب خاتمه این اجرای یک حلقه و دستور Coutinue باعث بازگشت به ابتدای حلقه می گردد.

نکـــــــــــــــــــــــــــــــــــــــــته
شما میتوانید از دستورات Break و Continue در مورد حلقه های for و repeat نیز استفاده نمایید.
همچنین دستور Exit در مورد همه بلوکها کاربرد دارد
و در صورتی که در بلوک اصلی برنامه مورد استفاده قرار گیرد باعث خاتمه یافتن برنامه خواهد شد.

برای مثال در برنامه زیرا از دستور Exit استفاده شده است:

var
A : Integer;
begin
 A := 1;
 while A<>10 do
begin
 WriteLn(A) ;
 A := A+1;
 if A=5 then Exit;
end;
end.

با اجرای این برنامه اعداد از 1 تا 4 نمایش داده خواهد شد.
توجه داشته باشید اگر از دستور Exit استفاده نشود،
اعداد از 1 تا 9 نمایش داده خواهند شد.
برای مثال در برنامه زیر از دستور Break استفاده شده است:

var
A : Integer;
begin
 A := 1;
 while A<>10 do
begin
 WriteLn(A) ;
 A := A+1;
 if A=5 then Braek;
end;
 WriteLn(A);
end.

اجرای این برنامه باعث نمایشی عدد 5 خواهد شد.
توجه داشته باشید اگر از دستور Break استفاده نشود، عدد 10 نمایش داده می شود.
برای مثال دربرنامه زیر از دستور Continue استفاده شده است

var
A : Integer;
begin
 A := 0;
 while A<>10 do
begin
 A := A+1;
 if A>45 then Continue;
 WriteLn(A);
 end;
end.

ارجای این برنامه موجب نمایش اعداد از 1 تا 4 خواهد شد
که اگر از دستور Continue استفاده نشود اعداد از 1 تا 10 چاپ خواهد شد

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

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

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

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