北师大版数学必修3第二章第三节《条件语句及循环语句 》课件(共50张PPT)

文档属性

名称 北师大版数学必修3第二章第三节《条件语句及循环语句 》课件(共50张PPT)
格式 zip
文件大小 708.6KB
资源类型 教案
版本资源 北师大版
科目 数学
更新时间 2020-03-28 12:15:29

图片预览

文档简介

(共50张PPT)
3.几种基本语句
条件语句及循环语句


3.1 条件语句
学习目标
1、正确理解条件语句的概念;

2、会应用条件语句编写程序.
1.赋值语句的一般格式是什么?
赋值语句: 变量=表达式
如:n=1, i=i+1
2.顺序结构和选择结构的表达格式分别是什么?





A
B


条件




步骤甲
步骤乙





复习引课
什么是简单条件语句?
思考1:下图是算法的选择结构用程序框图表示的一种形式,它对应的语句的一般格式是什么?
If 条件 Then
语句1
Else
语句2
End If
怎么理解这个算法语句含义?


条件
语句1
语句2












内容探究与讲解


条件
语句1
语句2











If 条件 Then
语句1
Else
语句2
End If
当计算机执行上述语句时,首先对If后的条件进行判断,如果条件为真,那么执行语句1,否则执行语句2.我们称之为:If-Then-Else-End If语句,把这个语句称为简单If语句或者简单条件语句
如:求实数x的绝对值的一个算法
一个算法如下:

(1)输入一个实数x
(2)对实数x进行判断:
如果x ≥0,那么y=x;
否则,y=-x
(3)输出y
If x ≥0
Then
Else
y=x
y=-x
End If






开 始
x ≥0








输入 x

结束



输出 y

y=x
y=-x
输入 x
输出 y
算法框图如下:
条件语句如下红字部分:
第一步,输入一个实数x.
第二步,判断x的符号.若x≥0,则输出x;否则,输出-x.
该算法的程序框图如何表示?
求实数x的绝对值另一个算法:

x≥0

开始


结束


输入x




输出x





输出-x

思考2:这个算法对应的程序怎么写?

x≥0

开始


结束


输入x




输出x





输出-x

END
INPUT “x=”;x
IF x>=0 THEN
PRINT x
ELSE
PRINT -x
END IF

这个算法框图及程序对应哪个函数?
开始
输出b
bb=a
输入a,b
结束



试将下列算法用语句表达
像上面这种语句也是简单条件语句的一种,它更简单!也可称为If-Then-End If语句


请大家总结一下简单条件语句的特点:
1.简单条件语句中一定会出现哪些词?
2.两种简单条件语句的差异由选择结构中的条件决定,还是由选择结构中语句的个数决定?
算法步骤:
(1)输入x;
解:可以用条件语句表示第(2)、(3)步骤:
Else
y=x2+1
y=x2-1
End If
?
例与练 课本P110
例2 在音乐唱片超市里,每张唱片售价25元.顾客如果购买5张以上(含5张)唱片,则按照九折收费;如果顾客购买10张以上(含10张)唱片,则按照八五折收费.请用语句描述完成计费工作的算法,画出算法框图.
解:假如用变量a表示顾客购买的唱片数,用变量C
表示顾客要缴纳的金额.则这个算法可以表示为:
1、输入a.
2、对a进行判断:
(1)若03、输出C .
条件语句:
输入a;
If
a<5 Then
C=25*a
Then
C=22.5*a
Else
C=21.25*a
输出C.
Else
End If
End If

一个条件语句


一个条件语句
像右边这样的条件语句称为复合If语句
算法框图如下:


实际上形如下面所示框图描述的算法都可以用复合if语句来表示:

条件1





条件2




语句3

语句2
语句1









If <条件1> Then
Else
If <条件2> Then
<语句2>
Else
<语句3>
End If
End If
<语句1>
上面的复合条件语句一般用于含有两个或两个以上的选择结构中,编程时,要明确条件与语句之间的对应关系(特别是条件2跟在条件1为假之后,条件3是跟在条件2为假之后),最好先作框图,理清判断的先后顺序,再编程.
复合条件语句还有一种形式:对照右边框图
If 条件1 Then
If 条件2 Then
语句2

语句3
End If
Else
语句1
End If
Else

1.把下列语句的意义翻译成程序框图
IF x>0 THEN
y=1
ELSE
y=0
END IF
练习一
开始
y=1
y=0
结束









