PDA

View Full Version : مبتدی: or یا and



ali-software
جمعه 06 فروردین 1389, 11:13 صبح
Dim grade As Integer
grade = Val(TextBox1.Text)
If grade >= 17 And grade <= 20 Then
Label1.Text = "a"
ElseIf grade >= 15 And grade < 17 Then
Label1.Text = "b"
ElseIf grade >= 12 And grade < 15 Then
Label1.Text = "c"
ElseIf grade >= 10 And grade < 12 Then
Label1.Text = "d"
ElseIf grade >= 0 And grade < 10 Then
Label1.Text = "e"
Else
Label1.Text = "نمره ی وارد شده صحیح نمی باشد!!!"
End If
سلام دوستان.اگه در این کد به جای and از or استفاده بشه برنامه درست کار نمیکنه.دلیلش چیه؟

vb8334
جمعه 06 فروردین 1389, 11:29 صبح
شما باید از and استفاده کنید چرا ؟
چون اگه از or استفاده کنی زمانی که توی تکست باکست 16 رو وارد کنی میگه a
که درست نیست

ali-software
جمعه 06 فروردین 1389, 11:33 صبح
خب منم میخواهم دلیلشو بدونم لطفا کمکم کنید.

rasoul2023
جمعه 06 فروردین 1389, 11:40 صبح
سلام دوست عزیز :
ببین برنامه نویسی مثل زبان خودمون که صحبت میکنیم هستش بعضی وقتا ما یه کلماتی را با گویش خودمون میگیم در حالی که از لحاظ دستوری اشتباه هستند اینجا هم به همین صورت ببینید شما قصد دارید بجای کلمه And به معنی( و ) از OR به معنی ( یا ) استفاده کنید خودتون قضاوت کنید آیا این میشه ؟

هر چیزی جایی داره از OR برای مقایسه بیشتر استفاده میشه و از AND برای ساختن یک گروه و مجموعه ...

امیدوارم توانسته باشم منظورم را برسانم .

ali-software
جمعه 06 فروردین 1389, 11:43 صبح
ممنون از لطف شما.ولی به نظر من or هم در این عبارت معنا بده.دقت کنید.به نطرم متوجه بشوید

john smithair
جمعه 06 فروردین 1389, 14:51 عصر
سلام
دوست عزیز دقت کن!مثلا شما تو شرط اولت گفتی :
اگر نمره بالاتر از 17 بود و از 20 هم کوچکتر بود آنگاه:
تو خروجی بده a
حالا با این دستور اگه کاربر بزنه 18 خروجی میشه a.(چون هم از 17 بزرگتره و هم از 20 کوچکتره)
و اگر کابر بزنه 16 با اینکه از 20 کوچکتره ولی چون از 17 بزرگتر نیست خروجی نمیشه a و شرط های دیگه بررسی میشه.(چون از 20 کوچکتر نیست)
حالا بیا اون "و" رو بکنیم "یا":
اگر نمره بالاتر از 17 بود یا از 20 هم کوچکتر بود آنگاه:
تو خروجی بده a
خب حالا اگه کابر تو این حالت بزنه 18 خب بازهم خروجی میشه a
و اگر بزنه 16 چون 16 از 20 کوچکتره خروجی بازهم میشه a.(با اینکه از 17 بزرگ تر نیست ولی همون که از 20 کوچکتره کفایت میکنه.)

یعنی خلاصه اش میشه این که :
شرط های بین and باید دوتاش درست باشه تا دستورشون انجام بشه.
اما شرط های بین or اگه از چند تا فقط یکیش هم درست باشه دستورشون اجرا میشه.

امید وارم تونسته باشم منظور رو برسونم!!!

ali-software
جمعه 06 فروردین 1389, 15:18 عصر
ممنون از توضیحاتتون