Presentation is loading. Please wait.

Presentation is loading. Please wait.

دستور های منطقی، عباسپور1 دستور های منطقی مقايسه ای LOGICAL COMPARISON EXPRESION.

Similar presentations


Presentation on theme: "دستور های منطقی، عباسپور1 دستور های منطقی مقايسه ای LOGICAL COMPARISON EXPRESION."— Presentation transcript:

1 دستور های منطقی، عباسپور1 دستور های منطقی مقايسه ای LOGICAL COMPARISON EXPRESION

2 دستور های منطقی، عباسپور2 مقدمه در فرترن متغير های منطقی با کلمه کليدی LOGICAL مشخص می شوند در C++ با کلمه bool مشخص می شوند –اگر bool نباشد: اگر درست باشد مقدار1 و نادرست 0 فقط دو مقدار.TRUE. و.FALSE. را می گيرند تا اطلاعات بولی Boolean يک متغير را ذخيره نمايند. LOGICAL :: guess, date guess =.true. date = (today_date==5)

3 دستور های منطقی، عباسپور3 مثال هايي از دستور های منطقی 5 < 6 !True 5 > 6 !False 5 == 6 !False 5 /= 6 !True 5 <= 6 !True 5 >= 6 !False age > 34 !a variable compared with a constant age /= my age !two variables are compared 45 == your age !a variable can appear in any side name== 'Smith' !characters are allowed alpha(3) /= 33 !array elements are allowed (age*3) /= your_age !expressions are allowed

4 دستور های منطقی، عباسپور4 رابط های منطقی در فرترن Boolean Operators 1..AND. دو يا چند عبارت منطقی را به هم پيوند می دهد موقعی نتيجه عبارت.TRUE. است که تمام بخش های آن عبارات.TRUE. باشد (.TRUE. ).AND. (.TRUE.) .TRUE. (.TRUE. ).AND. (.FALSE.).AND.(.TRUE.) .FALSE. (salary*0.4>0.0).AND.(age<45)

5 دستور های منطقی، عباسپور5 2..OR. جهت پيوند دو يا چند عبارت به گونه ای که موقعی.TRUE. است که حتی اگر تنها يک بخش عبارت.TRUE. باشد (.TRUE. ).OR. (.TRUE.) .TRUE. (.TRUE. ).OR. (.FALSE.).OR.(.TRUE.) .TRUE. IF (name =='Dimitris').or. (name=='James').or. (name=='Jim') رابط های منطقی Boolean Operators

6 دستور های منطقی، عباسپور6 3..NOT. اين عملگر ارزش منطقی يک عبارت منطقی را عکس می کند. به عبارتی اگر نتيجه عبارتی.TRUE. باشد خروجی عبارت اگر حاوی.NOT. باشد؛.FALSE. خواهد بود و بر عکس LOGICAL:: date, today Date=.false. Today=.true. IF (.NOT. Date) today=.false. !today set to false رابط های منطقی Boolean Operators

7 دستور های منطقی، عباسپور7 4..EQV. جهت اتصال چند عبارت منطقی و نتيجه.TRUE. است اگر ارزش عبارات منطقی يکسان باشد (فرق نمی کند.TRUE. يا.FALSE. ) (5*3>12).EQV. (6*2>8) نتيجه اين عبارت.TRUE. است رابط های منطقی Boolean Operators

8 دستور های منطقی، عباسپور8 5..NEQV. جهت اتصال چند عبارت منطقی و نتيجه.TRUE. است اگر ارزش تنها يکی از عبارات منطقی متفاوت از ديگر عبارات باشد (5*3>12).NEQV. (6*2>13) نتيجه اين عبارت نيز.TRUE. است در اتصال عبارات منطقی می توان از هر ترکيبی دلخواه از اين عملگر ها استفاده کرد رابط های منطقی Boolean Operators