X>0
输入 x
If x<=2.5 Then
y=x*x-1
Else
If __ Then
y=x+6
Else
y=x*x-1
End If
End If
End
上面语句中横线处应填什么?
如果将上面程序中的第二个语句
改为y=x*x-1,那么横线上该填啥?
3.课本练习一P112下中练习1
注意易错点:复合IF语句中的条件2通常是
跟在条件1为假的后面即嵌套部分在ELSE之后!

如果嵌套部分跟在上一个THEN之后,
要求上一个条件为真

解: 输入x 或者 输入x
If x<0 Then If x>=0 Then
y= x+3 If x>0 Then
Else y= x-5
If x>0 Then Else
y=0
y= x-5 End If
Else Else
y=0 y= x+3
End If End If
End If 输出y
输出y

3. P112练习1
4.练习2. P113
(注意”以上”表示的是大于或等于)

当条件1是:年龄Y<60,条件2是:Y<70,条件3呢?

试写出这个算法语句!
解:用n表示年龄,用
(i=1,2,3,4)分别表示用餐人数,消费额与应付金额;用n表示年龄;i=1表示年龄大于80岁,i=2表示年龄大于70且小于或等于80,i=3表示年龄大于60且小于或等于70,i=4表示年龄小于或等于60岁
输入n
If n<60 Then
输入a4,x4,y4=0.9a4x4
输出y4
Else


4.P113练习2.
If n<70 Then
输入a3,x3,y3=0.6a3x3
输出y3
Else
If n<80 Then
输入a2,x2,y2=0.5a2x2
输出y2
Else
输入a1,x1,y1=0
输出y1
End If
End If
End IF

思考3:请试着用复合IF语句表示2000年~2500年中的每一年是否为闰年的算法中循环体内的循环体用条件语句表示,得判断(IF)几次?
大家可以参照课本第100页中的算法框图2—15


注:每四年一闰,百年不闰,四百年再闰!

开始

y=2000

4整除y

100整除y

输出“y是闰年”

输出“y不是闰年”
400整除y






输出“y
不是闰年”
输出“y
是闰年”



y:=y+1

y>2500



结束










大家试着做这道题:下面这个程序的功能是啥?
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
PRINT “NO REAL ROOTS”
ELSE
x1=p+q
x2=p-q
IF x1=x2 THENN
PRINT :“ONE REAL ROOT:”;X1
ELSE
PRINT”TWO REAL ROOTS;x1”;x1,”AND x2” x2
END IF
END IF
END
注:SQR( )和ABS( ),分别表示求括号内的算术平方根和绝对值
功能是:输入一元二次方程的系数a,b,c,输出它的实数根;
英语单词REAL ROOTS
表示实数根

条件语句

简单条件语句
复合条件语句
If <条件> Then
<语句1>
Else
<语句2>
End If


满足条件?
语句1
语句2



条件1





条件2




语句3

语句2
语句1











If <条件1> Then
<语句1>
Else
If <条件2> Then
<语句2>
Else
<语句3>
End If
End If




小结一
掌握两种循环语句的功能和格式,能由循环结构写出合适的循环语句
3.2 循环语句
学习目标:



1.指出下图中的循环变量,循环体,循环终止条件.


开始


n=1

a=15n



输出a


n=n+1


n>66

结束





变量n控制着循环的开始和结束,称为循环变量.
反复执行的部分,称为循环体.
此用于判断是否继续执行循环体,称为循环的终止条件.
复习+新知理解
2.画出循环结构的算法框图的基本模式
循环变量=初始值

循环体

循环变量=循环变量的后继值


循环变量满足终止的条件






循环结构是算法中的基本结构,for语句是表达循环结构最常见的语句之一,它适用于预先知道循环次数的循环结构.也就是说知道循环变量的初值、终值和循环变量的后继值的循环结构适合用For循环语句表示!
思考4、什么是For循环语句?
它适合什么类型循环结构?它的一般格式是怎样子?
For语句的一般格式是:
For 循环变量=初始值 To 终值 step k
循环体
Next
For语句对应的基本框图:

循环体


i>终值



