显示‖…优‖
p=’优’ case s>=80
p=’良’ case s>=60
p=’及格’
otherwise &&以上条件都不满足时
p=’不及格’ && 显示‖…不及格‖
endcase
?‖成绩为:‖ , p &&P有唯一值
retu <练习编程> 1 当x>0 输入x的值,求y的值,公式是y= 0 当x=0
-1 当x<0
_________
input ―x= ― to x
do case
case x>0 y = 1
case x = 0 y = 0
case x<0 && 或写 other
y = -1
_________
endcase
? y
三. 循环结构 (p98 )
循环:当条件(逻辑值)为真时, 重复执行一段程序。
(一). do 循环结构
格式:
do while <循环条件> (循环条件必须是逻辑值)
[语句序列] [修正循环变量]
enddo 流程图:
例1:连续5次输入成绩,判断是否通过。 clea
i = 1 &&在循环前,给循环控制变量i赋初值
do while i<=5 &&判断条件,是循环的入|出口
input ―输入分数:‖ to x if x >= 60 ? ‖通过 ―
else ? ―没通过― endif
i=i+1 &&修改i,以趋近终值(步长为 +1)
enddo &&循环的折返点,不是终点
(计数器 i的
终值是:6)
例2:求100以内自然数之和 分析: 1+2+3+…+i…+100, i为通项, s
为前n项的和 i=1 && 初始化计数器i s=0 &&初始化‖累加器‖ s
do while n<=100 s=s+n &&求和
n=n+1 &&步长为正 1 enddo
?‖1+2+3+…+100= ― , s
执行程序 ,显示: 1+2+3+…+100= 5050
(i的终值为101)
《编程练习》 输入10个数,计算其中奇数的和
( p154例4-79)
s=0
b=1 do while b< = 10
input ―x=‖ to x if x / 2 <> int( x / 2 ) s =s+ x endif
b=b+1 enddo
?‖奇数和: ― , s &&显示 奇数和:25
判断一个数是奇数的方法
还有:
if i%2<>0 或 if mod(i,2)#0 例3:程序填空 《辅导教材p.301-1》 求5的阶乘 (5! 即计算5*4*3*2*1 ) i=1 k=1
do while i<= 5
k = k *i &&求k的阶乘
i= i + 1 enddo