delphi循环语句

DELPHI用FORDO语句写一个1+2+3+..+100的例子。。用WHILEDO可以吗??... DELPHI用FOR DO 语句写一个1+2+3+..+100的例子。。
用WHILE DO可以吗??
展开
 我来答
许诗文00
推荐于2017-09-13 · TA获得超过4290个赞
知道小有建树答主
回答量:425
采纳率:100%
帮助的人:26.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语句循环结束后,一般不应直接使用循环变量的值。
xlxchy
2008-07-15 · TA获得超过844个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:0
展开全部
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;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yzhsgh
推荐于2017-09-27 · TA获得超过2.7万个赞
知道大有可为答主
回答量:1789
采纳率:33%
帮助的人:2194万
展开全部
如果想更直观一些:
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;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
余刚素安寒
2019-06-04 · TA获得超过3736个赞
知道大有可为答主
回答量:3107
采纳率:26%
帮助的人:184万
展开全部
可以写一个
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...]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天地惶惶
2008-07-16 · TA获得超过3223个赞
知道大有可为答主
回答量:1215
采纳率:0%
帮助的人:810万
展开全部
可以
var
i,total: Integer;
begin
i:= 1;
total:= 0;
while i < 101 do
begin
total:= total + i;
i:= i + 1;
end;
result:= total;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式