PDA

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



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

IamOverlord
پنج شنبه 20 بهمن 1390, 00:06 صبح
ببین درست می گم -- رو هم + در نظر گرفتم:
+ 4 * 2
+ 3 * 2
+ 2 * 2
+ 1 * 2
= 20

MAN_UNITED
پنج شنبه 20 بهمن 1390, 15: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, 18:22 عصر
سلام
نه دوست عزیر پرانتز حلقه while هیچ تغییری ایجاد نمیکنه داخل پرانتز شرط هستش یعنی این حلقه تا موقعی ادامه پیدا میکنه که اون شرط داخل پرانتز برقرار باشه
الان هم این حلقه شرطش اشتباهه، این باید باشه i-1!=0
اگه همین شرطی که نوشتی i-1 رو اعمال کنی حلقه هیچ وقت پایان پیدا نمیکنه
نه مشكلي نداره
شرط حلقه ميشه تا رسيدن به 0

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