1.2.2条件语句
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相应的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
x ≥ 0?
是 输出x 输出x 结束
否 输出输出-x
例题解析】 【例题解析】
编写程序,输入一元二次方程ax +bx+c=0的系 〖例6〗:编写程序,输入一元二次方程ax2+bx+c=0的系 输出它的实数根。 数,输出它的实数根。
算法分析: 一元二次方程的根有三种不同情况: 算法分析: 一元二次方程的根有三种不同情况: 设判别式△ 设判别式△=b2-4ac (1)当 >0时 一元二次方程有两个不等的实数根. (1)当△>0时,一元二次方程有两个不等的实数根. b b −b − ∆ ∆ −b + ∆ ∆ − x11 = − + , ,xx2== − x = 2 2a a 2a 2a 2a 2 (2)当 =0时 一元二次方程有两个相等的实数根. (2)当△=0时,一元二次方程有两个相等的实数根. b b p =− x1 = x2 = − 2a 2a ∆ (3)当 <0时 一元二次方程没有实数根. (3)当△<0时,一元二次方程没有实数根.
课堂小结
1.条件语句的两种结构 条件语句的两种结构 if---then结构 ---then (1)if---then结构 If 条件 End if Else 注意:IF 和END IF 成对出现! 成对出现! 注意: 语句体2 语句体2 End if then 语句体 then—else (2)if –then else结构 then else结构 If 条件 then 语句体1 语句体1
开始 输入a,b,c 输入 b>a? > 否 c>a? > 否 c>b? > 否 输入a 输入 ,b,c 结束 是 是 是
对应的流程图
t=a,a=b,b=t
t=a,a=c,c=t
t=b,b=c,c=t
编程的一般步骤: 2、编程的一般步骤: (1)算法分析 根据提供的问题, 根据提供的问题,利用数学及相关学科 的知识,设计出解决问题的算法( 的知识 , 设计出解决问题的算法 ( 熟悉之 后可在大脑中进行); 后可在大脑中进行) (2)画出程序框图 依据算法分析,画出程ห้องสมุดไป่ตู้框图( 依据算法分析,画出程序框图(可 在草稿纸上进行); 在草稿纸上进行);
满足条件? 满足条件?
是 否
满足条件? 满足条件?
是
否
步骤A 步骤A
步骤B 步骤B
步骤A 步骤A
条件语句: 条件语句: 算法中的条件结构是由条件语句来表达的, 算法中的条件结构是由条件语句来表达的,是处 理条件分支逻辑结构的算法语句。 理条件分支逻辑结构的算法语句。 条件语句的一般格式有两种: 1、条件语句的一般格式有两种: (1) IF THEN语句 : IF—THEN语句 THEN IF 条件 THEN 语句体 END IF
(3)赋值语句的一般格式是 变量= (3)赋值语句的一般格式是 变量=表达式 , 。 其作用是 将表达式所代表的值赋给变量
复习: 复习: 条件结构---在一个算法中, 条件结构---在一个算法中,经常会遇
到一些条件的判断, 到一些条件的判断,算法的流向根据条件是否成 立有不同的流向. 立有不同的流向.条件结构就是处理这种过程的 结构. 结构.
课堂练习】 【课堂练习】 2.课本P29页T2.读程序 说明程序的运行过程. 课本P29 读程序, 2.课本P29页T2.读程序,说明程序的运行过程. x=:”;x INPUT “x=: ;x x=: IF 9<x AND x<100 THEN a=x\ a=x\10 b=x MOD 10 x=10* x=10*b+a PRINT x END IF END
结束
编写程序,使得任意输入3 例3: 编写程序,使得任意输入3个整数按大到小的 顺序输出. 顺序输出. 算法分析: 算法分析: 算法思想: 个数两两比较,确定大小。 算法思想:3个数两两比较,确定大小。按a、 输入,要按a 输出,关键要找到最大值, b、c输入,要按a、b、c输出,关键要找到最大值, 将它赋值给a 中值赋给b 最小值赋给c 将它赋值给a,中值赋给b,最小值赋给c。 第一步 第二步 第三步 第四步 第五步 输入3个整数a 输入3个整数a、b、c 比较,并把小者赋给b 大的赋给a 将a与b比较,并把小者赋给b,大的赋给a; 将a与c比较,并把小者赋给c,大的赋给a 比较,并把小者赋给c 大的赋给a 比较,并把小者赋给c 大的赋给b 将b与c比较,并把小者赋给c,大的赋给b 按顺序输出a 按顺序输出a,b,c
4.编写一个程序,输入两个整数a,b,判断a 4.编写一个程序,输入两个整数a,b,判断a是否 编写一个程序 a,b,判断 能被b整除. 能被b整除. 参考答案: 参考答案: a,b=”; INPUT “a,b= ; a,b a,b= IF a MOD b =0 THEN a.” PRINT “b divides a. b ELSE PRINT “b does not divide a.” b a. END IF END
a,b,c 30 20
一、引入新课
1(1)输入语句的一般格式是 INPUT“ 提 示 内 容 ” ; 变 (1)输入语句的一般格式是 (1) ,
量 其作用是实现算法的 输入信息功能 ;
(2)输出语句的一般格式是 PRINT“ 提 示 内 容 ” ; 表 达 (2)输出语句的一般格式是 ,
式 其作用是实现算法的 输出结果功能 ;
条件语句的嵌套. 条件语句的嵌套.
IF—THEN ELSE语句 THEN—ELSE语句: (2) IF THEN ELSE语句 IF 条件 THEN
满足条件? 满足条件?
是 否
语句体1 语句体1 ELSE 语句体2 语句体2 END IF
步骤A 步骤A
步骤B 步骤B
当计算机执行上述语句时, 首先对IF 后的 当计算机执行上述语句时 , 首先对 IF后的 IF 条件进行判断, 如果条件符合, 就执行THEN THEN后的语 条件进行判断 , 如果条件符合 , 就执行 THEN 后的语 句体1 否则执行ELSE后的语句体2 ELSE后的语句体 句体1,否则执行ELSE后的语句体2。
q= 2a
开始 输入a,b,c 输入 △=b2-4ac
△≥0?
【程序框图】 程序框图】
是 否
输出p 输出
1
△=0?
2
否 x1=p+q x2=p-q
输出x 输出 1,x2 原方程无实根
是
b p =− 2a
q= ∆ 2 a
结束
1
2
开始 输入a,b,c 输入
【程序】 程序】
INPUT “ a,b,c =”;a,b,c , , , , d=b*b-4*a*c △=b2-4ac d>=0 IF d>=0 THEN 否 p=-b/(2*a) △≥0? q=SQR(d)/(2*a) 是 IF d=0 THEN b p =− 2 a PRINT “One real root:”;p ; 原方程无实根 ELSE ∆ q= 2 a x1=p+q x2=p-q 否 △=0? PRINT “Two real roots:”;x1,x2 是 x1=p+q END IF 输出p 输出 ELSE x2=p-q PRINT “No real root!” ! 输出x 输出 1,x2 END IF END
如果有两个或是两个以上的 并列条件时, AND”把它 并列条件时,用“AND 把它 们连接起来。 们连接起来。 “\”用来取商.此处表示 \ 用来取商 用来取商. 除以10的商. 10的商 x除以10的商. “MOD 用来取余数.此处表示 MOD”用来取余数 MOD 用来取余数. 除以10所得余数为b. 10所得余数为 x除以10所得余数为b.
1.2.2条件语句 1.2.2条件语句
练习 1、判断下列赋值语句是否正确 4= (1) 4=m × (2) x+y=10 × (3) A=B=2 ×(4) N=2*N √ 2、写出下列语句描述的算法的输出结果 (3)a=10 (3)a=10 (1)a=5 (1)a=5 (2)a=1 (2)a=1 b=20 b=3 b=2 c=30 c=(a+b)/2 c=a+b a=b b=a+cd=c*c b=a+c-b b=c d=”; PRINT “d= ;d d= PRINT a,b,c c=a 1 2 3 PRINT d= 16 20
[问题]如输入的数x=86,则输出 问题]如输入的数x=86,则输出 x=86, 的结果是什么? 的结果是什么? 68 此程序用于交换一个两位数的 个位和十位数字. 个位和十位数字.
3.课本P29页T3.编写求一个数是偶数还是奇数的 3.课本P29页T3.编写求一个数是偶数还是奇数的 课本P29 程序,从键盘输入一个整数,输出该数的奇偶性. 程序,从键盘输入一个整数,输出该数的奇偶性. 参考答案: 参考答案: a=”; INPUT “a= ; a a= IF a MOD 2 =0 THEN PRINT “偶数.” 偶数. 偶数 ELSE 奇数. PRINT “奇数.” 奇数 END IF END
(3)写出程序 根据程序框图中的算法步骤, 根据程序框图中的算法步骤,逐步把算 法用相应的程序语句表达出来。 法用相应的程序语句表达出来。
1.课本P29页 1.课本P29页T1. 课本P29 参考答案: 参考答案: c=”; INPUT “a,b,c= ; a,b,c a IF a+b>c AND a+c>b AND b+c>a THEN Yes.” PRINT “Yes. Yes. ELSE No.” PRINT “No. No. END IF END
例5
编写一个程序,求实数x的绝对值。 编写一个程序,求实数x的绝对值。 2.程序框图: 2.程序框图: 程序框图 开始 输入x 输入x
1.算法分析 算法分析: 1.算法分析:设x是任 意实数, 意实数,则x的绝对值 x, x ≥ 0 为
| x |= − x, x < 0
所以我们需要对x 所以我们需要对x的符 号进行判断, 号进行判断,根据判断 的结果决定|x|的取值。 |x|的取值 的结果决定|x|的取值。 3.程序 3.程序 INPUT x IF x>=0 THEN PRINT x ELSE PRINT -x END IF END
满足条件? 满足条件?
是 否
步骤A 步骤A
计算机执行这种形式的条件语句时, 计算机执行这种形式的条件语句时,也是首先对 IF后的条件进行判断 如果条件符合,就执行THEN 后的条件进行判断, THEN后 IF后的条件进行判断,如果条件符合,就执行THEN后 的语句体,否则执行END 之后的语句。 的语句体,否则执行END IF 之后的语句。