pascal 中止repeat语句

begin
write('次数限制=');readln(e);
write('请输入该随机数字的上限:');readln(k);
randomize;
a:=random(k);
i:=0;
repeat
i:=i+1;
writeln('请输入一个数字(',k,'以内):');
readln(b);
if b>a
then writeln('有点太大哦')
else
if b=a
then writeln('正确!')
else writeln('小了一点哦');
until i=e ;
怎麼在 b=a时就停止了这个repeat的循环?

break当然是一种方法拉。
也可以用goto强行跳转。
不过如果要强行跳转,你在设计程序时就不应该用repeat而用while do,并且修改循环语句内部的顺序。
另外提供break,exit,halt的区别(halt是德语吧?。。)

Pascal的多种退出语句用法

(以下语句都是过程,必须单独作为一句话使用)
break 是用来退出其所在的循环语句
即 : 不论在任何一个循环语句中 执行了 break 的话, 马上退出这个语句。
相当于 : goto 这一层循环语句 最末尾一句的下一句。
例如:var i : integer;
begin
for i := 1 to 10 do
begin
{1} writeln(i);
break;
writeln(i+1);
end;
readln
end.
执行结果 :
1 可见 第一次循环 时 , 执行了{1}句 后 , 执行 break ,然后马上退出了这个for语句。 {*****} 注意 : 以上两个语句 只 对 它们所在的 那层循环语句 起作用,
也就是说 : 如果有多个 循环语句 相嵌套, 其中 某一层 执行了
continue / break 语句, 它们并不能影响上面几层的
循环语句。
exit 是退出当前程序块;
即 : 在任何子程序 中执行 exit , 那么 将退出 这个子程序;
如果是在 主程序中执行 exit , 那么将退出整个程序。
相当于 : goto 这个程序块 的 末尾 的 end 例如 : 试除法判断素数时,一旦整除,就把函数值赋为false ,然后exit;
{******}注意 : 类似上面的 , exit也是只对当前 这一个 子程序产生作用,
如果多重嵌套子程序 , 那么其中某个子程序执行了exit以后,
将返回到 调用它的那个语句 的下一个语句。
halt : 没什么好说的,退出整个程序,Game Over.
例如 : 搜索时, 一旦找到一个解,就打印,然后执行halt,退出整个程序。使用exit , halt 应该注意的地方:
要注意所有可能会退出 子程序或主程序 的地方 均要妥善处理好善后工作,
比如 文件是否关闭 ,输出是否完整等。最后说一句 , 使用这些语句 使得程序结构不止有一个出口,破坏了结构化程序设计的 标准控制结构 , 使程序难以调试 (但是往往便于编写),
应尽量避免使用,因为它们完全可以用其它语句代替,
所以,除非使用这些语句 能给 编写程序 带来 较大的方便,
且可读性不受到影响,才值得一用(其实我用的也不少,呵呵) .......................................
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-20
var
a,e,b,i,k:longint;
begin
write('次数限制=');readln(e);
write('请输入该随机数字的上限:');readln(k);
randomize;
a:=random(k);
i:=0;
repeat
i:=i+1;
writeln('请输入一个数字(',k,'以内):');
readln(b);
if b>a
then writeln('有点太大哦')
else
if b=a
then begin writeln('正确!'); break; end
else writeln('小了一点哦');
until i=e ;
end.
就在输出正确后用break退出循环

pascal 中止repeat语句
break当然是一种方法拉。也可以用goto强行跳转。不过如果要强行跳转,你在设计程序时就不应该用repeat而用while do,并且修改循环语句内部的顺序。另外提供break,exit,halt的区别(halt是德语吧?。。)Pascal的多种退出语句用法 (以下语句都是过程,必须单独作为一句话使用)break 是用来退出其所在的循环...

repeat语句(pascal)
Repeat循环首先执行由Repeat和Until括起来的循环体语句,然后检查Until后面的条件表达式:如果表达式结果为假,则继续执行循环体,接着继续检查Until后面的条件表达式,如此反复执行直到这个表达式结果为真时结束循环。Repeat循环体语句必须有能改变Until后面条件表达式值的语句,并最终使这个条件表达式的值为真,使...

repeat语句(pascal)
repeat 语句用于“重复执行循环体,一直到指定的条件为真时为止”。语法格式为:repeat 语句1;……语句n;until 布尔表达式;repeat重复基本上有和while重复一样的描述循环计算的能力,但有一些不同:在repeat语句的结构中,布尔表达式求值在计算操作之后,而while语句中,布尔表达式求值在计算操作之前,也就...

pascal repeat的用法
repeat ...until 布尔表达式=true;即repeat语句当until后的布尔表达式为真时终结循环。实例:begin ...i:=1;s:=0;repeat inc(s,i);inc(i);until i>100;writeln(s);...end.{计算1+2+3+4+...+99+100=?} 附:inc(s);相当于s:=s+1;inc(s,i);相当于s:=s+i;...

pascal repeat的用法
Repeat循环首先执行由Repeat和Until括起来的循环体语句,然后检查Until后面的条件表达式:如果表达式结果为假,则继续执行循环体,接着继续检查Until后面的条件表达式,如此反复执行直到这个表达式结果为真时结束循环。Repeat循环体语句必须有能改变Until后面条件表达式值的语句,并最终使这个条件表达式的值为真,使...

pascal程序 repeat语句:求出能被5整除的所有四位数的和.
var i,s:longint;begin i:=999;repeat i:=i+1;if i mod 5=0 then s:=s+i;until i=9999;writeln(s);end.

怎么用 Pascal 的 repeat 语句读一组实数,遇零终止,打印其中正、负数的...
end; if n<0 then begin y:=y+1; sum2:=sum2+n; end; until n=0; writeln(x,sum1:0:2); writeln(y,xum2:0:2); end.楼上的只限于整数,不包括实数,而且变量开得太大,占空间。

pascal repeat语句
var n,i,j,k,a,b:integer;begin write('n='); readln(n);a:=0; b:=0; i:=1;repeat k:=i; j:=0;repeat if odd(k) then inc(j) else dec(j);k:=k div 2;until k=0;if j>0 then inc(a) else inc(b);inc(i);until i=n;writeln('A:',a,' B:',b)end.

pascal中,向下面的语句如何用repeat循环?
x1:=-10;repeat;t:=x1;x1:=x1-f(x1)\/f1(x1);until abs(x1-t)<=0.000000001;\/\/直到所求得的x1与t的差小于一个很小的数,即认为这两个实数相等;就认为求得了方程的解;然后结束循环,输出求得的解x1

pascal程序 repeat语句:打印出1至20的平方数表
var n: integer;begin n:=1;repeat writeln(n, '^2=', n*n);inc(n);until n>20;readln();end.

相似回答