Logic-operator

درمورد منطق در سیستم برنامه نویسی و کامپیوتر زیاد صحبت کردیم،اما در این بین عملگرها‌ی منطقی، در زبانهای برنامه نویسی, بسیار شبیه به منطق انسانها تعریف شده اند،در ادامه همراه باشید.

این عملگرها بسیار شبیه به گیت های منطقی ریز پردازنده ها هستند:

logic-Gates

 

 

 

 

اگر با شکل بالا آشنا نیستید،نگران نباشید.این مطلب صرفا برای درک بهتر موضوع نگارش شده.

این عملگرها به شکل زیر هستند:

 

Logical NOT (!a)

Logical AND (a && b)

Logical OR (a || b)

در مثالهای زیر با کارکرد این عملگرها آشنا میشوید.

عملگر منطقی NOT

٭ تمامی کدها و مثال ها را می توانید در بخش playground تست کنید.

var bool:Bool = false

if !bool {

    print("it's Not True")
}

در این مثال بررسی میکنیم که اگر مقدار متغیر bool برابر با true نبود، آنگاه در خروجی چاپ شود :

it's Not True

و این اتفاق نیز رخ خواهد داد چرا که در هنگام تعریف متغیر bool مقدار آنرا false قرار دادیم، در اصل درون if این شرط برقرار است:

if bool is false {

نکته: توجه کنید که شرط بالا باید به شکل زیر خوانده شود 

 

if not bool  {

عملگر منطقی AND :

٭ تمامی کدها و مثال ها را می توانید در بخش playground تست کنید.

let DoorCode = true
let passed = false

if DoorCode && passed {

    print("Welcome!")

} else {
   
    print("ACCESS DENIED")
}

عملگر منطقی (b && a) به صورتی اجرا میشود که مقدار b و a هردو یکسان باشند(هر دو شرط باید برقرار باشد)،در مثال بالا نیز بررسی میشود اگر مقدار DoorCode و passed  برابر هم است، دستور پرینت اول چاپ شود،در غیر این صورت، مقدار پرینت لاین دوم چاپ شود.پس همانطور که متوجه شدید شرط ابتدایی برقرار نخواهد بود و شرط بعد از else اجرا خواهد شد.

نکته: شرط بالا به صورت زیر خوانده میشود

if  DoorCode AND Passed  {

عملگر منطقی OR :

در مثال قبل گفتیم در صورتی if برقرار میشود که هر دو شرط برقرار باشد.اما در استفاده از عملگر OR تنها کافی است که یکی از شروط در if برقرار باشد،به مثال زیر توجه کنید:

٭ تمامی کدها و مثال ها را می توانید در بخش playground تست کنید.

let DoorKey = false
let knowsPassword = true

if DoorKey || knowsPassword {

    print("Welcome!")

} else {

    print("ACCESS DENIED")
}

در این مثال اگر یکی از ثابت‌های تعریف شده مقدار true داشته باشد، شرط if برقرار شده و خروجی زیر چاپ میشود:

Welcome!

مثالهای بالا را حتما در Xcode و در محیط playground نوشته و تست کنید، و سعی کنید با تغییر متغیر‌ها و ثابت ها نتیجه های متفاوتی بدست آورید.

 

پاسخ چالش: در جلسه‌ی گذشته چالشی تعریف کردیم،پاسخ چالش به صورت زیر است:

٭ تمامی کدها و مثال ها را می توانید در بخش playground تست کنید.

var WishBike:String = "BMW"
var BikeFlag:Bool = WishBike == "Honda"
var BikeOwned = ""

var h1 = "have"
var h2 = "dont have"

if BikeFlag == true {
    
    BikeOwned = "you \(h1) BMW"

}else{
 
    BikeOwned = "you \(h2) BMW"
}
print(BikeOwned)