9 دستور های منطقی، عباسپور9 عملگر های منطقی در فرترن و C مثال فرترنمثال Cمفهومعملگر فرترنعملگر C a>b بزرگتر >> a<b کوچکتر << a>=b بزرگتر يا مساوی >= a<=b کوچکتر يا مساوی <= a==b مساوی == a/=ba!=b نامساوی /=!=

10 دستور های منطقی، عباسپور10 رابط های منطقی درC مثالمفهومعملگر a>0&&sw==1AND&& a<=100||b!=0OR|| !(a==1||b<10)NOT!

11 دستور های منطقی، عباسپور11 عملگر سه تايی شرطی در C فرم کلی ? : اگر شرط درست باشد و اگر نادرست باشد هر دو می توانند یک کميت و یا یک عبارت محاسباتی باشند a=(k<10) ? 100 :50; اگر k کوچکتر از 10 باشد a برابر 100 در غیر اینصورت برابر 50 خواهد بود معادل: if(k<10) a=100; else a=50; مثال پیچیده تر: c+=(a>0&&a<10) ? a++ : a/b; چنانچه a بین 0 و 10 باشد مقدارc با a جمع شده و سپس به a یک واحد اضافه می شود در غیر اینصورت به c حاصل تقسیم a بر b اضافه خواهد شد. معادل if زیر if(a>0 && a<10){ c=c+a; a=a+1; } else c=c+a/b; بدلیل ناخوانایی برنامه چنین دستوراتی توصیه نمی شود

12 دستور های منطقی، عباسپور12 چند نکته در مورد عملگر ها در C استفاده از فضای اضافی بین عملگر و عملوند مجاز است و باعث خوانایی برنامه می شود استفاده از جفت پرانتز حتی بصورت اضافی مجاز است و باعث خواناتر شدن برنامه می شود آگاهی از اولویت عملگر ها نسبت بهم شرکت پذیریعملگراولویت از چپ براست()1 از راست بچپ- + -- ++2 از چپ براست* / %3 از چپ براست+ -4 از چپ براست> >= < <=5 از چپ براست== !=6 از چپ براست&&7 از چپ براست||8 از راست بچپ?:9 از راست بچپ= += -= *= /= %=10 از چپ براست,11

13 دستور های منطقی، عباسپور13 قوانين مربوط به مقايسه کميتهای نويسه ای ابتدا رشته نويسه ای کوچکتر (از نظر تعدادکاراکتر) با کاراکتر “ “ در سمت راست پر می شود تا طول آنها با هم برابر شود از سمت چپ کاراکتر، کاراکتر با هم مقايسه می شوند مقايسه موقعی به پايان می رسد که يا به انتهای رشته ها رسيده باشيم ( با هم برابر هستند) و يا اينکه اولين اختلاف بروز کند

14 دستور های منطقی، عباسپور14 ترتيب مقايسه نويسه ها A < B <... < Z a < b <... < z 0 < 1 < 2... < 9 همانطور که ملاحظه می شود ارقام قبل از حروف قرار می گيرند حروف کوچک قبل از حروف بزرگ قرار می گيرند جا خالی قبل از همه قرار می گيرد هر چه کاراکتری کوچکتر باشد قبل تر (ديرتر) قرار می گيرد بر اين اساس Hassani از Hassan بزرگتر است

15 دستور های منطقی، عباسپور15 توابع آماده مرتبط با مقايسه متغير های نويسه ای در فرترن LGT(string1, string2) !greater than LGE(string1, string2) !greater than or equal to LLE(string1, string2) !less than or equal to LLT(string1, string2) !less than خروجی تمام اين توابع يک کميت منطقی (.TURE./.FALSE.) است مقايسه بر اساس توالی در کد ASCII انجام می گيرد American Standard Code for Information Interchange کد استاندارد آمريکايي برای تبادل اطلاعات

16 دستور های منطقی، عباسپور16 فایل سرآمد توابع نويسه ای در C String.h توابع مربوط به رشته های نويسه ای را نگهداری می کند


Download ppt "دستور های منطقی، عباسپور1 دستور های منطقی مقايسه ای LOGICAL COMPARISON EXPRESION."

Similar presentations


Ads by Google