§ 1.2.2 算法基本语句 —— 条件语句
算法初步. § 1.2.2 算法基本语句 —— 条件语句. 复习巩固. 1 、输入语句、输出语句和赋值语句对应于算法中的哪种结构?这三种语句的一般格式是什么?. 顺序结构. 输入语句. INPUT “ 提示内容 ” ; 变量. 输出语句. PRINT “ 提示内容 ” ; 表达式. 变量=表达式. 赋值语句. 〖 练习 1〗 : 编写一个程序 , 要求输入一个圆的半径 , 便能输出该圆的周长和面积 . ( π 取 3.14 ).
§ 1.2.2 算法基本语句 —— 条件语句
E N D
Presentation Transcript
算法初步 §1.2.2算法基本语句 ——条件语句
复习巩固 1、输入语句、输出语句和赋值语句对应于算法中的哪种结构?这三种语句的一般格式是什么? 顺序结构 输入语句 INPUT“提示内容”;变量 输出语句 PRINT“提示内容”;表达式 变量=表达式 赋值语句
〖练习1〗:编写一个程序,要求输入一个圆的半径,〖练习1〗:编写一个程序,要求输入一个圆的半径, 便能输出该圆的周长和面积.( π取3.14) 分析:设圆的半径为R,则圆的周长C=2πR,面积S=πR2,可以利用顺序结构中的INPUT语句,PRINT语句和赋值语句设计程序. INPUT “R=”;R C=2*3.14*R S=3.14*R^2 PRINT“C=”;C PRINT“S=”; S END
程序: INPUT “a,b(a,b≠0)=”;a ,b X=a+b Y=a-b Z=a b Q=a/b PRINT X,Y,Z,Q END * 〖练习3〗P24页2.
〖作业1〗P24页T4. 程序: INPUT “a,b,c=”;a ,b,c X=10.4*a Y=15.6*b Z=25.2*c sum=X+Y+Z PRINT “sum=”;sum END
是 满足条件? 语句 否 请你翻译: 如果你来,那么我就陪你逛街,否则我回家; 满足条件? 否 IF... THEN ... ELSE... END IF 是 语句1 语句2 如果你来,那么我先陪你逛街再回家, 否则我直接回家 IF... THEN ... END IF
是 满足条件? 语句 否 1、条件结构用怎样的程序语句来描述?这种语句的一般格式是怎样的? IF条件 THEN 语句1 ELSE 语句2 END IF IF条件 THEN 语句 END IF 否 满足条件? 是 语句1 语句2
开始 输入x Y x <0 N 输出 |x|=x 输出 |x|=-x 输出 |x| 如果我身上钱够多,那么我要买大衣,否则我买一双鞋。 结束 试一试,用两种方法写 单支 例1:设计求一个数x的绝对值的算法及程序,并画出相应的流程图 第一步:输入x 第二步:如果x>=0;则lxl=x,否则,lxl=-x; 第三步:输出lxl. 如果你来,那么我先陪你逛街, 否则我回家
如果我身上钱够多,那么我要买大衣,否则我买一双鞋。如果我身上钱够多,那么我要买大衣,否则我买一双鞋。 • 如果你来,那么我先陪你逛街, • 否则我回家。 条件中套条件 双支
程序框图: 开 始 例5 编写程序,输入一元二次方程 输入a,b,c 双支 的系数,输出它的实数根。 Δ=b2-4ac 自然语言描述: p= -b/2a 每一步:输入a,b,c q=SQR(ABS (Δ))/(2a) 第二步:计算判别式△ 否 Δ≥0? 第三步:如果△>0有两不同实根, △=0有两个相同实根, △<0否则没实数根。根据情况输出结果。 是 x1=p+q x2=p-q 是 原方程无实数根 Δ=0? 否 原方程有两个相等 的实数根x1,x2 原方程有两个不等 的实数根x1,x2 结 束
QBASIC程序: INPUT “ a,b,c=:”;a,b,c d = b ^2 –4 * a * c p = – b / (2 * a) q = SQR(d) / (2 * a) IF d >= 0 THEN x1 = p + q x2 = p – q IF d = 0THEN PRINT “x1=x2=”;P ELSE PRINT “x1=x2=”; p + q, p – q END IF ELSE PRINT “No real rool.” END IF END
例6 编写程序,使得任意输入3个整数按大到小的顺序输出。 算法分析: 算法思想:3个数两两比较,确定大小。按a、b、c输入,要按a、b、c输出,关键要找到最大值,将它赋值给a,中值赋给b,最小值赋给c。 第一步 输入3个整数a、b、c 第二步 将a与b比较,并把小者赋给b,大的赋给a; 第三步 将a与c比较,并把小者赋给c,大的赋给a 第四步 将b与c比较,并把小者赋给c,大的赋给b 第五步 按顺序输出a,b,c
对应的流程图: 相应的QBASIC程序: 开始 INPUT “a,b,c=”;a,b,c 输入a,b,c IF b > a THEN t = a a = b b = t END IF b>a? 是 否 t=a,a=b,b=t IF c > a THEN t = a a = c c = t END IF 是 c>a? t=a,a=c,c=t 否 c>b? 是 IF c > b THEN t = b b = c c = t END IF t=b,b=c,c=t 否 输出a,b,c PRINT a,b,c END 结束
否 满足条件? 是 语句1 语句2 是 满足条件? 语句 否 小结 1、条件结构的程序表示 IF条件 THEN 语句1 ELSE 语句2 END IF IF条件 THEN 语句 END IF 2、注意书写的规范性
课本P29练习1:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.并写出程序课本P29练习1:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.并写出程序 开始 输入a,b,c a+b>c,a+c > b, b+c > a是否同 时成立? 否 是 不存在这样 的三角形 存在这样的 三角形 结束