سلام
فرق بین for و while چیست؟
فک نمیکنم تفاوتی با هم داشته باشند برای ایجاد یک حلقه ی تکراره و شما بر اساس شرایطی که برای تکرار دارید میتوینید انتخاب کنید که از کدوم استفاده کنین
سلام. یه سرچ کوتاه توی وب داشته باشید بد نیست ها!!!!!!!!!!!!
خداییش اینا دیگه خیلی ساده و پیش پا افتاده هستن و نیازی به ایجاد تاپیک ندارن.
موفق باشید.
سلام دوست من
عملا خیلی با هم فرق ندارن هردو یک کار رو انجام میدن اما بعضی وقتها for کارسازه بعضی وقتها while با ذکر مثال میگم:
مثلا وقتی چیزی انتهاش معلومه از for استفاده میشه مثلا نمره 10تا دانشجو رو بگیرین و میانگینشو حساب کنین خوب کدش این میشه :
float n, s = 0;
for (int a = 0; a < 10; a++)
{
Console.Write("Enter Number {0} : ", a+1);
n = float.Parse(Console.ReadLine());
s += n;
}
Console.WriteLine("Average is :" + s/10);
Console.ReadKey();
اما وقتی که میگن تا وقتی کاربر No رو نزده اعداد رو بگیره و در انتها میانگینو بده بهترین شیوه استفاده از while هست چون میتونین شرط پایانشو زدن N توسط کاربر بزاریم مثلا :
float n, s = 0,cnt=0;
char ans='y';
while (ans == 'y')
{
Console.Write("\nEnter Number {0} : ", cnt+1);
n = float.Parse(Console.ReadLine());
s += n;
cnt++;
Console.WriteLine("\n\nAre You Continue(y/n)?:");
ans = Console.ReadKey().KeyChar;
}
Console.WriteLine("Average is :" + s/cnt);
Console.ReadKey();
پس هرکدوم بنا به شرایط به درد میخورن
موفق باشین
بایت بایت
تفاوتش در نوع پياده سازي الگوريتم شما جهت خوانايي برنامه هستند. وگرنه هر دو حلقه هستند با شرط تكرار. حتي شما ميتوني بصورت زير يك for رو به while تبديل كني
for (;i<1;)
{
...
}
ذکر کردم که تفاوت این دو در شرط هاییست که برای تکرار تعیین میکیمچطور ممکنه!!!
نمیشه تفاوت نداشته باشن. 1 تفاوتایی دارن.
آخرین ویرایش به وسیله mousa1992 : دوشنبه 23 مرداد 1391 در 00:07 صبح
شاید بارزترین تفاوتشون در تعداد اجرای حلقه باشه . معمولا زمانیکه از قبل تعداد دفعات تکرار مشخص و معلومه از for استفاده میشه ( مثل تولید جدول ضرب استاندارد)، ولی زمانیکه تعداد اجرا مشخص نیست از while استفاده میکنن.( مثلا تا زمانیکه کاربر یک کاراکتر مشخص رو وارد نکرده باشه برنامه یه کاری رو انجام بده. در اینحالت ممکنه کاربر همون بار اول اون کاراکتر رو بزنه یا ممکنه بعد از 100 تا کاراکتر اون کاراکتر رو وارد کنه. در اینحالت تعداد دفعات تکرار از قبل مشخص نیست)
با سلام مجدد
چرا قابل پیاده سازی هست اما در مثال دوم while خواناییش بیشتره (قابل درک تره) و برای for باید یه حلقه بینهایت ساخت و وقتی کاربر n داد break داد و خارج شد.
یادتون باشه یه برنامه نویس کارش برنامه نوشتن نیست بلکه انتخاب بهترین روش,بهینه سازی روش ها , نوشتن کد ها به صورتی که برای دیگران خوانایی و قابل درک باشه و ... جز, وظایف یه برنامه نویسه.
موفق باشی
بایت بایت
چيزي كه شما ميگيد رو ميشه بازهم با For پياده سازي كرد دقيقا مثل همون مثال كلي.
با توجه به صحبت كلي دوستان روي يك موضوع اتفاق نظر دارن:
بر اساس شرایطی که برای تکرار دارید میتوینید انتخاب کنید که از کدوم استفاده کنیننوع پياده سازي الگوريتم شما جهت خوانايي برنامه هستند.مثال شماره دوم شما مربوط به while با for قابل حل نیست؟در مثال دوم while خواناییش بیشتره (قابل درک تره)انتخاب حلقه فقط به خوانا بودن و درك بهتر در بازخواني برنامه بر ميگرده.انتخاب بهترین روش,بهینه سازی روش ها , نوشتن کد ها به صورتی که برای دیگران خوانایی و قابل درک