من در فهم این تابع مشکل دارم بی زحمت نحوه ارائه خروجی این تابع رام یه توضیح بدین
var
i:integer;
begin
for I:=1 to 100 do
begin
writeln('I=',I);
read(i);
end;
readln;
end.
{
I=1
3
I=4
6
I=7
9
I=10
}
ورودی ها با رنگ قرمز مشخص شده اند.
من در فهم این تابع مشکل دارم بی زحمت نحوه ارائه خروجی این تابع رام یه توضیح بدین
var
i:integer;
begin
for I:=1 to 100 do
begin
writeln('I=',I);
read(i);
end;
readln;
end.
{
I=1
3
I=4
6
I=7
9
I=10
}
ورودی ها با رنگ قرمز مشخص شده اند.
var
i:integer;
begin
1 for I:=1 to 100 do
2 begin
3 writeln('I=',I);
4 read(i);
5 end;
end.
در خط 1 مقدار متغییر برابر 1 می شود.
در خط 3 مقدار 1 چاپ می شود.
در خط 4 مقدار جدید را شما وارد می کنید.
و حالا که خط 1 دوباره اجرا می شود به مقداری که شما وارد کرده اید یک واحد اضافه شده.
در خط 3 مقدار (ورودی شما + 1) چاپ می شود.
و تا آخر
زمانی هم که مقدار وردی شما 100 یا بالاتر باشد حلقه تمام می شود.
موفق باشید
شما بهتره که به زبان پاسکال مراجعه و مطالعه کنیسوال من این است که ورودی که من وارد می کنم چه ارتباطی با متغیر حلقه دارد
موفق وموید باشی
خط چهارم اجازه کامپال پروژه رو توی دلفی نداد !!!
ولی فکر نمی کنم اصلا مهم باشه نتیجه چاپ عدد 1 تا 100 در خروجی کنسول است همین.
یا حق ...
ما در محیط ویندوز دستور Read را با کارایی که در داس داشت نداریم.
و در پاسکال ما می توانیم تغییر حلقه را با دستورات عوض کنیم در صورتی که مثلا در C خطا می دهد.
متغییری که در مقابل دستور For و جلوی Read استفاده شده است یکی است.(در پاسکال فرقی بین حروف کوچک . بزرگ نیست.)
حالا زمانی که در دستور Read مقدار از صفحه کلید خوانده می شود در For یک واحد به آن اضافه می شود.
در محیط پاسکال مقدار متغییر حلقه را می توان عوض کرد.
موفق باشید
با تشکر از راهنماییتون SYNDROME