PDA

نسخه کامل مشاهده نسخه کامل : سوالی درباره حلقه For



eh_mn
17-05-2006, 00:21
به نظر شما خروجی کد زیر چیست ؟



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

احتمالا شما خواهید گفت که اعداد 1 ، 2 ، 3 ، 4 ، 5 ، 6 به ترتیب چاپ خواهند شد. ولی اینگونه نیست و اعداد 1 تا با 10 چاپ می شوند.

علت چیست ؟

با تشکر.

sa3er
17-05-2006, 00:33
شما اگه بخواهيد از loop خارج شيد بايد از Exit For استفاده كنيد. شما در داخل loop نمي تونيد مقدار x رو تغيير بديد. چون قبل از ورود به حلقه (loop) ثبت شده كه اين روال بايد 10 بار تكرار شود. در عوض مي تونيد به اين صورت عمل كنيد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

jvd
17-05-2006, 00:38
به نظر شما خروجی کد زیر چیست ؟



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

احتمالا شما خواهید گفت که اعداد 1 ، 2 ، 3 ، 4 ، 5 ، 6 به ترتیب چاپ خواهند شد. ولی اینگونه نیست و اعداد 1 تا با 10 چاپ می شوند.

علت چیست ؟

با تشکر.
عزيز جان سلام اول كد رو كامل بنويس اگه با اين كد جواب داده برو خدارو شكر كن و برنامه رو واسه ما بفرست آخه تو نيت كردي اون جواب داده نه end if نه ...

eh_mn
17-05-2006, 15:50
شما اگه بخواهيد از loop خارج شيد بايد از Exit For استفاده كنيد. شما در داخل loop نمي تونيد مقدار x رو تغيير بديد. چون قبل از ورود به حلقه (loop) ثبت شده كه اين روال بايد 10 بار تكرار شود. در عوض مي تونيد به اين صورت عمل كنيد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با سلام و تشکر از پاسخ شما.
لطفا به این سوال من نیز جواب دهید. چرا تغییر کران بالای حلقه For بر خلاف ویژوال بیسیک در C امکان پذیر است ؟

با تشکر.

eh_mn
17-05-2006, 15:57
عزيز جان سلام اول كد رو كامل بنويس اگه با اين كد جواب داده برو خدارو شكر كن و برنامه رو واسه ما بفرست آخه تو نيت كردي اون جواب داده نه end if نه ...

با سلام خدمت شما.
متاسفانه من معنی لغت "نیت" را متوجه نشدم.
در ویژوال بیسیک دستور If به دوشکل استفاده می شود :
1. تک خطی Single Line
2. چند خطی Multiline
شکل کلی استفاده از این دستورات بصورت زیر است :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

همان طور که ملاحظه می کنید در مورد اول نیازی به استفاده از EndIf نیست.

موفق باشید.

blackroos
17-05-2006, 20:07
eh_mn جان درست می گه دستور ایف به سه حالت نوشته می شه که دستور iif() هم جزو اوناست

Payman_62
18-05-2006, 00:43
با سلام و تشکر از پاسخ شما.
لطفا به این سوال من نیز جواب دهید. چرا تغییر کران بالای حلقه For بر خلاف ویژوال بیسیک در C امکان پذیر است ؟

با تشکر.
چون ویبی vb هست و سی C هست.

eh_mn
18-05-2006, 23:31
چون ویبی vb هست و سی C هست.

با تشکر از پاسخ شما.
سوالم را طور دیگر مطرح می کنم.
چه چیز باعث بروز چنین تفاوتی میان دو زبان شده است ؟
کامپایلر ، مترجم و یا ....
(لازم به ذکر است که Turbo Pascal نیز مشابه VB عمل میکند. پس باید یک تفاوت اساسی وجود داشته باشد.)

موفق باشید

eh_mn
18-05-2006, 23:44
eh_mn جان درست می گه دستور ایف به سه حالت نوشته می شه که دستور iif() هم جزو اوناست

با تشکر از توجه شما.
تابع IIF جزء توابع (دستورات) پیش فرض VB نیست. بلکه جزء توابع کلاس Interaction از کتابخانه VBA می باشد.
برای پی بردن به این مطلب کافیست لغت IIF را در Object Browser جستجو کنید.

موفق و پیروز باشید.