180 likes | 298 Views
分支结构程序设计. 全局在胸. 说明: 1 、 IF-THEN 必须写在同 一行上。 2 、 ELSE 部分是可选项, 可以无此部分。 3 、当 IF-THEN-ELSE 写在 同一行上时,可以省 略 ENDIF. 块 IF 语句 IF 条件 THEN 语句组 1 ELSE 语句组 2 ENDIF. 行 IF 语句 (也就是说明 3) IF 条件 THEN 语句组 1 [ELSE 语句组 2].
E N D
分支结构程序设计 全局在胸
说明: 1、IF-THEN必须写在同 一行上。 2、ELSE部分是可选项, 可以无此部分。 3、当IF-THEN-ELSE写在 同一行上时,可以省 略ENDIF 块IF 语句 IF 条件 THEN 语句组1 ELSE 语句组2 ENDIF 行IF 语句(也就是说明3) IF 条件 THEN 语句组1 [ELSE 语句组2]
某商店为促销商品,按购买货物的款数多少给以不同的优惠折扣如下: 购货不足100元,不优惠。 购货满100元(含100元)不足500元,九五折优惠(减价5%)。 购货满500元(含500元)不足1000元,九折优惠(减价10%)。 购货1000元(含1000元)以上, 八折优惠(减价20%)。顾客购买原价为X元的货物,现应付款多少元
0 x<100 5% x>=100 and x<500 P = 10% x>=500 and x<1000 20% x>=1000 设折扣为P,那么顾客购买原价为X元 的货物,现应付款A=X*(1-P)元
开始 T x>=500andx<1000 A A P=0.1 T F x<100 T x>=1000 P=0 F P=0.2 F T x>=100andx<500 A=X*(1-P) P=0.05 输出A F 结束 输入x
例6:编程模拟符号函数SGN(X)的功能: X>0 X=0 X<0
开始 程序: INPUT “X=”;X IF X=0 THEN LET Y=0 ELSE IF X<0 THEN LET Y=-1 ELSE LET Y=1 END IF END IF PRINT “Y=”;Y END 输 入自变量X Y N X = 0 分支嵌套 Y N Y=0 X<0 Y=1 Y= -1 输 出 Y 结 束
已知:求一元二次方程ax2+bx+c=0(a‡0)根. 应考虑d=b^2-4*a*c大于0,小于0和 等于0的三种情况
开始 分支嵌套 Y N x1=x2 d<0 求X1、X2 输出无实根 输出X1,X2 输出X1,X2 输 入a,b,c Y N d = 0 结 束
求1+3+5+……+99的和 算法分析: 1、设P为加数,P的特点: 后一个加数等于前一加数加二
P的初值设为-1。即: P= -1 第1个加数1:P=P+2 第2个加数3:P=P+2 第3个加数5:P=P+2 第4个加数7:P=P+2 上述程序称为累加器 加数为1时称计数器
S的初值设为0。即: S=0 S的初值与第一个加数之和1:S=S+ P 前两个加数之和4:S=S+ P 前三个加数之和9:S=S+P 前四个加数之和16S=S+P
开始 10 LET P= -1 20 LET S=0 30 LET P=P+2 40 LET S=S+P 50 PRINT “P=”;P, 55 PRINT “S=”;S 60 GOTO 30 格式:GOTO 行号 P= -1:S=0 P=P+2 S=S+P 输出S GOTO
10 LET P= -1: LET S=0 22 IF P<99 THEN 30 LET P=P+2 40 LET S=S+P 50 PRINT “P=”;P, 60 “S=”;S 65 GOTO 22 70 ELSE 75 GOTO 90 80 ENDIF 90 END 开始 P= -1:S=0 F P<99 ? T P=P+2:S=S+P 输出S 结束
作业: 一、第66页 第3题 二、求出下列程式中,前200个数之和 y=1+3+5+7+……+ 三、求小于1000的大于0的9的倍数之和。 四、输入三个数,输出绝对值最大的数 要求:二、三、四题写算法分析、画流程图、编程序
已知已知三条线段a、b、c,判断a、b、c能否构成三角形已知已知三条线段a、b、c,判断a、b、c能否构成三角形 算法分析: 1、判断a,b,c能否构成三角形,若能, 利用海伦公式求面积S。否则输出 “a,b,c不能构成三角形 ”。
开始 输入a,b,c IF T a+b>c and a+c>b and b+c>a ? F THEN ELSE 求S 输出构不 成三角形 输出S ENDIF 结束
10 INPUT “a,b,c=”;a,b,c 20 IF a+b>c and a+c>b and b+c>a THEN 32 p=(a+b+c)/2 34 s=sqr(p*(p-a)*(p-b)*(p-c)) 40 print “s=”;s 50 ELSE 60 print “It’s not a triangle” 70 ENDIF 80 end (注意行号的使用)