[转帖]Delphi中的循环_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3389 | 回复: 0   主题: [转帖]Delphi中的循环        下一篇 
wenjie.zhang
注册用户
等级:上尉
经验:628
发帖:54
精华:0
注册:2013-11-11
状态:离线
发送短消息息给wenjie.zhang 加好友    发送短消息息给wenjie.zhang 发消息
发表于: IP:您无权察看 2013-11-14 9:56:30 | [全部帖] [楼主帖] 楼主

ObjectPascal的循环语句有三种:repeat、while和for语句。

repeat语句

repeat语句会重复执行一行或一段语句直到某一状态为真。语句以repeat开始,以until结束,其后跟随被判断的
布尔表达式。参

阅以下的例程:

i:=0;
repeat
i:=i+1;
Writeln(i);
until=10;


当此语句被执行时,
窗体的下方会出现1到10的数字。布尔表达式i=10(注意,与其他语言不同的是,“=”是关系运算符,而

不能进行赋值操作)直到repeat..until程序段的结尾才会被计算,这意味着repeat语句至少会被执行一次。

不同



while语句和repeat语句的不同之处是,它的布尔表达式在循环的开头进行判断。while保留字后面必须跟一个布尔表达式。如果


表达式的结果为真,循环被执行,否则会退出循环,执行while语句后面的程序。

下面的例程达到和上面的repeat例程达到同样的效果:

i:=0;
whilei0then


test2(A);{经前置说明,调用未执行的过程Test2}

writeln(A);
end;


procedureTest2(varA:Integer);{经前置说明的Test2的执行部分}

begin
A:=Adiv2;
ifA>0rhen


test1(A);{在Test2中调用已执行的过程Test1}

end;
procedureTForm1.Button1Click(Sender:TObject);
begin


Alpha:=15;{给Alpha赋初值}

Test1(Alpha);{第一次调用Test1,递归开始}

end;


按钮的OnClick事件处理过程给Alpha赋初值,并实现先减1再除2的循环
递归调用,直到Alpha小于0为止。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论