جلسه ششم

تازه ها

جلسه ششم

نظرات ()


ادامه بخش دوم ( قسمت پایانی )

عملگرها 

6. عملگر هاي مقايسه اي 

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

با این موضوع معنی صحبت اول بخش دوم رو می فهمید که گفتم :

«اصل الفبا، يك مطلب است اما نوع دستور ، اسم دستور  ، نحوه به كارگيري دستور و ... هر برنامه با يكديگر متفاوت است .»

مثلا علامت <> در زبان QBASIC به معنای مخالف بودن است . 

علامت =! در زبان JAVA  هم به معنای مخالف بودن است. 

هر دو یک مفهوم را می رسانند یعنی اصل الفبا یکی است فقط شکل دستور فرق می کند. 

به همین دلیل وقتی شما مفاهیم و کاربرد مفاهیم را یاد بگیرید در هر زبانی به سادگی می توانید کد بنویسید.

مثلا در الگوریتم ، شرطی دارید که شرط می گوید اگر مخالف مقداری بود عملیات 1 انجام شود. 

در کد نویسی فقط به دنبال علامت مخالف بودن می گردید و درگیر مسائل دیگر نمی شوید.


اين عملگر ها براي مقايسه ي مقادير عددي و رشته اي به كار مي روند و در واقع آمده اند تا نشان دهند عبارت ارزش درستی دارد یا نه ؟

مثلا :

Pass$ <> Password$

این عبارت کدی است از زبان QBASIC و با توجه به جدول بدین معنی است که متغیر رشته ای Pass با متغیر رشته ای Password مخالف است یا نه ؟ در واقع شرطی است که مخالف بودن را بررسی می کند.

- عملگر منطقی

دسته ي ديگر از عملگر هايمان ، عملگر هاي منطقي است در هر  زباني اين عملگر ها يك اسمي دارند ولي همانطور که گفتم دانستن مفهوم مهم است.

ما در QBASIC  عملگر هاي منطقي And, or , not  را داريم كه همين مفهوم در زبان هاي ديگر هم هست .

عملگر AND , OR : ترکیب عبارات منطقی است.

عملگر NOT: برای معکوس کردن ارزش یک عبارت منطقی به کار می رود.

 

اين عبارات در عبارات كنترلي بيشتر ديده مي شود . و شيوه اي كه به شما كمك مي كند تا براحتي بتوانيد از اين عملگر ها استفاده كنيد این است که :

1.معادل شرط

 هر بار كه به شرطي برخوردید و از اين عملگر ها در آن استفاده شده بود ، اگر شرط درست بود به جای آن شرط ، 1 بگذارید و اگر نادرست بود صفر بگذارید.  

 

2.معادل عملگر

AND را مساوی با «ضرب یا و » بدانید.

OR را مساوی با «جمع یا یا» بدانید.

NOT رو هم قرینه کننده بدانید.


3.ریاضیات عملگرهای منطقی

این ریاضیات مثل همان ریاضی خودمان هست به جز 1+1.

با استفاده از 2 نکته ی بالا شرط ها به عبارات زیر تبدیل میشود که جواب هر کدام به قرار زیر است :

1*1=1                                     1*0=0                     0*1=0
1+1=؟                                     1+0=1                     0+1=1

خب حاصل 1+1 چند میشود؟ همانطور که گفتم مثل ریاضیات خودمان عمل می کنیم . 1+1 می شود 2. اما در برنامه نویسی 2 نداریم پس خانه ی پر یعنی 1 را در نظر می گیریم. پس 1+1 در برنامه نویسی میشود 1.


مثال :


Name$="maryam"
If (name$ =="maryam" or name$=="mona") then A
Else                 B

خب شرط مي گوید : اگر name$  (نشانه ی متغیر رشته ای در زبان QBASIC است ) مريم يا مونا بود  A را انجام بده . 
خب ما بايد بدانيم شرط درسته يا نادرست . که اگه درست باشه بايد دستور  A  انجام شه و اگه نه بايد دستور B انجام بشه. پس تشخيص برامون مهمه .

خب قسمت اول  name$=="maryam"درسته (چون اول کد name را maryam مقدار دهی کرده است. ) پس چون شرط درست است معادل آنرا قرار میدهیم یعنی 1 به جای آن میگذاریم.
قسمت 2 name$ =="mona" نادرسته پس معادل آنرا میگذاریم یعنی 0
حالا به جاي  OR  معادلشو مي گذاریم +
حالا پرانتز شد (0+1)

حاصل پرانتز را حساب می کنیم . جواب میشود 1 .

1 هم یعنی درست بودن. پس شرط درست است و برقرار. در نتیجه خط اول اجرا میشود و A جواب نهایی خواهد بود.


<جلسه قبل ــ جلسه بعد>