100 likes | 211 Views
算法初步. § 1.2.2 条件语句. 岳阳县第一中学高一数学组. 复习巩固. 1 、输入语句、输出语句和赋值语句对应于算法中的哪种结构?这三种语句的一般格式是什么?. 顺序结构. 输入语句. INPUT “ 提示内容 ” ; 变量. 输出语句. PRINT “ 提示内容 ” ; 表达式. 赋值语句. 变量=表达式. 新课讲解. 阅读 P16 ,思考以下问题. 1 、条件结构用怎样的程序语句来描述?这种语句的一般格式是怎样的?. IF 条件 THEN 语句 1 ELSE 语句 2 END IF. IF 条件 THEN 语句 END IF.
E N D
算法初步 §1.2.2 条件语句 岳阳县第一中学高一数学组
复习巩固 1、输入语句、输出语句和赋值语句对应于算法中的哪种结构?这三种语句的一般格式是什么? 顺序结构 输入语句 INPUT“提示内容”;变量 输出语句 PRINT“提示内容”;表达式 赋值语句 变量=表达式
新课讲解 阅读P16,思考以下问题 1、条件结构用怎样的程序语句来描述?这种语句的一般格式是怎样的? IF条件 THEN 语句1 ELSE 语句2 END IF IF条件 THEN 语句 END IF 否 满足条件? 否 满足条件? 是 语句 语句1 语句2 是
程序框图: 开 始 例1 编写程序,输入一元二次方程 输入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 是 原方程无实数根 x1=x2? 否 原方程有两个相等 的实数根x1,x2 原方程有两个不等 的实数根x1,x2 结 束
QBASIC程序: INPUT “Please input a,b,c=:”;a,b,c d = b * b –4 * a * c p = – b / (2 * a) q = SQR(ABS(d)) / (2 * a) IF d >= 0 THEN x1 = p + q x2 = p – q IF x1 = x2 THEN PRINT “One real root:”;x1 ELSE PRINT “Two real roots:xl”;x1,”and x2”; x2 END IF ELSE PRINT “No real rool.” END IF END
例2 编写程序,使得任意输入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 IF b > a THEN t = a a = b b = t END IF IF c > a THEN t = a a = c c = t END IF IF c > b THEN t = b b = c c = t END IF PRINT a,b,c END 输入a,b,c b>a? 是 否 t=a,a=b,b=t 是 c>a? t=a,a=c,c=t 否 c>b? 是 t=b,b=c,c=t 否 输入a,b,c 结束
否 满足条件? 满足条件? 是 语句 语句1 语句2 小结 1、条件结构的程序表示 IF条件 THEN 语句1 ELSE 语句2 END IF IF条件 THEN 语句 END IF 2、注意书写的规范性
{ 0.25×m y= 0.25×50+0.25×(m-50) 0.25×50+0.35×50+0.45×(m-100) 练习 铁路运输托运行李,从甲地到乙地,规定每张客票托运费计算方法是:行李质量不超过50kg时,按0.25/kg元计算;超过50kg而不超过100kg时,其超过部分按0.3元/kg计算,超过100kg时,其超过部分按0.45元/kg计算,编写程序,输入行李质量,计算并输出托运的费用,并画出程序框图。 解: 设行李质量为m kg,应付运费这y元,则运费公式为
程序: 程序框图: 开始 INPUT “m=”;m 输入m IF m<=50 THEN y=m﹡0.25 m≤50? 否 ELSE IF m<=100 THEN 否 m≤100? y=0.25﹡50+0.35﹡ (m-50) 是 是 ELSE y=0.25×50+0.35× 50+0.45×(m-100) y=0.25×50+ 0.35×(m-50) y=m×0.25 y=0.25﹡50+0.35﹡50+ 0.45﹡ (m-100) END IF 输入m END IF 结束 PRINT “y=”;y END