You are on page 1of 12

‫انتخاب‬

‫نیمسال دوم ‪1400‬‬


‫علمدار‬
‫عملگرهای رابطهای یا شرطی‬

‫مثال‪:‬‬
‫;‪int x = 20‬‬
‫جایگزینی مقدار ‪ x‬با ‪x =10; // 10‬‬
‫مقایسه مقدار ‪ x‬با ‪ ،10‬مقدار ارزیابی کل عبارت ‪( 1‬درست) یا ‪( 0‬غلط) ‪x ==10; //‬‬

‫‪2‬‬
‫دستور ‪if … else‬‬
‫)‪if (condition‬‬ ‫مجموعه دستورالعمل‪:‬‬
‫;‪{Statement1‬‬
‫};‪{Statements1‬‬ ‫;‪Statement2‬‬
‫‪else‬‬ ‫…‬
‫};‪Statementn‬‬
‫};‪{Statements2‬‬ ‫مثال‪ :‬برنامه چاپ دو عدد ورودی به ترتیب و‬
‫)(‪int main‬‬
‫{‬
‫جابجایی دو عدد در صورت ترتیب نادرست‬
‫;‪int x, y‬‬ ‫با فرض ورودی‪:‬‬
‫;”‪cout<<“Enter two integers:‬‬
‫‪9, 2‬‬
‫;‪cin>>x>>y‬‬ ‫توجه‪ temp :‬متغیر‬
‫)‪if (x>y‬‬ ‫کمکی است که‬
‫خروجی‪:‬‬
‫خارج از بلوک قابل ;‪{int temp = x‬‬
‫;‪x = y‬‬ ‫شناسایی نیست‬ ‫‪Enter two integers: 9 2‬‬
‫بلوک دستورالعمل برای جابهجایی دو عدد ورودی ‪y = temp;}//‬‬ ‫‪2, 9‬‬
‫;‪cout<<x<<“, ”<<y<<endl‬‬
‫;‪return 0‬‬
‫}‬
‫‪3‬‬
‫ تودرتو‬if … else ‫مثال دستورات‬
‫ برنامه آزمون بخش پذیری دو عدد صحیح نامنفی‬:‫مثال‬
int main()
{ :‫با فرض ورودی‬
int n, d; 10, 0
cout<<“Enter two integers:”;
cin>>n>>d; :‫خروجی‬
if (d != 0) Enter two integers: 10 0
if (n%d == 0) The second number can’t be zero
cout<<n<<“is divisible by”<<d<<endl;
else
cout<<n<<“is not divisible by”<<d<<endl;
else
cout<<“The second number can’t be zero”<<endl;
return 0;
}
4
‫عملگرهای منطقی‬

‫ جدول درستی‬
p q p && q p q p||q
T T T T T T p !p
T F F T F T T F
F T F F T T F T
F F F F F F

5
‫ارزیابی میانبری‬
‫‪ ‬عملگر &&‬
‫‪ :p && q‬اگر ‪ p‬نادرست باشد نیاز به بررسی ‪ q‬نیست و کل عبارت نادرست‪.‬‬

‫‪ ‬عملگر | |‬

‫‪ :p | | q‬اگر ‪ p‬درست باشد نیاز به بررسی ‪ q‬نیست و کل عبارت درست‪.‬‬

‫عبارت بولی‬ ‫عبارت منطقی‬ ‫عبارت شرطی‬

‫‪6‬‬
‫اولویت عملگرها‬
()
! -- ++ (prefix) - + (unary)
* % /
+ -
<< >>
< <= > >=
== !=
&&
||
= += -= *= /= %=
-- ++ (postfix)

7
else if ‫ساختار‬
‫ جهت بررسی حالتهای موازی یا متناوب‬
if (conditions1)
{Statments1;}
else if (conditions2)
{Statements2;}
else if (conditions3)
{Statements3;}
.
.
.
else
{StatementsN;}
8
‫مثال ساختار ‪else if‬‬
‫مثال‪ :‬برنامه تبدیل نمره امتحان بین ‪ 0‬تا ‪ 100‬به درجه حرفی با توجه به‬
‫جدول ذیل و با استفاده از ساختار ‪else if‬‬

‫‪score‬‬ ‫‪grade‬‬

‫‪90-100‬‬ ‫‪A‬‬
‫‪80-89‬‬ ‫‪B‬‬
‫‪70-79‬‬ ‫‪C‬‬
‫‪60-69‬‬ ‫‪D‬‬
‫‪0-59‬‬ ‫‪F‬‬

‫‪9‬‬
score grade else if ‫مثال ساختار‬
90-100 A
80-89 B
‫ برنامه تبدیل نمره امتحان به درجه حرفی‬:‫مثال‬
70-79 C
int main() (score >= 60 && score <= 69)
60-69 D
{ else if (score >= 60)
int score; 0-59 F
cout<<“Your grade is D\n”;
cout<<“Enter your test score:”;
cin>> score; else if (score >= 0)
if (score > 100) cout<<“Your grade is F\n”;
cout<<“Score is out of range\n”; else
else if (score >= 90) cout<<“Score is out of range\n”;
cout<<“Your grade is A\n”;
return 0;
else if (score >= 80)
cout<<“Your grade is B\n”; }
87 :‫با فرض ورودی‬
else if (score >= 70) :‫خروجی‬
cout<<“Your grade is C\n”; Enter your test score: 87
Your grade is B

10
‫ساختار ‪switch‬‬
‫‪ ‬جهت بررسی حالتهای موازی یا متناوب (قابل جایگزینی بهجای ساختار‪)else if‬‬
‫{)‪switch (expression‬‬ ‫عبارت صحیح‬
‫‪case constant1:‬‬
‫;‪ StatementList1‬ثابت صحیح‬
‫;‪break‬‬ ‫برای خاتمه ساختار‬
‫‪case constant2:‬‬
‫;‪StatementList2‬‬
‫;‪break‬‬
‫⸽‬
‫‪ ‬نکته‪ :1‬در ساختار ‪ switch‬فقط مساوی بودن مقادیر بررسی میشود‪.‬‬
‫‪case constantN:‬‬
‫;‪StatementListN‬‬
‫;‪break‬‬ ‫‪ ‬نکته‪ :2‬در صورت قرار ندادن ‪ break‬همهی ‪case‬های زیرین خط به‬
‫خط اجرا میشود (تلهی سقوط‪.)Fall Throw Error :‬‬
‫‪default:‬‬
‫};‪StatementList0‬‬
‫‪11‬‬
switch ‫مثال ساختار‬
.‫ ارجح است‬else if ‫ نوشتن این برنامه با ساختار‬:‫نکته‬
‫ برنامه تبدیل نمره امتحان به درجه حرفی‬:‫مثال‬

int main() case 6:


{ cout<<“Your grade is D\n”;
int score; break;
cout<<“Enter your test score:”; case 5:
cin>> score; case 4:

‫تله سقوط‬
switch (score /10){ case 3:
case 10: case 2:
case 9: case 1:
cout<<“Your grade is A\n”; case 0:
break; cout<<“Your grade is F\n”;
case 8: break;
cout<<“Your grade is B\n”; default:
break; cout<<“Score is out of range\n”;}
case 7: return 0; :‫خروجی‬ 87 :‫با فرض ورودی‬
cout<<“Your grade is C\n”; }
break; Enter your test score: 87
Your grade is B
12

You might also like