آموزش پاسکال

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

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

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

if عبارت منطقی then دستور [else دستور];

درصورتی که عبارت منطقی مورد نظر دارای نتیجه Ture باشد دستور مربوط به قسمت then اجرا خواهد شد
اگر عبارت منطقی مورد نظر دارای نتیجه False باشد دستور مربوط به قسمت then اجرا نخواهد شد
ودرصورتیکه ازقسمت else استفاده نموده باشید دستور مربوط به ان اجرا میگردد
برالی مثال دربرنامه زیر از دستور if استفاده شده است

var
 A:INTEGER;
begin
 ReadLn(A);
 if A>100 then WriteLn('Hello');
 WriteLn('ok');
end.

برنامه فوق ابتدا یک عدد را از ورودی دریافت نموده و آن را درون متغییر A قرار میدهد
سپس با استفاده از دستور if شرطی خاصی را برسی میکند و در صورتی که شرط موردنظر برقرار باشد
برنامه اجرا می شود و دستور خروجی باعث نمایش کلمه ok می گردد
همان طور که مشاهده میکنید در برنامه قبلی از قسمت else استفاده نشده است
حال به برنامه زیر توجه کنید

var
 A:integer;
begin
 ReadLn(A);
 if A>100 then writleLn('Hello')else WriteLn('Goodby');
end.

این برنامه ابتدا یک عدد را از ورودی دریافت نموده و آن را درون متغییری A قرار میدهد
سپس با استفاده از دستور IF  شرط خاصی را برسی میکندو در صورت برقراری شرط
( یعنی اگر عدد وارد شده از دستور 100 بزرگتر باشد ) کلمه Goodby نمایش داده خواهد شد
همان طور که مشاهده میکنید دستور if بسیار پرکاربرد است و به شما امکان تصمیم گیری میدهد
همان طوری که در شکل کلی دستور if  مشاهده میکنید و در قسمتهای then  و else میتوانید از یک دستور استفاده نمایید
با توجه به اینکه دستور مرکب نیز از نظر پاسکال یک دستور است لذا می توانید درصورت برقراری با عدم بر قراری شرط چندین دستور اجرا کنید
برای مثال به برنامه زیر توجه کنید

var
 A:Integer;
begin
 ReadLn(A);
 if A >100 THEN
 begin
  WriteLn;
  WriteLn('Hello');
 end;
end.

همان طور که مشاهده میکنید دربرنامه فوق از یک دستور مرکب در قسمت then استفاده شده است
در حقیقت در صورت بر قراری شرط دو دستور اجرا خواهد شد
به این معنا که اگر عدد وارد شده از 1000 بزرگترباشد دستور مرکب قسمت then اجرا می گردد
دستورمرکب مورد نظر شامل دو دستور خروجی است که به ترتیب اجرا خواهند شد
همچنین میتوانید در قسمت else نیر از دستور مرکب استفاده نمایید
برای مثال به برنامه زیر توجه کنید

var
 A:integer;
begin
 ReadLn(A);
 if A >100
  Then begin
   WriteLn;
   WriteLn('Hello');
  end
 else begin
  WriteLn;
  WriteLn('Goodby');
 end;
end.

توجه داشته باشید که اگر قسمت else استفاده می نمایید
نبایدازدستور مربوط به قسمت then از علامت سیمیکالین ; استفاده کنید
به این دلیل که دستور if یک دستور است و علامت سیمیکالن به معنای پایان یک دستور به کار برده میشود
در برنامه زیر انواع حالات if مورد استفاده قرار گرفته شده است

var
 A:Integer;
 B:Char;
begin
 ReadLn(A,B);
 if A>100 then WriteLn('Hello');
 if A>100 then WriteLn('>100') else WriteLn('<=100');
 if B='m'
 then WriteLn('wiki')
 else begin
      WriteLn;
      WriteLn('delphi');
     end;
  if B='E'
 then  begin
   WriteLn;
   WriteLn('delphi');
  end;
 else WriteLn ('wiki');
 if B='P'
 Then begin
 WriteLn;
 WriteLn('Pascal');
 end;
end.

با توجه به اینکه if نیز یک دستور است
لذا شما می توانید در قسمتهای then  و else از دستور if استفاده نمایید
برای مثال به برنامه زیر توجه کنید

var
 A:Integer;
 B:char;
begin
 ReadLn(A,B);
 if A>100
 then if B='W' then WriteLn('wiki');
end.

برنامه فوق ابتدا دو ورودی را از کاربر دریافت میکند
سپس شرط خاصی را برسی میکند و در صورت بر قراری شرط ( یعنی اگر عدد وارد شده از 100 بزرگتر باشد ) اقدام به برسی شرط دیگری خواهد نمود
و در صورت بر قراری شرط دوم ( یعنی اگر کاراکتر وارد شده w باشد )
دستور خروجی اجرا میگردد و کلمه wiki نمایش داده میشود
همان طور که مشاهده میکنید دستور if میتواند به صورت تو در تو به کار برده شود
اما بهتر است در به کاربردن دستورات if تو در تو به مساله خوانایی برنامه توجه شود
همچنین شما میتوانید شروط مختلفی را با یکدیگر ترکیب نمایید
برای مثال به برنامه قبلی به صورت زیر نیز نوشته شود

var
 A:integer;
 B:char;
begin
 ReadLn(A,B);
 if (A>100)and(B='w') then WriteLn ('wiki');
end.
[adinserter block="1"]
4.9/5 - (7 امتیاز)

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

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

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