عملگرها ، دستورات شرطی :
درس سوم
قبل از پرداختن به موضوع اصلی درس، ابتدا به مسئله شرط ها می پردازیم:
دستورات شرطی برای انجام کار ها و تصمیم گیری های مختلف بر اساس شرایط مختلف به کار می رود. به بیان دیگر، شرط یکی از راهکارهای تصمیم گیری در برنامه نویسی می باشد.
به بلوک چارت روبرو دقت کنید.
توضیح: با وارد کردن دستور و بررسی آن دو اتفاق می افتد؟
- اگر شرط درست باشد دستورات داخل بلوک (بدنه شرط) اجرا می شود.
- و اگر شرط درست نباشد به ادامه برنامه می پردازد.
دقت نمایید تنها در صورت درستی کد، دستوری از دستورات را اجرا می کند.
به بیان دیگر :
اگر شرط یا مجموع شرط ها درست بود وارد دستورات شرط شده و اجرا می شود. اما اگر نادرست باشد، دستور را نادیده می گیرد.
عملگرهای رابطه ای یا (Operations of Relation) :
عملگرهای == , =! , < , > , =< , => شامل عملگرهای رابطه ای هستند .
عملگر == : این عملگر زمانی درست می باشد و قابلیت اجرا پیدا می کند که دو عدد (متغیر)، دو قیمت یا … ، یکی باشند. به عبارت دیگر این عملگر برای مقایسه ی برابر بودن دو عملوند (متغیر) مورد استفاده قرار می گیرد. درصورت نابرابری از دستور شرط خارج می شوند.
عملگر =! : این عملگر برای مقایسه ی نابرابر بودن دو عملوند (متغیر) مورد استفاده قرار می گیرد. یعنی اگر x مخالف y بود، شرط درست بوده و اجرا خواهد شد.
عملگر > (کوچکتر) : اگر مقدار x کوچکتر از مقدار yباشد مقدار درست و در غیر اینصورت مقدار نادرست می باشد .
عملگر < (بزرگتر) : اگر مقدار x بزرگتر از مقدار y باشد مقدار درست و در غیر اینصورت مقدار نادرست می باشد.
عملگر => (کوچکتر مساوی) : اگر مقدار x بزرگتر از مقدار y و یا برابر با مقدار y باشد شرط درست خواهد بود.
عملگر =< (بزرگتر مساوی) : اگر مقدار x کوچکتر از مقدار yو یا برابر با مقدار y باشد شرط درست خواهد بود در غیر این صورت اجرا نخواهد شد.
شایسته است که از دو شرط آخر استفاده چندانی نداشته باشید.
❓ مسئله شماره 3 :
یک عدد از کاربر بگیرید، در صورت مثبت بودن عدد برنامه جمله “you entered a positive number” را در دستور الارت چاپ نماید.
ابتدا نقشه مسیر را پیدا کنید سپس در فضای متراتریدر اجرا نمایید.
در برنامه اکسپرت جدید ساخته و یک نام برای آن انتخاب کنید.
برای گرفتن متغیر از کاربر ، از کلمه کلیدی input استفاده کنید. نام متغیر را int قرار دهید.
به عنوان مثال:
Input int number; //please enter number
در بدنه تابع int شرط را بنویسید. ( if اگر number بزرگتر از صفر بود جمله آلارت را چاپ کن). برای نوشتن جمله، عبارت را داخل “دابل کوتیشن” قرار دهید. Compile را کلیک و نباید اخطاری نمایش داده شود. وارد متراتریدر شوید، نام کلاس را در فضای مشکی رنگ درگ کنید. کادر export- class3 نمایش می شود. در قسمت value مقدار را وارد کرده و ok را انتخاب کنید.
همانگونه که مشاهده می کنید اخطار با موفقیت نمایش داده شد.
شرط if….else :
این دستور نیز ابتدا شرط درون پرانتز را بررسی می کند. اگر شرط درست باشد کد درون بلوک if اجرا می شود و اگر شرط درست نباشد کد درون بلوک else اجرا می شود.
جهت نوشتن آن به مثال زیر دقت نمایید.
در زبان برنامه نویسی دستور بالا اینگونه خوانده می شود:
If اگر x مساوی با 2 بود، y را 5 کن در غیر این صورت y را مقدار 10 قرار بده.
بنابراین چنانچه مقدار درست باشد به مقدار 5 ، و در صورت نادرست بودن به مقدار 10 تغییر خواهد کرد.
❓ مسئله شماره 4 :
یک عدد از کاربر بگیرید، در صورت مثبت بودن عدد برنامه جمله “you entered a positive number” را در دستور الارت چاپ نماید و در صورت منفی بودن عدد جمله “you entered a negative number” را نمایش دهد.
بلوک چارت مسئله به شیوه زیر می باشد:
دستورات را وارد کنید.
سپس Compile را کلیک کنید و نباید اخطاری نمایش داده شود.
اینک وارد متاتریدر شوید و برنامه را اجرا کنید. مانند پاسخ پیشین نام کلاس را درگ کرده برای بار اول مقدار 20- را بدهید خطای پیام نادرست نمایش می شود.
فرمول چند شرطی:
شیوه ی عملکرد دستور چند شرطی به این گونه است که اگر دستور یک درست باشد همان دستور را اجرا می کند در صورت خطا بودن آن، دستور دوم را اجرا خواهی کرد. و اگر دستور دوم خطا باشد به سراغ دستور سوم می رود، در غیر این صورت دستور eles را اجرا می کند.
به عنوان مثال :
❓ مسئله شماره 5 :
یک عدد از کاربر بگیرید، در صورت مثبت بودن عدد برنامه جمله “you entered a positive number” را در دستور الارت نمایش دهد، در صورت منفی بودن عدد جمله “you entered a negative number” را چاپ نماید همچنین در صورت 0 بودن عدد جمله “you entered 0” چاپ شود.
دستورات را یکی یکی مانند تصویر وارد نمایید.
سپس Compile را کلیک کنید و نباید اخطاری نمایش داده شود.
اینک با وارد کردن مقدارها پیام های مرتبط نمایش داده خواهند شد.
به عنوان مثال:
If (number==0)
; Alert (“you entered 0”)
; Int you=50
دستور بالا به علت نبود کروشه برنامه تنها دستور int را می خواند. یعنی دستور دوم از شرط خارج خواهد بود. اما اگر کروشه را قرار دهید تمام موارد قابل خواندن می باشند.
معرفی انواع خطاها:
خطای سینتکس: این خطاها ممکن است در مرحلهی کامپایل کردن ظاهر شوند و برنامهنویس بهراحتی میتواند آنها را برطرف سازد؛
خطای منطقی: خطایی است که برنامه اجرا می شود اما نتیجه مطلوب ندارد. برای مثال: بههمریختگی در نام متغیرها، فراخوانهای اشتباه تابع، بهرهبرداری از انواع مختلف دادهها و غیره؛
خطای الگوریتمی در شاخههای یک اکسپرت یعنی براکتها طبق الگوریتم قرار نگرفتهاند، یا پوشش اشتباه عملگرهای “if” توسط عملگرهای “else” اتفاق اُفتاده است. در نتیجه اکسپرتی داریم که مطابق با نیاز فنی کار نمیکند.
❓ مسئله شماره 6 :
اسکریپت بنویسید که یک عدد از کاربر گرفته، زوج یا فرد بودن نماید و در دستور کامنت نمایش داده شود.
برای گرفتن متغیر از کاربر از extern استفاده کنید.
Compile را کلیک کنید و نباید اخطاری نمایش داده شود.
عملگرهای منطقی (Boolean Operations) :
برای آشنایی هرچه بیشتر عملگرهای منطقی که در شرط ها کاربرد دارند به جدول زیر دقت کنید.
عملگرهای ! ، || ، && ، شامل عملگرهای منطقی هستند .
عملگر Not (!) : اگر مقدار عملوند یا متغیر، true باشد و این عملگر را در کنار متغیر استفاده کنید مقدار آن به false تغییر می کند و بالعکس
عملگر OR (||) : این عملگر در بین دو عملوند قرار می گیرد
به عنوان مثال:
عملگر AND (&&) : اگر این عملگر در بین دو عملوند قرار بگیرد که یکی از آنها مقدار false داشته باشد مقدار false برمی گرداند و چنانچه هر دو عملوند (متغیر) مقدار true داشته باشند مقداری که این عملگر بر می گرداند مقدار true خواهد بود .
❓ مسئله شماره 7 :
برنامه بنویسید که سه عدد از کاربر گرفته و بزرگترین آن را در خروجی چاپ نماید.
در فضای متراتریدر دستورها را وارد کنید.
Compile را کلیک کنید. عملیات باید بدون اخطار باشند.
مقادیر را در قسمت value به ترتیب 25 ، 105 ، 55- وارد کنید.
در قسمت پرینت باید عدد 105 را به عنوان بزرگترین عدد چاپ کند.
چنانچه اعداد را هم جابه جا کنید، همان خانه را به عنوان بزرگترین عدد نمایش خواهد داد.
پاسخها
واقعا ممنونم ازتون بابت این آموزش های فوق العادهتون