تازه ها
جلسه ششم
موضوع آخری که در یادگیری هر زبانی باید دانست عملگرهای مقایسه ای هستند. باید بدانیم در آن زبان چه عملگرهای مقایسه ای وجود دارد؟ چرا که این عملگرها در عبارات کنترلی بکار می روند و اگر آنها را ندانیم نمی توانیم شرط ها را بنویسیم. عملگرهای مقایسه ای در حالت پایه اینها هستند.
با این موضوع معنی صحبت اول بخش دوم رو می فهمید که گفتم :
«اصل الفبا، يك مطلب است اما نوع دستور ، اسم دستور ، نحوه به كارگيري دستور و ... هر برنامه با يكديگر متفاوت است .»
مثلا علامت <> در زبان 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
حاصل پرانتز را حساب می کنیم . جواب میشود 1 .
1 هم یعنی درست بودن. پس شرط درست است و برقرار. در نتیجه خط اول اجرا میشود و A جواب نهایی خواهد بود.