ait windows "方程有两个相等的实数根:" 方程有两个相等的实数根: 方程有两个相等的实数根 otherwise wait windows "方程有两个复数根:" 方程有两个复数根: 方程有两个复数根 endcase
?b+ b ?4ac x= 2a
三、循环结构—For…Endfor 循环结构—
语法格式
FOR <循环变量 循环变量>=<初值 TO <终值 [STEP <步长 初值> 终值> 步长>] 循环变量 初值 终值 步长 < 循环体 循环体> ENDFOR | NEXT
执行步骤
① 将初值赋给循环变量; 将初值赋给循环变量; 判断循环条件; ② 判断循环条件; 若不满足,结束循环, ③ 若不满足,结束循环, 执行NEXT后命令; 后命令; 执行 后命令 若满足,执行循环体; ④ 若满足,执行循环体; 循环变量自动增加步长; ⑤ 循环变量自动增加步长; 重复② ⑤步骤。 ⑥ 转②,重复②~⑤步骤。
FOR 循环变量=<初值 循环变量 初值> 初值
循环条件是否成立
.F.
.T.
循环体 ENDFOR
循环变量=循环变量+<步长> 循环变量=循环变量+<步长> +<步长
FOR 循环变量=<初值 循环变量 初值> 初值
说明 循环成立条件 .F.
ENDFOR 步长为正 循环变量<=终值 步长为正时:循环变量 终值 步长为负 循环变量>=终值 步长为负时:循环变量 终值
循环条件是否成立
.T.
循环体
步长缺省为:1 步长缺省为: 系统自动 自动增加步长 系统自动增加步长
循环变量 +步长
循环变量=循环变量+<
步长>
***以下循环计算 到100的和 以下循环计算1到 的和*** 以下循环计算 的和 s=0 for i = 1 to 100 step 1 s=s+i endfor ?s *** 以下循环计算 的阶乘 以下循环计算5的阶乘 的阶乘*** p=1 for i =1 to 5 思考: 思考:利用循环结构求
p=p*i
endfor ?p
1!+2!+3!+...+20! + + +
例:打印如下所示的图形
* *** ***** ******* *********
A BBB CCCCC DDDDDDD EEEEEEEEE
For i=1 to 5 ?space(5-i) For j=1 to 2*i-1 ?? ‘*’ Endfor(next j) Endfor (next i)
例:统计教师表中的男、女教师人数 统计教师表中的男、 use js store 0 to m, w for i=1 to reccount( ) if xb=“男” 男 m=m+1 else w=w+1 endif skip endfor ? m, w use
统计所有的“水仙花数” 统计所有的“水仙花数” 的个数
水仙花数“ 【”水仙花数“是指一个三位数,其各位数字立方 水仙花数 是指一个三位数, 和 等于该数本身,例如: 等于该数本身,例如:153=13+53+33】 ncount = 0 for n = 100 to 999 n1=val(subs(str(n,3),3,1)) n2=val(subs(str(n,3),2,1)) n3=val(subs(str(n,3),1,1)) IF n = n1^3 + n2^3 + n3^3 ncount = ncount + 1 ENDIF endfor wait windows '水仙花数”的个数为 +str(ncount) 水仙花数”的个数为'
将字符串中各单词的首字母组成其缩写形式(大写字母 将字符串中各单词的首字母组成其缩写形式 大写字母) 大写字母
【基本算法:字符串左边加一空格,依次检查每一字符, 基本算法:字符串左边加一空格,依次检查每一字符, 若为字母且左边为空格,则该字符为首字母】 若为字母且左边为空格,则该字符为首字母】
cstring = ‘central processing unit’ &;&;初始字符串 初始字符串 cstring = space(1)+upper(cstring) &;&;全部大写 全部大写 cresult = space(0) for n = 2 to len(cstring) &;&;依次判断每个字符 依次判断每个字符 c = substr(cstring,n,1)
if between(c,‘A',‘Z') .and. substr(cstring,n-1,1) = space(1)
cresult = cresult + c
endif
endfor wait windows '缩写形式为'+cresult
三、循环结构—DO WHILE…ENDDO 循环结构—
语法格式
DO WHILE <条件 条件> 条件 <语句组 语句组> 语句组 ENDDO DO WHILE
条件求值
.T. 语句组
.F. ENDDO
说明
循环体中一般需存在能改变循环条件的语句, 循环体中一般需存在能改变循环条件的语句, 用于正常退出循环
计算5的阶乘 计算 的阶乘 i=1 p=1 do while i<=5 p=p*i i=i+1 enddo ?p
FOR 循环实现 循环实现: p=1 for i =1 to 5 p=p*i endfor ?p
示 例
统计教师表中的男、 统计教师表中的男、女教师人数
方法1: 方法 :
use js store 0 to m, w for