تصمیم گیری در برنامه

الگوریتم ها همواره دارای تصمیماتی هستند در واقع این تصمیمات هستند که باعث میشوند کامپیوتر بتواند وظیفه خود را بخوبی انجام دهد.

دستور If

راحت ترین روش برای تصمیم گیری در #C استفاده از دستور if است.

(private void btnIf_Click(object sender, EventArgs e
}
   Declare and set a variable 
//
;  int intNumber = 27
 
   Here's where you make a desicion
//
  and tell the user what happend  //
( if (intNumber == 27
  }     
;(" MessageBox.Show("intNumber' is, indeed, 27!", "Simple If      
{      
{

قطعه کدی که درون آکولاد پایین if قرار دارد فقط زمانی اجرا میشود که مقدار متغیر intNumber برابر 27 باشد به عبارت دیگر هنگامی که شرط داخل پرانتز true یا درست باشد کد داخل بلاک if اجرا میشود.

دستور Else

زمانیکه بخواهید درصورت درست بودن شرط قسمتی از کد و درصورت نادرست بودن شرط قسمتی دیگر از کد اجرا شود میتوان از دستور Else استفاده کرد.

(private void btnAnotherIf_Click(object sender,EventArgs  e
          } 
 Declare and set a variable
//
;  int intNumber = 27
 
   Here’s where you make a decision
//
  and tell the user what happened
//
 ( if (intNumber == 1000
  }    
 ;("MessageBox.Show("intNumber’ is, indeed, " + "1000!", "Simple If     
  {    
  else
 }    
   ; ("MessageBox.Show("‘intNumber’ is not 1000!", "Simple If    
  {     
{

بررسی چند شرط با Else if

زمانیکه لازم باشد بیش از دو حالت تست شود میتوان از دستور Else if استفاده کرد.

(private void btnAnotherIf_Click(object sender,  EventArgs e
}
  
Declare and set a variable//   
 
; int intNumber = 27   
 Here’s where you make a decision
//   
   and tell the user what happened
//     if (intNumber == 1000   
}     
  
;(" MessageBox.Show("‘intNumber’ is, indeed, " + "1000", "Simple If     
  {      
 ( else if (intNumber == 27    
  }        
  ("MessageBox.Show("‘intNumber’ is 27!", "Simple If        
  {         
  else    
  }        
;("MessageBox.Show("‘intNumber’ is neither 1000" +" nor 27!", "Simple If        
  {         
{

دستورات If تودرتو

علاوه بر استفاده متوالی از دستور If میتوان داخل بلاک یک If از If دیگری استفاده کرد.

(if (intX > 3
}
;("MessageBox.Show("intX is greater that 3" "Sample If     
(if (intX == 6     
;(" MessageBox.Show("intX is 6!", "Sample If          
{

استفاده از این مطالب با ذکر منبع بلامانع است.

متدها

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

چرا از متدها استفاده میکنیم؟

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

مثال:

(private void btnAdd_Click(object sender, EventArgs e
}
   Define a variable for intNumber
//
;  int intNumber
 
  Set the initial value
//
;  intNumber = 27
 
   Add 1 to the value of intNumber
//
;  intNumber = intNumber + 1
 
   Display the new value of intNumber
//
;("MessageBox.Show( "The value of intNumber + 1 = " +  intNumber, "Variables
{

این کد یک متد است زیرا قطعه کدی مجزاست که کار خاصی را انجام میدهد.

یک متد بصورت زیر تعریف میشود.

(private void btnAdd_Click(object sender, EventArgs e

درباره کلمه private در بخشهای آتی صحبت خواهیم کرد
کلمه void به کامپایلر میگوید که تابع هیچ مقداری را برنمیگرداند اگر تابع مقداری را برگرداند بجای void نوع آن مقدار نوشته میشود مثلا int.
کلمه btnAdd_Click نام متدی است که تعریف کردیم
داخل پرانتز پارامترهایی است که به تابع فرستاده میشود درمورد این پارامترها دربخش های بعدی بیشتر صحبت خواهیم کرد.

نکته

هنگامی که یک متد شروع بکار میکند متغیرهایی که در محدوده آن تعریف شده اند(بین دو آکولاد) محدوده فعلیت محلی میگیرند یعنی متغیر در محدوده متد جاری قابل دسترسی و معتبر است

استفاده از این مطالب با ذکر منبع بلامانع است