(step k表示每次增加k,若k是1,则step k 略去不写)
For语句的含义?
计算机在执行For语句时先对循环变量赋值,然后与循环变量的终值比较,若小于或等于终值,则执行循环体,然后循环变量的值增加,再与终值比较,若还小于或等于终值,再执行循环体,循环变量的值再增加,以此类推,直到循环变量的值大于终值时,停止执行循环体.
利用For循环描述算法时,要注意设定好循环变量的初始值和终值,避免出现多一次循环或少一次循环的情况.
提醒:
例3 结合右边框图,使用for语句描述输出菲波那契数列(P102中例10)算法的前50项的算法.
i>50
i=3
i=i+1

结束



开始
f3=f1+f2

f1=f2 ,f2= f3

输出f1, f2
输出f3








f1=0
f2=1
输出“斐波那契数列为”f1 ,f2
For i=3 to 50
f3=f1+f2
输出f3
f1=f2
f2=f3
Next
解:
f1=0 ,f2= 1
斐波那契数列:0,1,1,2,3,5,8,13,.............
大家试着做这道题:下面这个程序的功能是啥?

INPUT “INPUT a1,a2,......,a100=”;a1,a2,a3,.....,a100
b=a1
FOR i=2 to 100
IF b b=ai
END IF
NEXT
PRINT b
END


该算法的功能是输入100个数,输出这一百个数中的最大数;————对照课本 P101 页的算法框图
S=0
T=1
S=S+i
T=T*i
输出S
输出T
Next
s=0,T=1
i=1
S=S+i,T=T*i
i=i+1
i>20
输出S,T













例4.请阅读下列用for语句写出的算法,说明该算法的处理功能.
for i=1 to 20
开始
结束
这两件事情.
这个算法实际上处理的是求和
S=1+2+3+…+20
及求积
T=1×2×3×…×20
练习5.据下图提供的框图, 指出其功能, 并用For循环语句写出其算法语句.
 开 始 

S=0

i=1
S=S+i


i=i+2

i>100

输出S

结 束 



解:功能是:
求1+3+5+···+99的和.
算法语句如下:
S=0
For i=1 To 100 Step 2
S=S+i
Next
Print S
End
思考5 如何寻找满足1×2×3×4×…×n >1000条件的最小整数?能不用For语句写出
循环语句(2)
循环体
满足条件






在一些循环结构中,预先不知道循环的次数,要根据其它形式的终止条件停止循环,其结构如右:
在这种情况下一般用
Do Loop语句来描述.
Do Loop语句一般形式为:
Loop While
Do
循环体
条件为真
循环体
满足条件






Do Loop语句的执行过程:
先执行一次循环体,然后对Loop While后面的条件进行判断,若条件满足,则返回执行循环体,再进行条件判断,直到条件不满足时停止循环.
输出(猜猜填什么?)
例5.写出满足1×2×3×4 ×…×n>1000条件的最小整数的算法循环语句
解: s=1
n=1
Do
s=s*n
n=n+1
Loop While S<=1000
填:n-1
思考下列用Do Loop语句表示的算法的功能是什么?
t=1
Do
t=t+1
Loop while t不能整除p 且t<=p-1
If t>=p Then
输出“p是素数”
Else
输出“p不是素数”
End If
1、用Do Loop语句描述判断一个数p(p为大于3的任意整数)是否为素数的算法.
练习6、
提示:如果一个大于3的正整数p不能被小于或等于根号下p的所有整数都整除,那么p是素数
解:
t=1
Do
t=t+1
Loop while t不能整除p 且t<=Sqr(p)
If t>Sqr(p) Then
输出“p是素数”
Else
输出“p不是素数”
End If
注:下面语句中sqr(p)表示p的算术平方根。
一般地,C语言中sqr的意义是自定义的!
还可以利用大于3的所有素数都能写成6n+1或者6n-1形式,有兴趣的同学可以设计一个算法
练习7. 课本P114中练习2
2、解:
a=0
b=0
c=0
For i=1 To 40
输入Si
If Si>=85 Then
a=a+1
Else
If Si>=60 Then
b=b+1
Else
c=c+1
End If
Next
End If
Print a,b,c
End
3、
For i=1 to 300
If n-1 Mod 5=0 Then
输出n
Next


开始
i=i+1
5整除n-1
结束

i=0
输出n
i>300


N=3*i
DO
循环体
LOOP While 条件为真
For 循环变量=初始值 To 终值
循环体
Next
1、在计算机语言里,循环结构可以用循环语句
来表达分别有:
Do—Loop语句
For—Next语句


2、 For—Next语句的局限性—只能表达已知循环次数的循环结构.
3、在运用两种语句都要注意循环变量的初始值和终值.
小结二