PDA

View Full Version : سوال: نتیجه این الگوریتم while چطوری این میشه؟ خیلی فوری



complexcoding
چهارشنبه 19 بهمن 1390, 22:51 عصر
i=5;s=0;
while(i-1)
{
s+=--i*2;
}
با سلام
مگر این الگوریتم در هنگام شروع در داخل پرانتز while متغیر i را هر بار یک عدد کم نمی کند؟ و بعد در داخل آکولاد نیز کم می کند. یعنی در دور اول اجرا عدد 5 یکبار داخل پرانتز کم می شود و یکبار هم قبل از ضرب در عدد 2 منهای 1 می شود یعنی 3 ضربدر 2 می شود اما در کتابی که من می خوانم در دور اول 4 ضربدر 2 شده و در نهایت s= 20 شده می خواستم ببینم چطوری این شده؟؟:اشتباه::اشتباه::اشتبا :
سوال این کتاب این بود که مقدار نهایی S چه مقداری است؟ :ناراحت:
خیلی ممنون از همه دوستان

IamOverlord
چهارشنبه 19 بهمن 1390, 23:06 عصر
ببین درست می گم -- رو هم + در نظر گرفتم:
+ 4 * 2
+ 3 * 2
+ 2 * 2
+ 1 * 2
= 20

MAN_UNITED
پنج شنبه 20 بهمن 1390, 14:47 عصر
i=5;s=0;
while(i-1)
{
s+=--i*2;
}
با سلام
مگر این الگوریتم در هنگام شروع در داخل پرانتز while متغیر i را هر بار یک عدد کم نمی کند؟ و بعد در داخل آکولاد نیز کم می کند. یعنی در دور اول اجرا عدد 5 یکبار داخل پرانتز کم می شود و یکبار هم قبل از ضرب در عدد 2 منهای 1 می شود یعنی 3 ضربدر 2 می شود اما در کتابی که من می خوانم در دور اول 4 ضربدر 2 شده و در نهایت s= 20 شده می خواستم ببینم چطوری این شده؟؟:اشتباه::اشتباه::اشتبا :
سوال این کتاب این بود که مقدار نهایی S چه مقداری است؟ :ناراحت:
خیلی ممنون از همه دوستان

سلام
نه دوست عزیر پرانتز حلقه while هیچ تغییری ایجاد نمیکنه داخل پرانتز شرط هستش یعنی این حلقه تا موقعی ادامه پیدا میکنه که اون شرط داخل پرانتز برقرار باشه
الان هم این حلقه شرطش اشتباهه، این باید باشه i-1!=0
اگه همین شرطی که نوشتی i-1 رو اعمال کنی حلقه هیچ وقت پایان پیدا نمیکنه

irpersian20
پنج شنبه 20 بهمن 1390, 17:22 عصر
سلام
نه دوست عزیر پرانتز حلقه while هیچ تغییری ایجاد نمیکنه داخل پرانتز شرط هستش یعنی این حلقه تا موقعی ادامه پیدا میکنه که اون شرط داخل پرانتز برقرار باشه
الان هم این حلقه شرطش اشتباهه، این باید باشه i-1!=0
اگه همین شرطی که نوشتی i-1 رو اعمال کنی حلقه هیچ وقت پایان پیدا نمیکنه
نه مشكلي نداره
شرط حلقه ميشه تا رسيدن به 0

MAN_UNITED
شنبه 22 بهمن 1390, 23:07 عصر
نه مشكلي نداره
شرط حلقه ميشه تا رسيدن به 0
آره من اشتباه کردم هم اینجوری درسته i-1!=0 و اینجوری i-1 هیچ فرق نداره فقط در مواقعی که میخوایی مخالف صفر باشه
فقط شرط هیچ تغییری در متغیر ایجاد نمی کنه