(共18张PPT)
温故知新
步骤n
步骤n+1
3.基本逻辑结构:
(2)条件结构
(1)顺序结构:
满足条件?
步骤A
步骤B
是
否
满足条件?
步骤A
是
否
特征:两个步骤A,B根据条件选择一个执行
特征:根据条件选择是否执行步骤A
(3) 循环结构---在一些算法中, 经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.
反复执行的步骤称为循环体.
①直到型循环结构:
循环体
满足条件?
是
否
特征:在执行了一次循环体后,对条件进行判断,
如果条件不满足,就继续执行循环体,直到条件
满足时终止循环.
循环体
满足条件?
是
否
②当型循环结构:
特征:在每次执行循环体前,对条件进行判断,如
果条件满足,就执行循环体,否则终止循环.
从以上不同形式的循环结构可看出,循环结构中一定包含条件结构,用于何时终止执行循环体。
设计一个计算1+2+3+…+100的值的算法,并画出程序框图。
第1步,0+1=1.
第2步,1+2=3.
第3步,3+3=6.
第4步,6+4=10.
……
第100步,4950+100=5050.
我们用一个累加变量S表示每一步的计算结果,即把S+i的结果仍记为S,从而把第i步表示为S=S+i,其中S的初始值为0,i依次取1,2,…,100,通过重复操作,上述问题的算法如何设计?
例题剖析1
算法分析:
第四步,若i>100成立,则输出S,结束算法;否则,返回第二步.
第一步,令i=1,S=0.
第二步,S=S+i.
第三步,i=i+1.
解:(1)算法步骤:
注:在写循环结构的算法时,最关键是确定 循环结构。
(1)确定循环体:
S=S+i,i=i+1
(2)确定初始变化量:
i=1,S=0.
(3)设定循环控制条件:
①直到型:i>100;(满足条件结束);
②当型:i≤100;(不满足条件结束);
开始
i=1
i>100?
是
输出S
结束
S=0
i=i+1
S=S+i
否
(2)程序框图:
第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.
第一步,令i=1,S=0.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
解:(1)算法步骤:
设计一个计算1+2+3+…+100的值的算法,并画出程序框图。
也可以用当型循环结构表示。
开始
i=1
结束
输出S
否
是
S=0
S=S+i
i≤100?
i=i+1
(2)程序框图:
设计一算法,求积:1×2×3
×…×100,画出流程图
结束
输出A
i=0,A=1
开始
i = i + 1
A=A*i
i>=100
否
是
课堂练习
某工厂2005年的年生产总值为200万,技术革新以后每年的年生产总值比上一年增长5%。设计一个程序框图,输出预计年生产总值超过300万元的最早年份。
解:(1)算法步骤:
第一步,输入2005年的年生产总值。
第二步,计算下一年的年生产总值。
第三步,判断所得的结果是否大于300.若是,则输出该年的年份;否则,返回第二步
例题剖析2
由于“第二步”是重复操作的步骤,所以可以用循环结构来实现。我们按照“确定循环体” 、 “初始化变量” 、 “设定循环控制条件”的顺序来构造循环结构。
(2)初始化变量:若将2005年的年生产总值堪称计算的起始点,则n的初始值为2005,a的初始值为200.
(3)设定循环控制条件:当“年生产总值超过300万元”时终止循环,所以可通过判断“a>300”是否成立来控制循环。
(1)确定循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则循环体为
程序框图:
开始
n=2005
a=200
t=0.05a
n=n+1
a>300
是
输出n
结束
否
a=a+t
课堂小结
本节课主要学习了循环结构,特别注意理解以下几个问题:
1.两种循环结构框图及其特征。
循环体
满足条件?
是
否
(直到型循环结构)
特征:在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.
循环体
满足条件?
是
否
(当型循环结构)
特征:在每次执行循环体前,对条件进行判断,如
果条件满足,就执行循环体,否则终止循环.
2.正确构造循环结构;(是解题关键)
3.画出简单的含循环结构的程序框图。
课外作业
1.课本第20页A组 2
2.《阳光课堂》10~12页题组集训1~5(共30张PPT)
计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的。因此还需要将算法用计算机能够理解的程序设计语(programming language)翻译成计算机程序。
在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,如:听MP3,看电影,玩游戏,打字排版,画卡通画,处理数据等等,那么,计算机是怎样工作的呢?
新课引入
这就是这一节所要研究的主要内容——基本算法语句。今天,我们先一起来学习输入、输出语句和赋值语句。
程序设计语言有很多种。如BASIC,Foxbase,
C语言,C++,J++,VB等。为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:
输入语句 输出语句 赋值语句
条件语句 循环语句
在每个程序框图中,输入框与输出框是两个必要的程序框,我们用什么图形表示这个程序框?其功能作用如何?
表示一个算法输入和输出的信息.
诱思探究1
一.输入语句、输出语句和赋值语句
1.输入语句:
INPUT “提示内容”;变量
注:1.“提示内容”一般是提示用户输入什么样的信息,它可以用字母、符号、文字等来表述.
2.变量是指程序在运行时其值是可以变化的量,一般用字母表示,若输入多个变量,变量与变量之间用逗号隔开. 提示内容加引号,提示内容与变量之间用分号隔开.
INPUT “a,b,c=” ;a,b,c
输入a, b, c
输入x
INPUT “x=”;x
INPUT x
INPUT “x”;x
INPUT “a=,b=,c=”;a,b,c
INPUT a,b,c
INPUT 3+5
举例说明:
注:1.“提示内容”一般是提示用户输出什么样的信息,它通常是常量或变量的值;
2.输出语句:
PRINT “提示内容”;表达式
2.表达式一般是表示输出信息所对应的字母或代数式.PRINT语句可以在计算机的屏幕上输出运算结果
和系统信息.
PRINT “S=”;S
PRINT “S=”;a+b
注:(1)在计算a与b的和时,可直接写成
输入S
PRINT S
输入a, b, c
PRINT a,b,c
(2)也可以输出一句话:
如:PRINT “输入错误”
PRINT “a=,b=,c=”;a,b,c
举例说明:
数学符号
计算机符号
×
≠
*
÷
<>
≥
>=
/
乘方
∧
3x2
3*x∧2
开平方
SQR(x)
求余数
7÷2
7 MOD 2
常见计算机符号:
已知函数y=x3+3x2-24x+30,写
出自变量x对应的函数值的算法、程序框图及程序?
第一步,输入一个自变量x的值.
第三步,输出y.
第二步,计算y=x3+3x2-24x+30.
(1)算法步骤:
例题剖析1
开始
输入x
y=x3+3x2-24x+30
输出y
结束
(2)程序框图:
(3)程序:
开始
输入x
结束
输出y
y=x3+3x2-24x+30
INPUT “x=”;x
PRINT “y=”;y
END
写出计算一个学生语文、数学、英语三门课的平均成绩的算法、程序框图和程序.
(1)算法:
第一步,输入该学生三门课的
成绩a,b,c.
第三步,输出y.
例题剖析2
开始
输入a, b, c
输出y
结束
(2)程序框图:
输出y
(3)程序:
INPUT “Maths=”;a
INPUT “Chinese=”;b
INPUT “English=”;c
END
输入a, b, c
开始
结束
PRINT “The average”;(a+b+c)/3
在算法的程序框图中,处理框是一个常用的程序框,我们用什么图形表示这个程序框?其功能作用如何?
赋值、计算.
诱思探究2
变量=表达式
注:是将表达式所代表的值赋给变量, “=”叫做赋值号.计算机在执行赋值语句时,先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量.左右两边不能对换.
x=5
a=b
b=a
5=x
b=a+c
a=b=2
x+y=0
3.赋值语句
给一个变量重复赋值的程序:
A=10
A=A+15
PRINT A
END
那么,A的输出值是多少?
25
例题剖析3
写出右图程序的运行结果
a=2
b=3
d=(a+b+c)/3
c=4
a=b
b=c+2
c=b+4
PRINT “d=”;d
运行结果为 .
课堂练习
写出“交换两个变量A和B的值,并输出交换前后的值”的程序.
INPUT “A,B=”;A,B
PRINT A,B
x=A
A=B
B=x
PRINT A,B
END
例题剖析4
课堂练习
给出如图所示程序框图,写出相应
的算法语句.
课堂小结
本节课学习的主要内容:
1.理解输入语句、输出语句和赋值语句的一般形式 ;
2.看懂输入语句、输出语句和赋值语句,能够解决简单的问题。
课外作业
《阳光课堂》对应练习课时训练(四)1~7(共16张PPT)
1.程序框图的定义:又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.
温故知新
步骤n
步骤n+1
3.基本逻辑结构:
(1)顺序结构:由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构 。
2.基本程序框图及其功能;
已知梯形上底为2,下底为4,高为5,求其面积,设计出该问题的流程图.
开始
输出
结束
作业评析
(2)条件结构---在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.
两种常见形式:
特征:两个步骤A,B根据条件选择一个执行
特征:根据条件选择是否执行步骤A
满足条件?
步骤A
步骤B
是
否
满足条件?
步骤A
是
否
任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.
算法步骤:
第一步:输入3个正实数a,b,c;
第二步:判断a+b>c,a+c>b,b+c>a是否同时成立,若是,则能组成三角形;若否,则组不成三角形.
例题剖析1
开始
输入a,b,c
a+b>c,b+c>a,c+a>b是否同时成立?
是
存在这样的三角形
结束
否
不存在这样的三角形
程序框图:
算法步骤如下:
设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.
例题剖析2
程序框图:
开始
输入a,b,c
△= b2-4ac
△≥0?
△=0?
否
x1=p+q
输出x1,x2
结束
否
是
x2=p-q
输出x1=x2=p
是
输出“方程没有实数根”
设计求一个任意数的绝对值的算法,并画出相应的流程图。
分析:根据绝对值的定义,如果y=|x|,当x≥0,y=x;当x<0时,y=-x,所以当给出一个自变量x的值,求它所对应的y值时必需先判断x的范围,所以要用到条件结构.
算法步骤:
第二步,判断 x≥0是否成立。若是,y=x ; 否则y=-x.
第三步,输出y.
第一步,输入x.
课堂练习
是
程序框图:
开始
输入x
x≥0
输出y
否
结束
y=x
y=-x
例题剖析3
某商场购物实行优惠措施,若购物金额x元在800元以上(包括800元),打8折;若购物金额x元在500元以上(包括500元),打9折,否则不打折。设计程序框图,要求输入购物金额x,能输出实际交款额。
分析:实际上是求函数
的值。
开始
输出y
x≥800
是
x≥500
输入x
结束
y=x
y=0.9x
y=0.8x
否
否
是
程序框图:
归纳小结
本节课学习的主要内容:
3.基本逻辑结构:
(1)顺序结构:由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构。
(2)条件结构---算法的流向根据条件是否成立有不同的流向.
满足条件?
步骤A
是
否
满足条件?
步骤A
步骤B
是
否
课外作业
1.课本第20页A组 3
2.《阳光课堂》8~9页题组集训5,6,7(共36张PPT)
(三)算法语句
1.输入语句: INPUT “提示内容”;变量
2.输出语句: PRINT “提示内容”;表达式
3.赋值语句:变量=表达式
4. 条件语句:
①IF—THEN语句 :
IF 条件 THEN
语句体
END IF
满足条件
步骤A
否
是
②IF—THEN—ELSE语句:
IF 条件 THEN
语句体1
ELSE
语句体2
END IF
步骤A
满足条件
步骤B
是
否
WHILE 条件
循环体
WEND
DO
循环体
LOOP UNTIL 条件
循环体
满足条件?
否
是
循环体
满足条件?
是
否
(1)UNTIL语句
(2)WHILE语句
5.循环语句:
设
是一个n 次的多项式
2 . 秦九韶算法。
该多项式可转化为:
求多项式的值时由内到外逐层计算一次多项式的值。
1. 辗转相除法与更相减损术
(四)算法案例
3 . 进位制
(1)进位制的概念: 进位制是人们为了计数和运算方便而约定的记数系统.
(2)k进制表示:
一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式:
(3) k进制数转化为十进制数
(4)十进制数转化为k进制数
(除k取余法)
1.计算机执行下面的程序段后,输出的结果是( ).
(A)1,3 (B)4,1
(C)0,0 (D)6,0
B
6
2.当a=3时,下面的程序段输出的结果是______.
3.右图程序表示的函数表达式是______.
3
4.根据如图所示的程序语句,当输入a,b分别
为2,3时,最后输出的m的值是______.
①若输入4,则输出的结果是________________;
②该程序的功能所表达的函数解析式为_______.
15
5.以下给出了一个程序,根据该程序回答:
0
6.下面程序执行后输出的结果是______.
7.运行下面的程序:当输入168,72时,输出的结果是( )
(A)168 (B)72 (C)36 (D)24
D
8.下面程序运行后输出的结果为( )
(A)50 (B)5 (C)25 (D)0
D
9.如图是一个求20个数的平均数的程序,在横线上应填充( )
(A)i>20 (B)i<20
(C)i>=20 (D)i<=20
A
10.给出以下一个算法的程序(如图所示)
(1)说明该程序的功能;
(2)请用直到型循环结构画出相应算法的程序框图.
【解析】(1)该程序的功能是求 的和.
(2)
11.(1)360和504的最大公约数是( )
(A)72 (B)24
(C)2 520 (D)以上都不对
A
(2)用秦九韶算法计算多项式f(x)=12+35x-8x2+79x3+6x4+5x5+3x6,在x=-4时的值时,v3的值为( )
(A)-845 (B)220 (C)-57 (D)34
(3)完成下列进位制之间的转化:45(10)= ______(7).
C
63(共21张PPT)
温故知新
分别用辗转相除法与更相减损术求1037与425的最大公约数。
怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?
新课引入
算法1:
因为f(x) =x5+x4+x3+x2+x+1
所以f(5)=55+54+53+52+5+1
=3125+625+125+25+5+1
= 3906
思考:在这种算法中共进行了多少次乘方运算与加法运算?
一共做了4+3+2+1=10次乘法运算,5次加法运算。
计算多项式f(x) =x5+x4+x3+x2+x+1
当x = 5的值的算法:
算法2:
f(5)=55+54+53+52+5+1
=5×(54+53+52+5+1 ) +1
=5×(5×(53+52+5 +1 )+1 ) +1
=5×(5×(5×(52+5 +1) +1 ) +1 ) +1
=5×(5×(5×(5 ×(5 +1) +1 )+1)+1) +1
思考:在这种算法中共进行了多少次乘方运算与加法运算?
一共做了4次乘法运算,5次加法运算。
诱思探究1
以上两种算法,相对计算机来说哪一种运算效率更高?
第二种算法与第一种算法相比,乘法的运算次数减少了,能够提高运算效率。对于计算机来说,做一次乘法运算所用的时间比做一次加法运算要长得多,所以采用第二种算法,计算机能更快得到结果,效率更高。
用第二种算法,我们可以从最里层的括号开始逐步向外层括号计算,最终得到结果,这就是我国南宋数学家秦九韶提出的——秦九韶算法。
秦九韶(1208年-1261年)南宋官员、数学家,与李冶、杨辉、 朱世杰并称宋元数学四大家。主要成就:1247年完成了数学名著《数学九章》,其中的大衍求一术、三斜求积术和秦九韶算法是具有世界意义的重要贡献。秦九韶算法就是中国古代数学的一枝奇葩。直到今天,这种算法仍是多项式求值比较先进的算法 。
美国著名科学史家萨顿说过,秦九韶是“他那个民族,他那个时代,并且确实也是所有时代最伟大的数学家之一”。所以我们的先贤孜孜不倦的治学与研究精神,是我们学习的楷模!
设
是一个n 次的多项式
对该多项式按下面的方式进行改写:
案例2 秦九韶算法。
要求多项式的值,应该先算最内层的一次多项式的值,
即
然后,由内到外逐层计算一次多项式的值,即
最后的一项是什么?
这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。
已知一个五次多项式为
用秦九韶算法求这个多项式当x = 5的值。
解:将多项式变形:
按由里到外的顺序,依此计算一次多项式当x = 5时的值:
所以,当x = 5时,多项式的值等于17255.2
例题剖析
把求一个n次多项式f(x)的值转化成求n个一次多项式的值,即把求
的值转化为求递推公式:
诱思探究2
在求多项式的值上,用秦九韶算法是怎样的一个转化?
通过这种转化,把运算的次数由至多 次乘法运算和n次加法运算,减少为至多n次乘法运算和n 次加法运算,大大提高了运算效率。
用秦九韶算法求多项式的值,可以用什么逻辑结构来构造算法?你能设计出它的运算程序吗?
第一步,输入多项式的次数n,最高次项的系数an和x的值.
第二步,令v=an,i=n-1.
第三步,输入i次项的系数ai.
第四步,v=vx+ai,i=i-1.
第五步,判断“i≥0”是否成立.若是,则返回第三步,否则输出多项式的值v.
用循环结构构造算法,其算法步骤为:
诱思探究2
开始
输入n,an,x的值
v=an
i=n-1
i≥0?
输出v
输入ai
v=vx+ai
i=i-1
结束
N
Y
INPUT “n=”;n
INPUT “an=”;a
INPUT “x=”;x
v=a
i=n-1
WHILE i>=0
PRINT “i=”;i
INPUT “ai=”;a
v=v*x+a
i=i-1
WEND
PRINT v
END
程序
程序框图
已知多项式f(x)=x5+5x4+10x3+10x2+5x+1,用秦九韶算法求这个多项式当x=-2时的值。
课堂练习
解:原多项式改写成为:
课堂小结
本节课学习的主要内容:
1.了解秦九韶算法求多项式的值的算法;
2.能用秦九韶算法求多项式的值
课外作业
1.课本第48页A组2
2.预习课本40~44内容(共44张PPT)
一.知识结构:
注:学习要求:
1.了解算法的概念;
2.理解程序框图的三种基本逻辑结构;
3.理解几种算法语句,体会算法的基本思想;
4.了解想法案例。
(一)算法的概念:
1.算法的定义:按照一定规则解决某一类问题的明
确和有限的步骤称为算法.
2.算法的特点:有限性、确定性、顺序性、可行性、不唯一性、普遍性。
(二)程序框图:
1.程序框图定义:又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.
二.知识要点:
2.基本的程序框和它们各自表示的功能如下:
图形符号 名称 功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示一个算法输入和输出的信息
处理框(执行框)
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不”成立时标明“否”或“N”.
判断框
赋值、计算
流程线
连接程序框
连接点
连接程序框图的两部分
(1) 顺序结构-----是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构.
步骤n
步骤n+1
用程序框图可以表示为:
特征:由若干个依次执行的处理步骤组成的,任何一个算法都离不开的基本结构.
3.算法的三种基本逻辑结构:
(2)条件结构---在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.
两种常见形式:
特征:两个步骤A,B根据条件选择一个执行
特征:根据条件选择是否执行步骤A
满足条件?
步骤A
步骤B
是
否
满足条件?
步骤A
是
否
(3) 循环结构---在一些算法中, 经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.
反复执行的步骤称为循环体.
①直到型循环结构:
循环体
满足条件?
是
否
特征:在执行了一次循环体后,对条件进行判断,
如果条件不满足,就继续执行循环体,直到条件
满足时终止循环.
循环体
满足条件?
是
否
②当型循环结构:
特征:在每次执行循环体前,对条件进行判断,如
果条件满足,就执行循环体,否则终止循环.
从以上不同形式的循环结构可看出,循环结构中一定包含条件结构,用于何时终止执行循环体。
1.阅读如图所示的程序框图,
若运行该程序后,输出的y值为
则输入的实数x的值为______.
2.如图所示程序框图,若输出的结果y的值为1,
则输入的x值的集合为( )
(A){3} (B){2,3}
(C){ ,3} (D){ ,2,3}
C
3.执行右面的框图,若输出
结果为3,则可输入的实数
值的个数为( )
A.1 B.2
C.3 D.4
C
是
否
开始
输入a,b,c
x=a
b>x
输出x
结束
x=b
x=c
否
是
图5
4.右面的程序框图,如果输入三
个实数a、b、c,要求输出这三
个数中最大的数,那么在空白的
判断框中,应该填入下面四个选
项中的( ).
c > x B. x > c
C. c > b D. b > c
A
5.如图,若N=5,则输出结果S=______.
120
6.阅读如图所示的程序框图,
运行相应的程序,输出的结果是( )
(A)3 (B)11
(C)38 (D)123
B
7.执行如图所示的程序框图,如果
输入的N是6,那么输出的p是( )
(A)120 (B)720
(C)1 440 (D)5 040
B
8.执行如图所示的程序框图,如果输入的n是4,则输出的p是( )
(A)8 (B)5
(C)3 (D)2
C
9.某同学设计下面的程序框图用以
计算和式12+22+32+…+202的值,则
在判断框中应填写( )
(A)i≤19 (B)i≥19
(C)i≤20 (D)i≤21
C
10.若框图所给的程序运行结果为S=20,那么判断框中应
填入的关于 k的条件是( )
(A)k<8? (B)k≤8?
(C)k≥8? (D)k>8?
D
11.如图所示,程序框图(算法流程图)
的输出结果是______.
15
12.阅读如图所示的程序框图,运
行相应的程序,输出的结果是( )
(A)3 (B)11
(C)38 (D)123
B(共24张PPT)
温故知新
1.算法的概念:按照一定规则解决某一类问题的明确和有限的步骤称为算法.
2.算法的特点:有限性、确定性、顺序性、可行性、不唯一性、普遍性。
1.任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.(课本第5页练习1)
作业评析
第一步:给定一个正实数r;
第二步:计算以r为半径的圆的面积S=πr2;
第三步:得到圆的面积S.
2. 任意给定一个大于 1 的正整数 n ,设计一个算法求出n 的所有因数. (课本第5页练习2)
算法步骤:
第一步, 依次以2 ~(n – 1)为除数除 n ,检查余数是否为0;若是,则是 n 的因数;若不是,则不是 n 的因数;
第二步, 在 n 的因数中加入 1 和 n;
第三步, 输出n的所有因数.
算法是由一系列明确和有限的计算步骤组成的,我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性,因此,我们有必要探究使算法表达得更加直观、准确的方法,这个想法可以通过程序框图来实现.
新课引入
一.程序框图:
1.程序框图定义:又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.
通常,程序框图由程序框和流程线组成.一个或几个程序框的组合表示算法中的一个步骤;流程线是方向箭头,按照算法进行的顺序将程序
框连接起来.
2.基本的程序框和它们各自表示的功能如下:
图形符号 名称 功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示一个算法输入和输出的信息
处理框(执行框)
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不”成立时标明“否”或“N”.
判断框
赋值、计算
流程线
连接程序框
连接点
连接程序框图的两部分
判断整数n(n>2)是否为质数”的算法步骤如何?
第一步,给定一个大于2的整数n;
第二步,令i=2;
第三步,用i除n,得到余数r;
第四步,判断“r=0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i表示;
第五步,判断“i>(n-1)”是否成立,若是, 则n是质数,结束算法;否则,返回第三步.
诱思探究1
开始
输入n
i=2
求n除以i的余数r
i的值增加1仍用i表示
i≥n或r=0
n不是质数
结束
是
否
是
n是质数
否
r=0
i=i+1
我们将上述算法用下面
的图形表示:
通过上述算法的两种不同表达方式的比较,你觉得用程序框图来表达算法有哪些特点
用程序框图表示的算法更加简练,直观,流向清楚.
诱思探究2
3.算法的三种基本逻辑结构:
顺序结构、条件结构、循环结构
开始
输入n
i=2
求n除以i的余数r
i=i+1
i≥n或r=0
n不是质数
结束
是
否
是
n是质数
否
r=0
顺序结构
用程序框图来表示算法,有三种不同的基本逻辑结构:
条件结构
循环结构
(1) 顺序结构-----是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构.
步骤n
步骤n+1
用程序框图可以表示为:
在顺序结构中可能会用到哪几种程序框和流程线?
特征:由若干个依次执行的处理步骤组成的,任何一个算法都离不开的基本结构.
已知一个三角形的三边边长分别为a,b,c,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.
算法步骤:
第一步:输入三角形三条边的边长a,b,c.
例题剖析1
开始
结束
输出S
输入a,b,c
程序框图:
就(1)、(2)两种逻辑结构,说出各自的算法功能
开始
输入a,b
结束
sum=a+b
输出sum
开始
输入a,b
输出
结束
(1)
(2)
(1)求直角三角形斜边长;
(2)求两个数的和.
课堂练习
归纳小结
课外作业
本节课学习的主要内容:
1.程序框图的定义;
2.基本程序框图及其功能;
3.基本逻辑结构:
(1)顺序结构:由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构 。
已知梯形上底为2,下底为4,高为5,求其面积,设计出该问题的流程图.
已知梯形上底为2,下底为4,高为5,求其面积,设计出该问题的流程图.
开始
输出
结束(共15张PPT)
3 5
9 15
1.在小学,我们已经学过求最大公约数的知识,你能求出18与30的最大公约数吗?
18 30
2
3
∴18和30的最大公约数是2×3=6.
先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来.
2.如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数?比如求8251与6105的最大公约数
新课引入
1.辗转相除法:
求两个正数8251和6105的最大公约数。
分析:8251与6105两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数.
解:8251=6105×1+2146
注:8251和6105的公约数就是6105和2146的公约数,求8251和6105的最大公约数,只要求出6105和2146的公约数就可以了。
案例1 辗转相除法与更相减损术
例题剖析
求两个正数8251和6105的最大公约数。
解:8251=6105×1+2146;
则37为8251与6105的最大公约数。
以上我们求最大公约数的方法就是辗转相除法。也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的。
6105=2146×2+1813;
2146=1813×1+333;
1813=333×5+148;
333=148×2+37;
148=37×4+0.
第一步:输入两个正整数m,n(m>n).
第二步:计算m除以n所得的余数r.
第三步:m=n,n=r.
第四步:若r=0,则m,n的最大公约数等于m;
否则转到第二步.
第五步:输出最大公约数m.
诱思探究
(2)算法步骤
(1)算法分析:所谓辗转相除法,就是对于给定的两个数,用较大的数除以较小的数。若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数。
你能写出利用辗转相除法求最大公约数的程序吗?
开始
输入m,n
r=m MOD n
m=n
r=0
是
否
n=r
输出m
结束
INPUT “m,n=“;m,n
DO
r=m MOD n
m=n
n=r
LOOP UNTIL r=0
PRINT m
END
(3)程序框图
(4)程序
利用辗转相除法求两数4081与20723的最大公约数.
课堂练习
解:20723=4081×5+318;
4081=318×12+265;
318=265×1+53;
265=53×5+0.
所以4081与20723的最大公约数为53.
2.更相减损术:
我国早期也有解决求最大公约数问题的算法,就是更相减损术。
更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母·子之数,以少减多,更相减损,求其等也,以等数约之。
翻译出来为:第一步:任意给出两个正数;判断它们是否都是偶数。若是,用2约简;若不是,执行第二步。
第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数。
用更相减损术求98与63的最大公约数.
解:由于63不是偶数,把98和63以大数减小数,并辗转相减,
所以,98与63的最大公约数是7。
98-63=35;
63-35=28;
35-28=7;
28-7=21;
21-7=14;
14-7=7.
例题剖析2
用更相减损术求两个正数84与72的最大公约数。
课堂练习
解:把84与72分别除以2得:42,36
21-18=3
18-3=15
15-3=12
12-3=9
9-3=6
6-3=3
所以84与72的最大公约数为12.
再分别除以2得:21,18
辗转相除法与更相减损术的比较有何区别?
(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主;计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。
(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到.
诱思探究2
如何求324、243、135这三个数的最大公约数。
思路分析:求三个数的最大公约数可以先求出两个数的最大公约数,第三个数与前两个数的最大公约数的最大公约数即为所求。
诱思探究3
课堂小结
本节课学习的主要内容:
1.了解辗转相除法与更相减损术求两个正整数的最大公约数的算理;
2.能用辗转相除法与更相减损术求两个正整数的最大公约数。
课外作业
1.课本第48页A组1
2.预习课本37~39内容(共26张PPT)
温故知新
我们学习了哪些算法语句?它们的形式分别是什么?
1.输入语句: INPUT “提示内容”;变量
2.输出语句: PRINT “提示内容”;表达式
3.赋值语句:变量=表达式
4. 条件语句:
①IF—THEN语句 :
IF 条件 THEN
语句体
END IF
满足条件
步骤A
否
是
②IF—THEN—ELSE语句:
IF 条件 THEN
语句体1
ELSE
语句体2
END IF
步骤A
满足条件
步骤B
是
否
WHILE 条件
循环体
WEND
DO
循环体
LOOP UNTIL 条件
循环体
满足条件?
否
是
循环体
满足条件?
是
否
(1)UNTIL语句
(2)WHILE语句
5.循环语句
1.运行如图所示的程序,
输出的结果是_______。
3
INPUT a,b,c
PRINT a,b,c
a=b
b=c
c=a
PRINT a,b,c
END
2.写出右边程序运行的结果:
若输入10,20,30,则输出结果为___________________.
20,30,20
3.将两个数a=8,b=17交换,使a=17,b=8,
下列语句正确的一组是( ).
A. B. C. D.
a=b
b=a
c=b
b=a
a=c
b=a
a=b
a=c
c=b
b=a
B
4.当x=5,y=-20时,下面程序运行后输出的
结果为( )
A.22,-22
B.22,22
C.-22,22
D.-22,-22
A
5.下面给出的是一个算法的程序.如果输出的y的值是20,则输入的x的值是________.
6
A.10 B.12 C.8 D.14
6.若执行右图程序时输入10,12,8,
则输出的结果为( )
B
7.下面程序执行后输出的结果是( )
A.-1 B.0
C.1 D.2
B
8.运行下面的程序,执行后输出的s的值是( ).
A.11 B.15
C.17 D.19
B
9.下面的程序运行后第3个输出的数是( )
A.1 B.3/2
C.2 D.5/2
C
对甲、乙两程序和输出结果判断正确的是( )
A.程序不同,结果不同 B.程序不同,结果相同
C.程序相同,结果不同 D.程序相同,结果相同
10.读程序:
B
11.下面程序表示的算法是______________________.
求使1×2×3×…×n>5 000的n的最小正整数(共23张PPT)
设
是一个n 次的多项式
1.案例2 秦九韶算法。
温故知新
该多项式可转化为:
求多项式的值时由内到外逐层计算一次多项式的值。
比如:
满二进一,就是二进制; 满十进一,就是十进制;
满十二进一,就是十二进制; 满六十进一,就是六十进制
基数:
2.案例3 进位制
(1)进位制的概念: 进位制是人们为了计数和运算方便而约定的记数系统.
“满几进一”就是几进制,几进制的基数就是几.
十进制:
我们最常用最熟悉的就是十进制数,它的数值
部分是十个不同的数字符号0,1,2,3,4,5,
6,7,8,9来表示的。
例如,十进制数3721表示有:1个1,2个10, 7个
百即7个10的平方,3个千即3个10的立方。可得:
与十进制类似,其他的进位制也可以按照位置原则计数.由于每一种进位制的基数不同,所用的数字个数也不同.如二进制用0和1两个数字,七进制用0~6七个数字.
一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式:
(2)k进制表示:
如:10212 (3) 193 2376 (8)
为了区分不同的进位制,
常在数的右下角标明基数,
十进制数一般不标注基数.
思考:判断下列数表达是否正确?
(1) 12(2)
(2) 061(7)
(3) 291(8)
如何将k进制数转化为十进制数?
我们再回忆一下刚才的例子:
其他进位制的数也可以表示成不同位上的数字与基数的幂的乘积之和的形式,如:
110011(2)=
7×83+3×82+4×81+2×80
1×25+1 ×24+ 0×23+0 ×22 +1×21+1 ×20
7342(8)=
诱思探究1
(3) k进制数转化为十进制数
1.把下列数化为十进制数
(1) 1011010(2)
(2) 10212(3)
(3) 2376(8)
2. (1)110011(2)、324(5)、123(4)、55(6)四个数中最大的一个是_______
(2)已知k进制的数132(k)与十进制的数30相等,那么k等于_______
=90
=104
=1278
4
324(5)
课堂练习
11= 2× 5+1
44= 2×22+0
注意:将上式各步所得的余数从下到上排列,得到:
89=1011001(2)
把89化为二进制数
解:
5= 2× 2+1
所以:89=1011001(2)
89=2×44+1
22= 2×11+0
(4)十进制数转化为k进制数
2= 2× 1+0
1= 2× 0+1
例题剖析1
这种算法叫做除2取余法,还可以用下面的除法算式表示:
5
2
2
2
1
2
0
1
0
余数
11
22
44
89
2
2
2
2
0
1
1
0
1
解:
所以:89=1011001(2)
上述方法可推广为把十进制化为k进制化为k进制的算法,称为除k取余法。
思考:如何把89化为五进制数?
解:
根据除k取余法
以5作为除数,相应的除法算式为:
所以,89=324(5)
89
5
17
5
3
5
0
4
2
3
余数
4.完成下列进位制之间的转化:
(1)137= (6);
(2)2008= (2)= (8);
(3) 1231(5)= (7).
3730
345
11111011000
362
五进制
十进制
七进制
课堂练习
课堂小结
1.进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。可使用数字符号的个数称为基数,基数为k,即可称k进位制,简称k进制。k进制需要使用k个数字。
2.十进制与k进制之间转化的方法:
先把这个k进制数写成用各位上的数字与k的幂的乘积之和的形式,再按照十进制数的运算规则计算出结果.
3.十进制数转化为k进制数的方法:(除k取余法) 用k连续去除该十进制数或所得的商,直到商为零为止,然后把每次所得的余数倒着排成一个数,就是相应的k进制数.
课外作业
1.课本第48页A组3
2.《阳光课堂》课时训练(七)(共22张PPT)
1.程序框图的定义:又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.
温故知新
步骤n
步骤n+1
3.基本逻辑结构:
(1)顺序结构:由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构 。
2.基本程序框图及其功能;
步骤n
步骤n+1
3.基本逻辑结构:
(2)条件结构
(1)顺序结构:
满足条件?
步骤A
步骤B
是
否
满足条件?
步骤A
是
否
特征:两个步骤A,B根据条件选择一个执行
特征:根据条件选择是否执行步骤A
(3) 循环结构---在一些算法中, 经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.
反复执行的步骤称为循环体.
①直到型循环结构:
循环体
满足条件?
是
否
特征:在执行了一次循环体后,对条件进行判断,
如果条件不满足,就继续执行循环体,直到条件
满足时终止循环.
循环体
满足条件?
是
否
②当型循环结构:
特征:在每次执行循环体前,对条件进行判断,如
果条件满足,就执行循环体,否则终止循环.
1.某算法的程序框图如图
所示,则输出量y与输入
量x满足的关系式是____.
2.如图,该程序框图表示的算法功能是_______________________;
如果执行这个程序框图,那么输出的s等于__________。
计算S=2+4+¨¨+100
2550
开始
K=1
s=0
K≤50?
s=s+2k
k=k+1
输出s
结束
是
否
3.如图所示,程序框图的
输出值x=________.
12
4.执行右边的程序框图,若第
一次输入的 a 的值 为-1.2,第
二次输入的 a 的值为1.2,则第
一次、第二次输出的 a 的
值分别为( )
A.0.2,0.2 B.0.2,0.8
C.0.8,0.2 D.0.8,0.8
C
A
5.某程序框图如图所示,
程序运行后输出的k的
值是( )
A.4 B.5
C.6 D.7
C
6如果执行下面的程序框图,
那么输出的S=( )
A.7 B.9
C.11 D.13
7.下图是一个算法的流程图,则输出S的值
是_______________.
63
(A) k>4 (B)k>5
(C) k>6 (D)k>7
8.某程序框图如图所示,若输出的S=57,则判断框内应填( ).
A
开始
否
输出s
结束
是
9.如图是求
的值的程序框图,则正整数
n=_________.
100
是
否
开始
输入a,b,c
x=a
b>x
输出x
结束
x=b
x=c
否
是
图5
10.右面的程序框图5,如果输入三个实数a、b、c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的 ( )
A. c > x B. x > c
C. c > b D. b > c
A
1.如图所示的程序框图,若输入的n是100,则输出的S和T 的值是( )
A.2500,2500
B.2550,2550
C.2500,2550
D.2550,2500
D
开始
T=T+n
s=0,T=0
n<2?
s=s+n
n=n-1
输出s、T
结束
是
否
n=n-1
输入n
课后练习
2.执行如图1所示的程序框图,若输入n的值为3,则输出S的值是 ( )
A.1 B.2 C.4 D.7
C
3.执行如图所示的程序框图,
若输入A的值为2,则输出
的P值为( ).
A.2 B.3
C.4 D.5
C
A.0.5 B.1
C.2 D.4
4.阅读右边的程序框图,
运行相应的程序,若输入
x的值为-4,则输出y的值
为( ).
C
(第1题)
5.右图给出的是计算
的值的一个框图,其中菱形判
断框内应填入的条件是 .(共19张PPT)
温故知新
1.输入语句、输出语句与赋值语句的一般格式是什么?
(1)输入语句: INPUT “提示内容”;变量
(2)输出语句: PRINT “提示内容”;表达式
(3)赋值语句:变量=表达式
2.下列程序执行后结果为3,
则输入x的值可能为________.
-3或1
3.下面一段程序执行后的结果是________.
10
4.下列程序执行后,变量a,b
的值分别为 ( )
A.20,15 B.35,35
C.5,5 D.-5,-5
A
算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。
1. IF—THEN语句 :
IF 条件 THEN
语句体
END IF
计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体,否则执行END IF 之后的语句。
步骤A
满足条件
是
否
二. 条件语句:
2 IF—THEN—ELSE语句:
IF 条件 THEN
语句体1
ELSE
语句体2
END IF
步骤A
满足条件
步骤B
是
否
当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2。
IF 条件 THEN
语句体1
ELSE
语句体2
END IF
IF 条件 THEN
语句体
END IF
满足条件?
语句体
是
否
满足条件?
语句体1
语句体2
是
否
(单分支条件结构)
(双分支条件结构)
诱思探究1
两种形式条件结构有何区别?
程序框图
算 法
第一步 输入一个实数 . 第二步 判断 的符号.若 ,则输出 ;否则,输出 .
是
输出
开始
输入
结束
否
输出
INPUT x
IF x>=0 THEN
PRINT x
ELSE
PRINT - x
END IF
END
程 序
设计一个程序,求实数x的绝对值.
例题剖析1
例2 编写程序,输出两个不相等的实数a、b的最大值.
算法步骤一:
程序框图
INPUT “a,b”;a,b
IF a>b THEN
PRINT a
ELSE
PRINT b
END IF
END
第一步,输入a, b的数值.
第二步,判断a,b的大小关系,
若a>b,则输出a的值,否则,
输出b的值.
程序:
算法步骤二:
第一步,输入a,b的数值.
第二步,判断a,b的大小关系,若b>a,
则将b的值赋予a;否则,直接执行第三步.
第三步,输出a的值,结束.
程序框图
INPUT “a,b”;a,b
IF b>a THEN
a=b
END IF
PRINT a
END
程序:
编写程序,使得任意输入3个整数按从大到小的顺序输出.
算 法步骤
第四步,将b与c比较,并把小者赋给c,大者赋给b
第一步,输入3个整数
第二步,将 与b比较,并把小者赋给b,大者赋给
第三步,将 与c比较,并把小者赋给c,大者赋给
第五步,按顺序输出
例题剖析3
INPUT “a,b,c=”;a,b,c
程序
开始
t=a,a=b,b=t
t=a,a=c,c=t
t=b,b=c,c=t
输入a,b,c
输出a,b,c
b>a
c>a
c>b
否
否
否
结束
程序框图
是
是
是
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
1.阅读右图程序:
则该程序运行后,变量y的值为( )
A.4 B.16 C.6 D.8
2.阅读左图程序,其功能是________________________.
课堂练习
课堂小结
本节课学习的主要内容:
1.理解条件语句的两种形式 ;
2.看懂条件语句,能够解决简单的问题。
课外作业
《阳光课堂》对应练习课时训练(五)1~7(共22张PPT)
新课引入
假如你的朋友不会发电子邮件,低能教会他吗?可以按什么步骤操作?
请你写出用加减法解以下二元一次方程组的详细过程.
①
②
第一步: ② -①×2得: 2y=14 ③
第二步: 解③得:y=7
第三步:②-①×4得: -2x=-20 ④
第四步: 解④得:x=10
第五步:得到方程组的解为:
诱思探究1
你能写出解一般的二元一次方程组的步骤吗?
第一步,
第二步,解(3)得
诱思探究2
第四步,解(4)得
第三步,
第五步,得到方程组的解为
事实上,我们可以将一般的二元一次方程组的
解法转化成计算机语言,做成一个求解二元一次方
程组的程序。
在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.
算法通常可以编成计算机程序,让计算机执行并解决问题。
一.算法的概念:
1.有限性:一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束。
2.确定性:算法对每一个步骤都有确切的,能有效执行且得到确定结果的,不能模棱两可。
3.顺序与可行性:算法中的每下一个步骤都是在上一个步骤完成才能执行,并且每一步都是可以完成的。
请你根据前面两个问题总结一下算法有哪些特点?
诱思探究3
二.算法的特点:
4.不唯一性求解某一个问题的解法不一定是唯一的,对于同一个问题可以有不同的解法。
5.普遍性:算法应有某种普遍性,可以用来解决一类问题。
课堂练习
1.下列关于算法的说法,正确的个数有( )。
①求解某一类问题的算法是唯一的;
②算法必须在有限步操作后之后停止;
③算法的每一步操作必须是明确的,不能有歧义或模糊;
④算法执行后一定产生确定的结果。
A.1 B.2 C.3 D.4
C
2.下列对算法的理解不正确的是( )。
A.算法有一个共同特点就是对一类问题都有效(而不是个别问题)
B.算法要求是一步步执行,每一步都能得到唯一的结果
C.算法一般是机械的,有时要进行大量重复的计算,它的优点是一种通法
D.任何问题都可以用算法来解决
D
3.下列语句表达中是算法的有( )。
A.1个 B.2个 C.3个 D.0个
B
设计一个算法判断7是否为质数.
第一步, 用2除7,得到余数1.因为余数不为0,
所以2不能整除7.
第二步, 用3除7,得到余数1.因为余数不为0,
所以3不能整除7.
第三步, 用4除7,得到余数3.因为余数不为0,
所以4不能整除7.
第四步, 用5除7,得到余数2.因为余数不为0,
所以5不能整除7.
第五步, 用6除7,得到余数1.因为余数不为0,
所以6不能整除7。
例题剖析1
因此,7是质数.
变式:设计一个算法判断35是否为质数.
第一步, 用2除35,得到余数1.因为余数不为0,
所以2不能整除35.
第二步, 用3除35,得到余数2.因为余数不为0,
所以3不能整除35.
第三步, 用4除35,得到余数3.因为余数不为0,
所以4不能整除7.
第四步, 用5除35,得到余数0.因为余数为0,
所以5能整除35.因此,35不是质数.
第一步:给定大于2的整数n.
第二步:令i=2
第三步:用i除n,得到余数r.
第四步:判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.
第五步:判断“i>(n-1)”是否成立,若是,则n是质数,结束算法;否则,返回第三步.
第一步,给定大于2的整数n.
第二步,用2去除n,得到余数r.若t=0,则2能够整除n, n 不是质数,算法结束;否则,进入第三步.
第三步,用3去除n,得到余数t.若t=0,则3能够整除n, n 不是质数,算法结束;否则,进入第四步.
……
第(n-1)步,用(n-1)去除n,得到余数t.若t=0,则(n-1)能够整除n, n 不是质数,算法结束;否则, n是质数.
诱思探究4
你能否设计一个算法,判断整数n(n>2)是否为质数
例题剖析2
对于区间[a,b ]上连续不断、且f(a)f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点或其近似值的方法叫做二分法。
什么叫“二分法”?
回顾提问
第四步, 若f(a) ·f(m) < 0,则含零点的区间为[a,m];
第二步, 给定区间[a,b],满足f(a) ·f(b)<0.
第三步, 取中间点 .
第五步,判断f(m)是否等于0或者[a,b]的长度是否小于d,若是,则m是方程的近似解;否则,返回第三步.
将新得到的含零点的仍然记为[a,b].
否则,含零点的区间为[m, b].
算法步骤:
第一步, 令 ,给定精确度d.
a b |a-b|
1 2 1
1 1.5 0.5
1.25 1.5 0.25
1.375 1.5 0.125
1.375 1.437 5 0.062 5
1.406 25 1.437 5 0.031 25
1.406 25 1.421 875 0.015 625
1.414 625 1.421 875 0.007 812 5
1.414 062 5 1.417 968 75 0.003 906 25
当d=0.005时,按照以上算法,可得下面表和图.
y=x2-2
1
2
1.5
1.375
1.25
于是,开区间(1.4140625,1.41796875)中的实数都是当精确度为0.005时的原方程的近似解.
第一步:计算1+2,得3;
第二步:将第一步结果3+3,得6;
第三步:将第二步结果6+4,得10;
第四步:将第三步结果10+5,得15;
第五步:将第四步结果15+6,得21;
第六步:将第五步结果21+7,得28.
解法2.
1+2+3+…+n=n(n+1)/2
解法1.
按照逐一相加的程序进行.
---------------------------------------------------
用公式运算
请你设计出求1+2+3+4+5+6+7的算法.
归纳小结
课外作业
本节课学习的主要内容:
1.算法的概念:按照一定规则解决某一类问题的明确和有限的步骤称为算法.
2.算法的特点:有限性、确定性、顺序性、可行性、不唯一性、普遍性。
3.能写出简单的算法。
课本第5页练习1,2(共26张PPT)
温故知新
1.我们学习了哪些算法语句?它们的形式分别是什么?
(1)输入语句: INPUT “提示内容”;变量
(2)输出语句: PRINT “提示内容”;表达式
(3)赋值语句:变量=表达式
(4) 条件语句:
①IF—THEN语句 :
IF 条件 THEN
语句体
END IF
满足条件
步骤A
否
是
②IF—THEN—ELSE语句:
IF 条件 THEN
语句体1
ELSE
语句体2
END IF
步骤A
满足条件
步骤B
是
否
(2)循环结构的两种形式:
(1)循环结构的定义: 在一些算法中,从某处开始,按照
一定条件,反复执行某一处理步骤的情况,这就是循环结
构。反复执行的处理步骤称为循环体。
2.循环结构的定义及两种基本形式分别是什么?
循环体
满足条件
是
否
直到型循环结构
循环体
满足条件
是
否
当型循环结构
先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件成立退出循环。
先判断指定的条件是否为成立,若条件成立,执行循环体,条件为不成立时退出循环。
先执行 后判断
先判断 后执行
进一步思考:两种循环结构有什么差别?
循环体
满足条件?
是
否
当型循环结构
是
循环体
满足条件?
否
直到型循环结构
DO
循环体
LOOP UNTIL 条件
1.UNTIL语句:
也叫“后测试型”循环
循环体
满足条件?
否
是
计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOP UNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句。
三.循环语句
注:DO——做什么
LOOP UNTIL——直到达到某种条件为止
WHILE 条件
循环体
WEND
2.WHILE语句:
当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.
也叫“前测试型”循环
循环体
满足条件?
是
否
While(当型)循环
注:WHILE——当……时候
WEND——循环结束
通过对照, WHILE型语句与UNTIL型语句之间有什么区别呢?
区别:在WHILE语句中,是当条件满足时执行循环
体,而在UNTIL语句中,是当条件不满足时执行循环
体。
WHILE语句的一般格式
WHILE 条件
循环体
WEND
UNTIL语句的一般格式
DO
循环体
LOOP UNTIL 条件
诱思探究
编写计算机程序计算1+2+…+100的值
i<=100
i=1
开始
输出s
结束
否
是
s=0
i=i+1
s=s+i
i=1
s=0
WHILE i<=100
s=s+i
i=i+1
WEND
PRINT s
END
程序框图
诱思探究2
解:法一(WHILE语句)
i=1
s=0
DO
s=s+i
i=i+1
LOOP UNTIL i>100
PRINT s
END
i=1
开始
结束
s=0
输出s
i=i+1
s=s+i
i>100
否
是
程序框图:
解:法二(UNITL语句)
编写计算机程序计算1+2+…+100的值
写出函数y=x3+3x2-24x+30,连续输入自变量的11个取值,输出相应的函数值的程序.
开 始
输入 x
输出 y
结 束
y=x3+3x2-24x+30
n = 1
n>11
n = n+1
否
是
n=1
DO
INPUT “x=”; x
y=x^3+3*x^2-24*x+30
PRINT y
n=n+1
LOOP UNTIL
n>11
END
例题剖析
练习:1.设计一个算法框图:求满足1+2 + 3 + … + n>10000的最小正整数n,并写出相应的程序。
结束
输出i
i=0,S=0
开始
i = i + 1
S=S+i
S>10000
否
是
i = 0
s= 0
DO
i = i + 1
s= s + i
LOOP UNTIL s>10000
PRINT i
END
2.分析下边所给出程序:当x=10时,结果是多少?
i=1
S=0
WHILE i<=4
S=S*x+1
i=i+1
WEND
PRINT S
END
S=1111
3.下面为一个求20个数的平均数的程序,在横线上填充的语句
i>20
S=0
i=1
DO
INPUT x
S=S+x
i=i+1
LOOP UNTIL______
a=s/20
PRINT a
END
4.已知两程序:
则 ①②程序运行输出的结果分别是( )
(A) 7,7 (B) 6,6 (C) 6,7 (D) 7,6
i=0
s=0
WHILE s<=20
s=s+i
i=i+1
WEND
PRINT i
END
i=0
s=0
WHILE s<=20
i=i+1
s=s+i
WEND
PRINT i
END
②
①当s=1+2+3+4+5=15<20时,执行s=15+6,i=6+1退出,i=7
②当s=1+2+3+4+5=15<20时,执行i=5+1,s=15+6退出,i=6,
故选D
①
D
WHILE 条件
循环体
WEND
DO
循环体
LOOP UNTIL 条件
课堂小结
循环体
满足条件?
否
是
循环体
满足条件?
是
否
两种形式循环语句:
1.UNTIL语句
2.WHILE语句
课外作业
《阳光课堂》对应练习课时训练(五)1~8