delphi循环语句
DELPHI用FORDO语句写一个1+2+3+..+100的例子。。用WHILEDO可以吗??...
DELPHI用FOR DO 语句写一个1+2+3+..+100的例子。。
用WHILE DO可以吗?? 展开
用WHILE DO可以吗?? 展开
6个回答
展开全部
DELPHI循环语句
repeat语句:
repeat
语句1;
语句2;
……
语句N;
until 表达式
解释:循环语句一到语句N,直到表达式的值为真是跳出循环
while语句:
while 表达式 do
语句1;
语句2;
……
语句N;
与上面的不同之处是先判断表达式是否为真,为真执行循环,直到表达式为假时调处循环。
For语句:
For 循环变量:=初值to 终值 do
需要说明的7点
1.循环变量是用来控制循环次数的,在程序的开头需要定义变量,起类型一般为整型
2.初值及终值可以是常数或表达式。在执行FOR语句中,初值及终值的表达式都只计算一次.
3.for 语句的执行过程是:开始时,令循环变量等于初值,如果在初值后面的保留字是to
,而且循环变量小于或等于终值,则执行do后面的语句一次,同时,循环变量的值加1直到大于终值.
4.for语句中的do 也可用
downto取代,此时,首先是循环变量的初值与终值比较,如果初值大于或者等于终值,则执行循环一次,同时循环变量减1,直到循环变量小于终值为止.
5.for 语句可以嵌套使用
6.使用for语句时,应注意不要在循环内改变循环变量的值,以免造成不确定性
7.当for语句循环结束后,一般不应直接使用循环变量的值。
repeat语句:
repeat
语句1;
语句2;
……
语句N;
until 表达式
解释:循环语句一到语句N,直到表达式的值为真是跳出循环
while语句:
while 表达式 do
语句1;
语句2;
……
语句N;
与上面的不同之处是先判断表达式是否为真,为真执行循环,直到表达式为假时调处循环。
For语句:
For 循环变量:=初值to 终值 do
需要说明的7点
1.循环变量是用来控制循环次数的,在程序的开头需要定义变量,起类型一般为整型
2.初值及终值可以是常数或表达式。在执行FOR语句中,初值及终值的表达式都只计算一次.
3.for 语句的执行过程是:开始时,令循环变量等于初值,如果在初值后面的保留字是to
,而且循环变量小于或等于终值,则执行do后面的语句一次,同时,循环变量的值加1直到大于终值.
4.for语句中的do 也可用
downto取代,此时,首先是循环变量的初值与终值比较,如果初值大于或者等于终值,则执行循环一次,同时循环变量减1,直到循环变量小于终值为止.
5.for 语句可以嵌套使用
6.使用for语句时,应注意不要在循环内改变循环变量的值,以免造成不确定性
7.当for语句循环结束后,一般不应直接使用循环变量的值。
展开全部
1、for:
function SumOneToNum(start: integer; end: integer): integer;
var
i,sum: integer;
begin
sum := 0;
if start < end then
begin
for i := start to end do
sum := sum + i;
end
else
for i := end downto start do
sum := sum + i;
Result := sum;
end;
调用上面那个函数:1+2+3...+100=SumOneToNum(1,100);当然用上面那个函数你还可以计算任意两个整数之间的所有整数和,比如从50+51+52...+150甚至33+32+31+..+1;
用while do同样可以。
2、while do:
function UseWhileDo(start: integer; end: integer): integer;
var
i,sum: integer;
begin
if start < end then
begin
i := start;
while i <= end do
begin
sum := sum + i;
i := i + 1;
end;
end
else
begin
i := end;
while i >= start do
begin
sum := sum + i;
i := i - 1;
end;
Result := sum;
end;
end;
function SumOneToNum(start: integer; end: integer): integer;
var
i,sum: integer;
begin
sum := 0;
if start < end then
begin
for i := start to end do
sum := sum + i;
end
else
for i := end downto start do
sum := sum + i;
Result := sum;
end;
调用上面那个函数:1+2+3...+100=SumOneToNum(1,100);当然用上面那个函数你还可以计算任意两个整数之间的所有整数和,比如从50+51+52...+150甚至33+32+31+..+1;
用while do同样可以。
2、while do:
function UseWhileDo(start: integer; end: integer): integer;
var
i,sum: integer;
begin
if start < end then
begin
i := start;
while i <= end do
begin
sum := sum + i;
i := i + 1;
end;
end
else
begin
i := end;
while i >= start do
begin
sum := sum + i;
i := i - 1;
end;
Result := sum;
end;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果想更直观一些:
1.FOR语句
procedure TForm1.Button1Click(Sender: TObject);
var
i,sum:integer;
begin
sum:=0;
FOR i:=1 to 100 do
begin
sum:=sum+i;
edit1.Text :=inttostr(sum);
end;
2.while语句
procedure TForm1.Button2Click(Sender: TObject);
var
i,sum:integer;
begin
sum:=0; I:=1;
while i<=100 do
begin
sum:=sum+i;
i:=i+1;
edit2.Text :=inttostr(sum);
end;
1.FOR语句
procedure TForm1.Button1Click(Sender: TObject);
var
i,sum:integer;
begin
sum:=0;
FOR i:=1 to 100 do
begin
sum:=sum+i;
edit1.Text :=inttostr(sum);
end;
2.while语句
procedure TForm1.Button2Click(Sender: TObject);
var
i,sum:integer;
begin
sum:=0; I:=1;
while i<=100 do
begin
sum:=sum+i;
i:=i+1;
edit2.Text :=inttostr(sum);
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以写一个
procedure
procedure
SetLabelCap(Labels:
array
of
TLabel);
var
i
:
integer;
begin
for
i
:=
Low(Labels)
to
High(Labels)
do
Labels[i].Caption
:=
'Test!';
end;
调用:
SetLabelCap([Label1,Label2...]);
procedure
procedure
SetLabelCap(Labels:
array
of
TLabel);
var
i
:
integer;
begin
for
i
:=
Low(Labels)
to
High(Labels)
do
Labels[i].Caption
:=
'Test!';
end;
调用:
SetLabelCap([Label1,Label2...]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以
var
i,total: Integer;
begin
i:= 1;
total:= 0;
while i < 101 do
begin
total:= total + i;
i:= i + 1;
end;
result:= total;
end;
var
i,total: Integer;
begin
i:= 1;
total:= 0;
while i < 101 do
begin
total:= total + i;
i:= i + 1;
end;
result:= total;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询