课件5张PPT。第一章 算法初步1.1 算法与程序框图归纳它的步骤:第一步: ②-①×2,得
5y=3 ③ 1.1.1 算法的概念1.算法的概念: 在数学中,现代意义上的”算法“通常是指可以
用计算机来解决的某一类问题的程序或步骤,这
些程序或步骤必须是明确和有效的,而且能够在
有限之内完成。2.算法的特点:(1) 有限性(2)确定性(3) 不唯一性例1 任意给定一个大于1的整数,试设一个程序或步骤对是否为质数n做出判定。例题分析例2 用二分法设计一个求方程 X2-2=0 的
近似根的算法。练习:1. 写出求 1+2+3+4+5+6 的一个算法课件5张PPT。(1)程序框图的概念:1.程序框图(2)构成程序框图的图形符号及其作用(3)画流程图的规则 程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。2.算法的三种基本逻辑结构及其框图表示(1)顺序结构(2)条件结构(3)循环结构 例1 已知一个三角形的三边长分别为2、3、4,利用海伦—秦九韶公式设计一个算法,求出它的面积,画出程序框图。输出S例2 任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.输入a,b,ca+b>c,a+c>b,
b+c>a是否同时成立?存在这样的三角形不存在这样的三角形例3 设计一个1+2+…+100的值的算法,并画出程序框图。i≤100? 输出sum课件6张PPT。§1.1.2 程序框图11、程序框图:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。三种基本的逻辑结构:1例题例1、已知一个三角形的三边长分别为2、3、4,利用海伦---秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图。1例题例2、任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图。1例题例3、设计一个计算1+2+3+…+100的值的算法,并画出程序框图。1练习1课件10张PPT。
一、条件语句作用: 用来实现算法条件结构的功能。格式一:1.2.2条件语句满足条件?是否步骤IF 条件 THEN
语句体
END IF满足条件?是否格式二:步骤二步骤一IF 条件 THEN
语句体1
ELSE
语句体2
END IF
二、条件语句的应用实例例5、编写程序,输入一个一元二次方程 ax^2+bx+c=0的系数,输出它的实数根。算法分析:开始输入a,b,cΔ=b-4acp= -b/(2a)q=SQR( Δ)/(2a)x1=p+q
x2=p -qΔ≥0x1=x2?原方程有两个不等
的实数根x1、x2原方程有两个相等
的实数根x1、x2原方程无实数根结束是否是否求一元二次方程实数根INPUT “a,b,c=“;a,b,c
d=b*b-4*a*c
IF d>=0 THEN
p=-b/(2*a)
q=SQR(d)/(2*a)
IF d=0 THEN
PRINT “One real root:”;p
ELSE
x1=p+q
x2=p-q
PRINT “Two real roots:”;x1,x2
END IF
ELSE
PRINT “No real root.”
END IF
END
二、条件语句的应用实例例6、编写程序,使得任意输入的3个整数按从大到小的顺序输出。算法分析:(设a》b》c)第一步:输入3个整数a,b,c。第二步:将a与b比较,并把小的赋给b,大的赋给a。第三步:将a与c比较,并把小的赋给c,大的赋给a,此时a已是三个当中最大的。第四步:将b与c比较,并把小的赋给c,大的赋给b,此时a,b,c已按从小到大的顺序排列好。第五步:按顺序输出a,b,c。INPUT “a,b,c=“;a,b,cIF b>a THENt=aa=bb=tEND IFIF c>a THENt=aa=cc=tEND IFIF c>b THENt=bb=cc=tEND IFPRINT a,b,cEND 开始t=a,a=b,b=tt=a,a=c,c=tt=b,b=c,c=t输入a,b,c输入a,b,cb>a?c>a?c>b?结束是是否否是否返回三、课后练习1:p.29练习第一题程序程序:
INPUT “a,b,c=“;a,b,c
IF a+b>c AND a+c>b AND b+c>a THEN
PRINT “YES“
ELSE
PRINT “NO”
END IF
END返回三、课后练习3:p.29练习第三题程序程序:
INPUT “Please input an integer:“;a
IF a MOD 2=0 THEN
PRINT “偶数“
ELSE
PRINT ”奇数“
END IF
END返回三、课后练习4:INPUT “Please input a year:“;y
b=y MOD 4
c=y MOD 100
d=y MOD 400
IF b=0 AND C<>0 THEN
PRINT “闰年“
ELSE
IF d=0 THEN
PRINT “闰年“
ELSE
PRINT ”不是闰年“
END IF
END IF
END课件9张PPT。 1、3 算 法 案 例1、求两个数的最大公约数的两种方法分别是( )和( )。
2、两个数21672,8127的最大公约数是 ( )
A、2709 B、2606 C、2703 D、2706案例2、秦九韶算法秦九韶算法是求一元多项式的值的一种方法。问题怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?算法一:把5代入,计算各项的值,然后把它们加起来。共做了1+2+3+4=10次乘法运算,5次加法运算。算法二:先计算x2的值,然后依次计算x2·x、( x2·x)·x、( ( x2·x)·x)·x的值。共做了4次乘法运算,5次加法运算。 把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如下形式:秦九韶算法第一步:计算最内层anx+an-1的值,将anx+an-1的值赋给一个变量v1(为方便将an赋给变量v0);
第二步:计算(anx+an-1)x+an-2的值,可以改写为v1x+an-2,将v1x+an-2的值赋给一个变量v2;
依次类推,即每一步的计算之后都赋予一个新值vk,即从最内层的括号到最外层的括号的值依次赋予变量v1,v2,…,vn.第n步所求值vn=vn-1x+a0即为所求多项式的值。例1、已知一个5次多项式为
f(x)=5x5+2x4+3.5x3-2.6x2+1.7x-0.8
用秦九韶算法求这个多项式当x=5时的值。
特点:通过一次式的反复计算,逐步得出高次多项式的值,对于一个n次多项式,只需做n次乘法和n次加法即可。程序框图:这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现。练习、已知多项式
f(x)=x5+5x4+10x3+10x2+5x+1
用秦九韶算法求这个多项式当x=-2时的值。
课件4张PPT。1.3 算法案例排序第一步:将序列中的第一个元素作为排序后的有序序列中的第一个元素.直接插入排序第二步:将序列中的下一个元素与有序序列中的最后一个元素进行比较,如果该元素小于最后一个元素,则在该序列中查找该元素应该插入的位置,然后将其插入到正确的位置;如果大于该有序序列中的最后一个元素,则直接将其作为有序序列的最后一个元素.第三步:反复执行第二步,直到将列中剩余元素全部插入到有序子序列中为止.冒泡排序第一步:用第1个数与第2个数比较,若第1个数小,则两数不变,否则就调整两个数的位置.第二步:按同样的原则,比较第2个数与第3个数,若第2个数大于第3个数,则调整两个数的位置,否则不变,直到比较完最后两个数为止.这一过程称作“一趟”排序.第三步:如前一趟比较中交换次数为0,则排序已完成,否则回到第一步,再进行排序,这样一趟一趟地排,直到有一趟交换的次数为0,则排序完成.例3、用冒泡法对数据7,5,3,9,1从小到大进行排序.课件4张PPT。1.3 算法案例案例1 辗转相除法与更相减损术 已学过求两个正整数的最大公约数
的方法?1.辗转相除法(欧几里得算法)例1 用辗转相除法求 8251 与 6105 的
最大公约数.
思考辗转相除法的基本步骤: 用较大的数(用变量m表示)除以较小的数(用变量n表示),得到除式
m=nq+r
2.更相减损术例2 用更相减损术求 98 与 63 的
最大公约数.98-63=35
63-35=28
35-28=7
28-7=21
21-7=14
14-7=7所以, 98 和 63 的最大公约数等于7.课件12张PPT。自然语言 流程图 程序语言 计算机实现 大致细化程序是算法的精确形式,是计算机可以理解的语言。我们学习的目的不是为了上机,而是为了更准确地理解算法及其思想。1、2 基本算法语句程序设计语言有很多种,较为通用的有:BASIC,C,C++,COBOL.DELPHI等等。
但是各种程序设计语言中都包含下列基本的算法语句,并且形式是类似的。有:输入语句,输出语句,赋值语句,
条件语句,循环语句。BASIC语言简单、易学,我们使用类似BASIC
的语句形式和规则来学习。1. 输入语句和输出语句分别用来实现算法的输入信息、输出信息结果的功能。2.赋值语句就是将表达式所代表的值赋给变量。1、2、1 输入、输出语句和赋值语句 输入语句:INPUT “提示内容”;变量输出语句:PRINT “提示内容”;表达式赋值语句: 变量=表达式一般格式:提示内容一般是提示用
户输入怎样的信息,可省略“=”叫做赋值号,有计算功能表达式可以是变量,计算公式
系统信息,有计算功能。例1、用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量与函数的一组对应值。编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值。步骤:
算法分析->程序框图->写程序INPUT “x=”;x
Y=x^3+3*x^2-24*x+30
PRINT y
END加、减、乘、除、乘方如何表示? 例2、编写程序,计算一个学生数学、语文、英文三门课的平均成绩。程序:
INPUT “Maths=”; a
INPUT “Chinese=”; b
INPUT “English=”; c
PRINT “The average=”; (a+b+c)/3
END 例3、给一个变量重复赋值。程序:A=10
A=A+15
PRINT A
END问:A的输出值是多少? INPUT A,B
PRINT A,B
X=A
A=B
B=X
PRINT A,B
END例4、交换两个变量A和B的值,
并输出交换前后的值。程序:思考:X的作用是什么?
练习:
P24 1 , 2 小结:
1、三种语句的格式分别是什么?
2、加、减、乘、除、乘方、根号
如何表示? 作业:
P24 3 , 4
第三题提示:
根号用“SQR(…)”表示课件5张PPT。1、3 算法案例
—进位制案例4:进位制 进位制是人们为了计数和运算方便而约定的计数系统,约定满二进一,就是二进制;满十进一,就是十进制;满十二进一,就是十二进制;等等。也就是说,“满几进一”就是几进制,几进制的基数就是几。 十进制使用0~9十个数字。十进制的数可表示成不同位上数字与基数的幂的乘积之和的形式。如:3712=3×103+7×102+1×101+2×100二进制用0和1两个数字,七进制用0~6七个数字。等等。 一般地,若k是一个大于1的整数,那么以k为基数的进制数可以表示为一串数字连写在一起的形式 其他进制的数也可表示成不同位上数字与基数的幂的乘积之和的形式。如:
110011(2)=1×25+1×24+0×23+0 × 22+1×21+1例题:
1、把二进制数110011(2)化为十进制数。2、把89化为二进制数。(除二取余法)3、把89化为五进制数。除k取余法练习:
完成下列进位制之间的转化:
(1)10231(4)= (10);
(2)235(7)= (10);
(3)137(10)= (6);
(4)1231(5)= (7);
(5)213(4)= (3);
(6)1010111(2)= (4)。课件47张PPT。算法的教学法处理华南师范大学 数学系 吴跃忠
2019-3-121前言:算法解读
一、解题步骤与算法
1. 两种不同的解题方法
2.算法的基本性质
二、算法的要素与结构
1.三个不同的例子
2.算法的要素
三、伪代码
1.赋值语句
2.输入、输出语句
3.条件语句
4.循环语句
四、算法小结
2019-3-121前言:算法的教育价值1.有利于培养学生的思维能力
算法一方面具有具体化、程序化、机械化的特点,同时又有高度抽象性、概括性和精确性.对于一个具体算法而言,从算法分析到算法语言的实现,任何一个疏漏或错误都将导致算法的失败.算法是思维的条理化、逻辑化!算法所体现出来的逻辑化特点被有些学者看成是逻辑学继形式逻辑和数理逻辑之后逻辑学发展的第三个阶段.因此, 培养逻辑思维能力, 不仅可以通过平面几何的论证, 代数运算的严密演绎等手段进行培养, 还可以通过算法设计的学习来达到.
2019-3-1212.有利于培养学生理性精神和实践能力算法既重视“算则”,更重视“算理”.对于算法而言,一步一步的程序化步骤,即“算则”固然重要,但这些步骤的依据,即“算理”有着更基本的作用,“算理”是“算则”的基础,“算则”是“算理”的表现.
算法思想可以有很丰富的层次递进的素材,应该贯穿于整个中学数学内容之中. 由于算法的具体实现可以和信息技术相联系,因而,算法有利于培养学生理性精神和实践能力,也是实施探究性学习的良好素材.2019-3-1213.有利于学生理解构造性数学算法是一般意义上解决问题策略的具体化,即有限递归构造和有限非递归构造,这两点也恰恰构成了算法的核心(如下图所示).
?
?
?
构造性地解决数学问题不仅是重要的解决数学问题的方法,在数学哲学上也有着重要的意义.构造性数学是一个重要的数学哲学学派, 他们只承认能够构造出来的数学.这种观念有其特定的真理性. 当然排斥了许多无限推理的数学, 也具有局限性. 有限递归构造
有限非递归构造 输入输出2019-3-1214.算法内容反映了时代的特点,同时也是中国数学课程内容的新特色
中国古代数学以算法为主要特征,取得了举世公认的伟大成就.现代信息技术的发展使算法重新换发了前所未有的生机和活力,算法进入中学数学课程,既反映了时代的要求,也是中国古代数学思想在一个新的层次上复兴,毫无疑问,也就成为中国数学课程的一个新的特色.我国吴文俊在继承中国传统数学的算法特征的基础上, 创造性地发展了机器证明, 于2000年获得国家科学最高奖. 这是将我国传统特色与信息技术创造性结合的典范. 2019-3-121二、设置算法的依据 1.计算机与算法
在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具.听音乐、看电影、玩游戏、画卡通画、处理数据…计算机几乎可以是一个全能的助手,你可以用它来做你想做的任何事情.那么,计算机是怎样工作呢?要想弄清楚这个问题,就需要学习算法. 2019-3-1212.算法小史(1)人类最早关于算法的记录是在两河流域发现的公元前两三千年的黏土板,其中的一个典型例子就是计算利息何时能够等于本金.
(2)算法早期发展中一个成果应归功于古希腊的欧几里德,他提出的计算最大公约数的辗转相除法(又称欧几里德算法)
(3)用我国传统的开方术求高次方程的近似根, 是算法上的一大成就.
(4) 在社会上得到广泛使用的珠算口诀就可以看作是典型的算法,它把复杂的计算(例如除法)描述为一系列按口诀执行的简单的算珠拨动操作, 口诀就是算法. 2019-3-121(5)文艺复兴以后,随着近代数学的开拓和蓬勃发展,算法研究也取得了许多成果.人们研究了许多数学问题的计算过程,提出了许多算法.但是,稍微复杂一点的算法,如果由人(即使借助于某些计算工具)来做,就可能耗费成年累月的时间.如果没有自动化计算工具的出现,复杂的计算过程实际上是无法完成的. 2019-3-121(6)现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.比如,我们非常熟悉的带余除法、解线性方程组的消元法等,都是算法. 2019-3-1213.中国数学的特点其中最具代表性的就是《九章算术》.《九章算术》是战国、秦、汉封建社会创立并巩固时期数学发展的总结,就其数学成就来说,堪称是世界数学名著.其内容按类分章,以数学问题的形式出现,包括分数四则运算、开平方与开立方(包括二次方程数值解法)、盈不足术、各种面积和体积公式、线性方程组解法、正负数运算的加减法则、勾股形解法(特别是勾股定理和求勾股数的方法)等.其中方程组解法和正负数加减法则在世界数学发展史上是遥遥领先的.就其特点来说,它形成了一个以筹算为中心、与古希腊数学完全不同的独立体系. 2019-3-121在随后11~14世纪约300年期间著名的数学家的数学著作,如贾宪的《黄帝九章算法细草》,刘益的《议古根源》,秦九韶的《数书九章》,李冶的《测圆海镜》和《益古演段》,杨辉的《详解九章算法》《日用算法》和《杨辉算法》中,其中包括发展了一套求高次方程近似根的方法, 算法的特点得到了进一步的强化和发展.
2019-3-121一、解题步骤与算法1. 两种不同的解题方法
例1.求和1+2+3+4
解法一:逐步求和.
第一步:计算1+2,得到3;
第二步:计算3+3,得到6;
第三步:计算6+4,得到10.
2019-3-121解法二:根据计算公式
第一步:取 ;
第二步:计算 ;
第三步:得出结果10.
2019-3-121例2.求 .
解:设数列 ,
解法一:选代法
第一步:设 ,计算 ,
得 ;
2019-3-121第二步:代入 ,计算 ,
得 ;
第三步:代入 ,计算 ,
得 ,约等于: ;
2019-3-121第四步:代入 ,计算 ,
得 , 约等于:
(注: 约等于:
)
等等,以至无穷步.
可以逐步逼近 ,得到任意的精确值,
这个求值的过程是无限的.2019-3-121解法二:求极限第一步:令 ,
(则 );
第二步:对于 两边取极限,
即: .
2019-3-121第三步:解方程: 第四步:给出方程的解: 注:这种解法并没有给出 的值. 2019-3-1212.算法的基本性质 例1的两个解答过程,就是算法.可观察到如下的性质:
有穷的步骤(例1和例2的差异主要是在于例1的步骤是有穷的,例2的步骤是无穷的).
存在初始步;
每一步都跟着一个后继步;
最后一步,有解答或无解答.
2019-3-121 一般书上归纳算法的基本性质有四条:
A.有穷性;
B. 唯一的初始动作;
C.每个动作都有唯一的后继动作;
D.动作序列终止时,表示问题得到解答或没有解答.
2019-3-121二、?????? 算法的要素与结构1.1.三个不同的例子 例3.用框图表述例1的算法.
2019-3-121 2019-3-121例4.给出一元二次方程的一个算法,并用流程图形表示 .2019-3-121 2019-3-121例5.写出计算下式的流程图:2019-3-1212019-3-1212.算法的要素(1)????????? 操作(2)????????? 控制结构 3.基本结构(1)顺序结构(2)选择结构(3)循环结构2019-3-121三、?????? 伪代码 1.赋值语句
例6.写出
求多项式
的算法.
2019-3-121解:算法一2019-3-121算法二 2019-3-1212.输入、输出语句 例7.写出方程组
一个算法. 2019-3-1212019-3-121伪代码写法:Input
Print 2019-3-1213.条件语句 例8.写出函数
的算法.2019-3-121解:(1)用条件语表示:Input
If then
Else if then
Else
2019-3-121(2)用流程图表示: 2019-3-1214.循环语句For I from “初值”to“终值”step“步长”… End for. 例9.设计计算
的一个算法.
2019-3-121解: (1)算法步骤
S1 ;
S2 ;
S3 ;
S4 ;
S5 如果 ,那么转S3;
S6 输出 .
2019-3-1212019-3-121(3)????????? 用循环语句
For I from 3 to 99 step 2
End for
Print
End for
Print
End for
Print
End for
Print
End for
Print
2019-3-121 例10.设计计算
的一个算法.
2019-3-121(1)??????????? 算法步骤S1 ;
S2 ;
S3
;
S4 输出 .
2019-3-121(2)????????? 循环语句2019-3-1212019-3-121五、算法的教学建议(1)在教学中,要注意不要把算法上成算法语言课或程序设计课.
(2)在算法的教学中,应通过实例来说明由数学的算法到计算机使用的算法的过渡过程,从而说明学习算法的必要性,理解算法各个基本内容(结构、框图、语言等)的作用.
(3)如果条件允许,尽可能的让学生上机实现,或模拟上机实现,这是检验学生学习算法的一种方式,也是学生比较感兴趣的部分.
(4)在实例教学的层次(区别于一般理论和方法的层次)上,让学生理解和初步掌握算法的基本思想和操作过程.
2019-3-121(5)在教学中,要体现数学与算法的有机结合,从而使学生理解数学在利用算法解决问题中的作用,理解算法对学习数学提出的要求.
(6)计算机使用的算法的精细和严格有助于培养学生的逻辑思维能力.在教学中,教师要有意识地让学生体会算法的思想,提高他们的逻辑思维能力.2019-3-121课件17张PPT。1.算法的概念复习回顾2.算法的特征新课引入 算法可以用自然语言来描述,但为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表达它. 例如上一节“例1.任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定”的算法可以用以下形式来表达.开始输入ni=2i=i+1i≥n或r=0?n不是质数结束r=0?1否是求n除以i
的余数1n是质数是否 尽管不同的算法千差万别,但它们都是由三种基本的逻辑结构构成的,这三种逻辑结构就是顺序结构、条件结构、循环结构.下面分别介绍这三种结构. 从上面的程序框图中,不难看出以下三种不同的逻辑结构. 程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.讲授新课1.程序框图的概念2.常见的程序框图(ANSI,美国国家标准化协会)流程线连接循环框一、程序框图终端框
(起止框)输入、
输出框处理框
(执行框)判断框表示一个算法的
起始和结束表示一个算法输
入和输出的信息赋值、计算判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”.(1)起止框:框内填写开始、结束,任何程序框图中,起止框是必不可少的;(2)输入、输出框:框内填写输入、输出的字母、符号等;(3)处理框(执行框):算法中需要的算式、 公式、对变量进行赋值等要用执行框表示.(4)判断框:当算法要求在不同的情况下执行不同的运算时,需要判断框.框内填写判断条件.3.四种基本的及其功能用法: 为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则作一简单的介绍.(1)规范使用框图符号.
(2)框图一般按从上到下、从左到右的方向画.
(3)除判断框外,大多数程序框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号.
(4)判断框是“是”与“否”两分支的判断,而且有且仅有两个结果4.画流程图的规则(5)在图形符号内描述的语言要非常简练清楚.(7)一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要的文字说明.(6)起始框只允许一条流出线,终止框只允许一条流入线,输入框、输出框、处理框只有一条流入线和一条流出线,判断框有一条流入线和两条流出线,但任何时候只有一条流出线起作用.二、顺序结构及框图表示1.顺序结构:按照步骤依次执行的一个算法,称为具有“顺序结构”的算法,或者称为算法的顺序结构.语句A语句B2.顺序结构的流程图 顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.它是由若干个处理步骤组成的,这是任何一个算法都离不开的基本结构.3.画顺序结构程序框图时注意事项左图中,A、B依次执行,只有在执行完语句A的操作后,才能接着执行语句B.(1)在程序框图中,开始框和结束框不可少;
(2)在算法过程中,第一步输入语句是必不可少的;
(3)顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤.【例1】已知一个三角形的三边边长分别为a,b,c,用海伦—秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.开始输出S结束开始框处理框输出框结束框输入a,b,c【2】“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何.” 请你设计一个这类问题的通用算法.并画出算法的程序框图.设有X 只鸡,Y 只兔.则解: 鸡兔同笼,设鸡兔总头数为H ,总脚数为F,求鸡兔各有多少只.算法分析如下: 解方程组,得第一步:输入总头数H,
总脚数F;
第二步:计算鸡的个数
x=(4H-F)/2;
第三步:计算兔的个数
y=(F-2H)/2;
第四步:输出 x , y开始输出X,Y结束X=(4H-F)/2Y=(F-2H)/2输入H和F解:用数学语言程序框图第四步:计算 ;【3】试描述求点(x0 , y0)到直线Ax+By+C=0的距离的算法,并画出算法的程序框图.第一步:输入x0,y0,A,B,C;第二步:计算Z1=Ax0+By0+C;第三步:计算Z2=A2+B2;第五步:输出d.解:用数学语言开始输入x0,y0,A,B,CZ1=Ax0+By0+CZ2=A2+B2输出d结束程序框图课堂小结2.现以证明,无论多么复杂的问题,其算法都可表示为这三种基本结构的组合.其结构清晰、易于理解、易于验证其正确性,也易于查错和排错.1.算法的描述
(1)文字描述
(2)程序框图:由于图形的描述方法既形象,又直观,设计者的思路表达得清楚易懂,便于检查修改,所以得到广泛的应用.课件17张PPT。问题:北京获得了2008年第29届奥林匹克运动会主办权.你知道在申办奥运会的最后阶级,国际奥委会是如何通过投票决定主办权归属的吗?用怎样的算法结构表述上面的操作过程?S1: 投票;
S2:统计票数,如果有一个城市得票超过总票数的一半,那么该城市就获得主办权,转S3,否则淘汰得票数最少的城市,转S1;
S3: 宣布主办城市.新课引入开始投票有一个城市
得票数超过总票
数的一半输出该城市结束淘汰得票数
最少的城市YN 在许多算法中,需要对问题的条件作出逻辑判断,判断后依据条件是否成立而进行不同的处理方式,这就需要用条件结构来实现算法.1.条件结构:条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构.它的一般形式是基本形式1一、条件结构及框图表示讲授新课满足条件?语句否是一、条件结构及框图表示满足条件?语句1语句2是否讲授新课基本形式2 基本形式2包含一个判断框,根据给定的条件是否成立而选择执行语句1或语句2,无论条件是否成立,只能执行语句2或语句2之一,不可能执行语句1又执行语句2,也不可能语句1,语句2都不执行.【例1】任意给定3个正实数,设计一个算法,判断分别以这三个数为三边边长的三角形是否存在.画出这个算法的程序框图.a+b>c,a+c>b,
b+c>a是否
同时成立?开始存在这样
的三角形结束不存在这样
的三角形否是输入a,b,c【例2】闰年是指年份能被4整除但不能被100整除,或者能被400整除的年份.编写一个程序,判断输入的年份是否为闰年.开始结束年份 n否是是否闰年不是闰年闰年11开始输入xx≥0?否是输出x输出-x结束课堂练习【1】设计一个求任意数的绝对值的算法,并画出程序框图.第一步:输入x;
第二步:如果x ≥0,则lxl=x ;否则,lxl=-x;
第三步:输出lxl.开始输入xx≥0?NY输出|x|结束|x|=x|x|=-x【1】设计一个求任意数的绝对值的算法,并画出程序框图.开始输入xX>3?否是结束y=5+1.2(x-3)输出yy=5【2】卫生费:计费方法:3人和3人以下,每户收5元;超过3人的住户,每超过1人加收1.2元,设计一个算法,根据输入的人数,计算应收的卫生费,并画出程序框图.P.12A3开始输出min结束min=a输入a,b,cb求解信息YN【4】画出用公式法解二元一次方程组 的算法的程序框图.开始D=a1b2-a2b1输入a1,b1,
c1a2,b2,c211开始y=1结束输入xX≤100?否是X≤5000?X≤100000?y=x×1%y=50是是否否【5】观察所给程序框图,说出它所表示的函数.【1】学习优秀奖的条件如下:(1)所考五门课成绩总分超过450分;
(2)每门课都在88分以上;
(3)前三门(主课)每门成绩都在95分以上,其它两门(非主课)成绩都在80分以上. 输入某学生的五门课成绩,问他是否够优秀条件?画出程序框图.备课资料开始sum=a+b+c+d+e输入学
生成绩
a,b,c,d,eYN输出够优秀条件Sum≥450?a≥95?b≥95?c≥95?d≥88?e≥88?结束输出不够
优秀条件NNNNNYYYYY11开始结束输入票价xX≤10?否是X≤2?y=0y=x-2是否【2】学案P.44输出y备课资料开始结束输入票价xX≤10?否是X≤2?y=0y=x-2是否学案P.44输出y是否课件22张PPT。设计一算法,求和:1+2+3+ … +100.第一步:确定首数a,尾数b,项数n;第二步:利用公式“总和=(首数+尾数)×项数/2”求和;第三步:输出求和结果.算法1:新课引入算法2:第一步:从1开始将自然数1,2,3,…,100逐个相加;第二步:输出累加结果.1.上边的式子有怎样的规律呢?2.怎么用程序框图表示呢?Sum=Sum + i设计一算法,求和:1+2+3+ … +100.Sum=0
Sum=Sum + 1
Sum=Sum + 2
Sum=Sum + 3
…
Sum=Sum + 100思考: 在一些算法中,经常会出现从某处开始,反复执行某一处理步骤,这就是循环结构.1.循环结构的概念 循环结构是指在算法中从某处开始,按照一定的条件反复执行某一处理步骤的结构.在科学计算中,有许多有规律的重复计算,如累加求和、累乘求积等问题要用到循环结构.三、循环结构及框图表示讲授新课当型循环结构满足条件?循环体YN 当型循环结构在每次执行循环体前对控制循环条件进行判断,当条件满足时执行循环体,不满足则停止.2.循环结构的算法流程图直到型循环结构条件语句AYN 直到型循环执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止.3.循环结构的设计步骤(1)确定循环结构的循环变量和初始条件;
(2)确定算法中需要反复执行的部分,即循环体;
(3)确定循环的终止条件.4.循环结构的三要素循环变量,循环体、循环的终止条件.例1.设计一个计算1+2+3+…+100的程序框图.开始i≤100?否是输出sum结束i=1Sum=0i=i+1Sum=sum+i例1.设计一个计算1+2+3+…+100的程序框图.开始i >100?否是输出sum结束i=1Sum=0Sum=sum+ii=i+11.画出求mul=1×2×3×…×100问题的程序框图.第一步:设i=1,mul =1;第二步:如果i≤100执行第三步,否则执行第五步;第三步:计算mul×i并将结果代替mul;第四步:将i+1代替i,转去执行第二步;第五步:输出mul.课堂练习开始i >n?否是输出mul结束Mul=1i=1i=i+1mul=mul×i开始i≤100?否是输出sum结束i=1Sum=0i=i+1Sum=sum+i2作业P.12A22.设计一个计算12+22+32+…+1002的一个程序框图.开始结束输入rir ≥ 6.8?否是i=1i=i+1i>9?否是输出riP.12B1课堂练习开始结束输入rr≥6.8?否是n=1n=n+1n≤9?输出r是否P.12B1例3.某工厂2004年的生产总值为200万元,技术革新后预计以后每年的生产总值比上一年增加5%,问最早需要哪一年年生产总值超过300万元.写出计算的一个算法,并画出相应的程序框图.第一步:n=0,a=200,r=0.05;第二步:T=ar(计算年增量);第三步:a=a+T(计算年产值);第四步:如果a≤300,那么n=n+1 n=n+1,重复执行第二步; 第五步:N=2004+n;第六步:输出N.开始a≤300?否是输出N结束n=0a=200r=0.05n=n+1a=a+TT=ar11N=2004+n算法如下:第一步:P=0;第二步:i=1;第三步:t=0;第四步:p=p+i;第五步:t=t+1;第六步:i=i+t.第七步:如果i不大于46,返回重新执行第四、五、六步;否则,跳出循环结束程序.例4.设计一个求1+2+4+7+…+46的算法,并画出相应的程序框图.开始i >46?否是输出p结束P=0i=1t=0p=p+it=t+1i=i+t11课堂小结小结1.循环结构的特点2.循环结构的框图表示3.循环结构有注意的问题避免死循环的出现,设置好进入(结束)循环体的条件.当型和直到型重复同一个处理过程4.用流程图设计算法的经验 流程图是任何程序设计的基础,一般应注意以下的几点:(1)任何的实际问题都有一个数学模型--解决的步骤,这是设计流程图的关键所在;
(2)流程图必须采用国家标准的图形符号来描述,箭头的流向一定要准确;
(3)算法结构应简单明了,总体上是一个顺序结构;有判断的出现分支结构;需多次执行某一个过程的采用循环结构.课堂作业课本P.2 2
预习1.1.2程序框图再见2005年2月16日祝同学们学习进步
山东省临沂一中 李福国 山东省临沂一中 李福国自然语言 流程图 程序语言 计算机实现 大致细化课件12张PPT。满足条件?循环体YN当型循环结构直到型循环结构自然语言 流程图 程序语言 计算机实现 大致细化开始输入xX>3?否是结束y=5+1.2(x-3)输出yy=5【2】卫生费:计费方法:3人和3人以下,每户收5元;超过3人的住户,每超过1人加收1.2元,设计一个算法,根据输入的人数,计算应收的卫生费,并画出程序框图.开始i≤100?否是输出sum结束i=1Sum=0i=i+1Sum=sum+i22.设计一个计算12+22+32+…+1002的一个程序框图.开始结束输入riri ≥ 6.8?否是i=1i=i+1i>9?否是输出riP.22B2例3.某工厂2004年的生产总值为200万元,技术革新后预计以后每年的生产总值比上一年增加5%,问最早需要哪一年年生产总值超过300万元.写出计算的一个算法,并画出相应的程序框图.第一步:n=0,a=200,r=0.05;第三步:T=ar(计算年增量);第四步:a=a+T(计算年产值);第二步:如果a<=300,那么n=n+1,否则执行第五步。 第五步:N=2004+n;第六步:输出N.开始a≤300?否是输出N结束n=0a=200r=0.05n=n+1a=a+TT=ar11N=2004+n第四步:计算 ;【2】试描述求点(x0 , y0)到直线Ax+By+C=0的距离的算法,并画出算法的程序框图.第一步:输入x0,y0,A,B,C;第二步:计算Z1=Ax0+By0+C;第三步:计算Z2=A2+B2;第五步:输出d.解:用数学语言开始输入x0,y0,A,B,CZ1=Ax0+By0+CZ2=A2+B2输出d结束程序框图开始输出min结束min=a输入a,b,cb第二步:如果x ≥0,则lxl=x ;否则,lxl=-x;
第三步:输出lxl.