PDA

نسخه کامل مشاهده نسخه کامل : ابهام در يك برنامه



mahdi_pc
12-09-2005, 09:02
دوستان من دارم براي شروع كار ابتدا همين كيو بيسيك رو ياد مي گيرم
تو يه كتاب يه برنامه در كيو بيسيك ديدم
و هم چنين خروجيش رو امتحان هم كردم ولي نفهميدم چرا خروجيش
اين طوري ميشه.
خواهش مي كنم منو راهنمايي كنيد كه اين برنامه چطور كار مي كنه؟


cls
For a%=1 to 5
print
print a%, tab(20)
Goto vot
For b%=2 to 6
vot:
print b%-a%
next b%
next a%
End

و اين هم خروجيش


1 -1
2 -1
3 -1
4 -1
5 -1
اين رو هم اضافه كنم كه شك كردم كه آيااين تاپيك رو توي تاپيك مربوط به وي بي بدم يا نه
بعدش گفتم بهتره تاپيك جدا بدم.
ممنون :happy:

Nesta
12-09-2005, 22:34
1-cls صفحه رو پاک می‌کنه
2-یک حلقه تشکیل میده از 1 تا 5
3-رو صفحه نمایش میده
4-چاپ عدد 1 تا 5 زیر هم یعنی‌ از 1 تا 5 حلقه در بار اول 1 هست .
5-goto یعنی‌ برو به انجائی‌ که نوشته vote
6-یک حلقه از 2 تا 6 یعنی‌ 2-3-4-5-6
7-چاپ کن 6-5=1
8-حالا حلقه اولی‌ می‌شه 2 همون که 1 تا 5 بود بار اول 1 بود .3-2=1 حلقه دوم دیگه شده 3 چون از 2 تا 6 هست جلوش می‌زنه 3
دفعه دیگه حلقه اول می‌شه 3 همون که 1 تا 5 هست حلقه دوم می‌شه 4 از 2 تا 6 بود .حالا 4-3 باز می‌شه 1 و جلوش می‌زنه 4
و الی‌ آخر .

mahdi_pc
13-09-2005, 08:47
نستا جان ممنونم. ولی مشکل من دو تا چیزه

یکی اینکه اون یک ها همه منفی یک هست و توی تاپیک این جوری به هم ریخته .
دوم هم اینکه مگه وقتی به فرمان goto برسه کلا نمی پره یه خطی که عنوانش هست vot یعنی دیگه از حلقه 2 تا 6 اصلا عبور نمی کنه پس مقدار متغیر b میشه صفر. حالا نمی دونم که این تصور من درسته یا نه؟
باز هم تشکر

mahdi_pc
13-09-2005, 08:48
نستا جان ممنونم. ولی مشکل من دو تا چیزه

یکی اینکه اون یک ها همه منفی یک هست و توی تاپیک این جوری به هم ریخته .
دوم هم اینکه مگه وقتی به فرمان goto برسه کلا نمی پره یه خطی که عنوانش هست vot یعنی دیگه از حلقه 2 تا 6 اصلا عبور نمی کنه پس مقدار متغیر b میشه صفر. حالا نمی دونم که این تصور من درسته یا نه؟
باز هم ممنون

Nesta
13-09-2005, 14:51
سلام عزیز حرف شما درست ولی‌ این 2 تا حلقه هست .من فهمیدم شما در چی‌ مشگل دارید ،ببین شما در حلقه اول که هستید میپره به vote درست ؟ بد که میاد next یعنی‌ چی‌ یعنی‌ این که میره حلقه اول رو میشمره درست ، وقتی‌ حلقه اول بره روا عادی دیگه طی‌ می‌شه و مثل اول می‌شه .مشگل منفی‌ بودن هم من نمیفهمم ،
یعنی‌ من اینجا یک مثال میزنم \
for i=1 to 10 do
a=A+B
goto saeid
for j=2 to 6
vote
..
..
....
next
next
اینجا ببین که در حلقه اول که هستیم میریم به vote حالا کار که تموم می‌شه به next میرسیم خوب این دستور دوباره تو حلقه قرار داره و حلقه رو یک بار دیگه کم می‌کنه و میره به خط اول دوباره که میاد پائین میرسه به vote ....

mahdi_pc
13-09-2005, 15:03
کارلوس جان ممنون. در ضمن مثل اینکه فضای پیغام خصوصیت هم پر شده نمیشه چیزی فرستاد .

Nesta
14-09-2005, 01:55
کارلوس جان ممنون. در ضمن مثل اینکه فضای پیغام خصوصیت هم پر شده نمیشه چیزی فرستاد .
سلام دوست عزیز متشکر از اطلاع شما و لطفتون .سپاسگزارم.
در ضمن من 5 ماهی‌ هست که نستا هستم