PDA

View Full Version : حلقه مخصوص



Mask
پنج شنبه 30 اردیبهشت 1389, 11:58 صبح
با سلام
میخاستم یه حلقه بنویسم که از عدد منفی 10 شرو بشه و 0.001 به 0.001 اضافه بشه به اندازه 10.
چطوری میشه همچین حلقه ای نوشت.

Mahmood_M
پنج شنبه 30 اردیبهشت 1389, 12:28 عصر
چون حلقه هر بار یک واحد به متغیر اضافه میکنه ، باید بازه رو بزرگتر بگیرید و موقع استفاده از متغیر ( شمارشگر ) ، اون رو ضرب و تقسیم کنید ، مثلا حلقه ی شما از منفی 10 شروع میشه و 0.01 هر بار اضافه میشه تا به 10 برسه ، یعنی باید 2000 بار اجرا بشه ، پس مثلا حلقه رو از منفی 1000 شروع می کنید و تا 1000 ادامه می دید ولی برای استفاده از شمارنده یا اون متغیری که برای حلقه در نظر گرفته شده ، هر بار مقدارش رو تقسیم بر 100 می کنید ، مثال زیر به درک بهتر کمک می کنه :
var
I : Integer;
begin
for I := -1000 to 1000 do
Memo1.Lines.Add(FloatToStr((I / 100)));
end;
حلقه ی بالا مقادیر منفی 10 تا 10 رو با فاصله ی 0.01 در یک Memo نمایش میده ...
موفق باشید ...

mrbm_2007
دوشنبه 03 خرداد 1389, 01:58 صبح
i:=-10;
while(i<=10)
begin
...
i:=i+0.01;
end;

!!!!!!!

C++
for(double i=-10;i<=10;i+=0.01){
...
}

Mahmood_M
دوشنبه 03 خرداد 1389, 03:19 صبح
جالبه ! ، نمی دونم چرا وقتی داشتم به این سئوال جواب می دادم ، حلقه ای به غیر از حلقه ی For تو ذهنم نبود !
فکر می کنم استفاده از While ( که جناب mrbm_2007 ! گذاشتن ) منطقی تر باشه ...

مهران رسا
دوشنبه 03 خرداد 1389, 07:56 صبح
در حلقه For شمارنده نمیتونه تغییر کنه ؟

Felony
دوشنبه 03 خرداد 1389, 08:00 صبح
در حلقه For شمارنده نمیتونه تغییر کنه ؟

در داخل حلقه ، خیر نمیتونه تغییر کنه و فقط خود حلقه میتونه شمارنده رو افزایش یا کاهش بده .