新课程苏教版必修3第一章《算法初步》全部教案及课件素材

资源下载
  1. 二一教育资源

新课程苏教版必修3第一章《算法初步》全部教案及课件素材

资源简介

课件20张PPT。程序框图的循环结构知识回忆1、程序框图的概念2、程序框图的图示和意义3、顺序结构、选择结构的特点4、作业分析问题1:写出1+2+3+4+5的一个算法 第一步:s=0;
第二步:s=s+1;
第三步:s=s+2;
第四步:s=s+3;
第五步:s=s+4;
第六步:s=s+5
第七步:输出s.1+2+3+4+5 在1的基础上加2
= 3 +3+4+5 先计算1+2,得计
算结果3
= 6 +4+5 在计算结果3的基础
上再加3,得计算结
果6
= 10 +5 再在上述计算结果6
上加4,得计算结果
10
=15 思考:上边的式子有怎样的规律呢?引进一个计数变量,通过循环结构实现程序简单化 S1 s←0
S2 i←1
S3 s←s+i
S4 i←i+1
S5 如果i不大于5,则返回执行S3 ,S4 ;i
如果大于5,则算法结束。
S6 输出s 解决方法就是加上一个判断,判断是否已经加到了5,如果加到了则退出,否则继续加。试分析两种流程的异同点直到型结构当型结构i<5?i≥5?请填上判断的条件。最后的结果 思考:将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改? 答:达不到预期结果;当i = 5时,退出循环,i的值未能加入到S中;修改的方法是将判断条件改为i<6数学理论 循环结构:在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这种结构称为循环结构. 循环体:反复执行的处理步骤称为循环体.
计数变量:在循环结构中,通常都有一个起到循环计数作用的变量,这个变量的取值一般都含在执行或终止循环体的条件中.
当型循环:在每次执行循环体前对控制循环条件进行判断,当条件满足时执行循环体,不满足则停止.
直到型循环:在执行了一次循环体之后,对控制循环体进行判断,当条件不满足时执行循环体,满足则停止.当型循环与直到循环的区别: ①当型循环可以不执行循环体,直到循环至少执行一次循环体.
②当型循环先判断后执行,直到型循环先执行后判断.
③对同一算法来说,当型循环和直到循环的条件互为反条件. 选择结构与循环结构的区别选择结构通过判断分支,只是执行一次;循环结构通过条件判断可以反复执行.例1.写出求1×2×3×4×5的一个算法.算法1:
S1 先算T←1×2
S2 T←T×3
S3 T←T×4
S4 T←T×5
S5 输出T试画出算法1的流程图.该算法为何结构?算法2:
S1 T←1
S2 I←2
S3 T←T×I
S4 I←I+1
S5 如果I不大于5,返回S3,否则输出T.算法2流程图:开始S←1I←2T←T×II←I+1I>5输出TYN延伸、设计一个计算1,2,3,﹍,10的平均数的算法.分析:先设计一个循环依次输入1-10,再用一个变量存放这些数的累加和,最后除以10。例2 设计一个计算10个数的平均数的算法.解:S1 S←0 把0赋值给变量S;
S2 I←1 把1赋值给变量I;
S3 输入G 输入一个数;
S4 S←S+G 把S+G赋值给变量S;
S5 I←I+1 把I+1赋值给变量I;
S6 如果I不大于10,转S3 转到S3循环;
S7 A←S /10 把A/10存放到A中;
S8 输出A北京取得2008奥运会主办权。国际奥委会对遴选出的五个城市进行投票表决的操作程序:首先进行第一轮投票,如果有一个城市得票超过一半,那么这个城市取得主办权;如果没有一个城市得票超过一半,那么将其中得票最少的城市淘汰,然后重复上述过程,直到选出一个城市为止。你能利用算法语言叙述上述过程吗? 奥运会主办权投票过程的算法结构:S1 投票;
S2 计票。如果有一个城市得票超过一半,那么这个城市取得主办权,进入S3;否则淘汰得票数最少的城市,转入S1;
S3 宣布主办城市。选出该城市投票有一城市过半票?开始淘汰得票最少者结束奥运会主办权投票表决流程图yn小结1.本节课主要讲述了算法的循环结构。算法的基本逻辑结构有三种,即顺序结构、条件结构和循环结构。其中顺序结构是最简单的结构,也是最基本的结构,循环结构必然包含条件结构,所以这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过这三种结构来表达 。
2.循环结构要在某个条件下终止循环,这就需要条件结构来判断。因此,循环结构中一定包含条件结构,但不允许“死循环”。小结3.在循环结构中都有一个计数变量和累加变量。计数变量用于记录循环次数,累加变量用于输出结果。计数变量和累加变量一般是同步执行的,累加一次,计数一次。
4.画循环结构程序框图前:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的转向位置;④确定循环的终止条件.§1.1 第1课时 算法的含义
教学目标:1.通过实例体会算法思想,了解算法的含义与主要特点;
2.能按步骤用自然语言写出简单问题的算法过程学;
3.培养学生逻辑思维能力与表达能力.
教学重点:将问题的解决过程用自然语言表示为算法过程.
教学难点:用自然语言描述算法.
教学过程
一.序言
算法不仅是数学及其应用的重要组成部分,也是计算机理论和技术的核心.在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机几乎渗透到了人们生活的所有领域.那么,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.同时,算法有利于发展有条理的思考与表达的能力,提高逻辑思维能力.
在以前的学习中,虽然没有出现算法这个名词,但实际上在数学教学中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步骤等等,完成这些工作都需要一系列程序化的步骤,这就是算法的思想.
阅读教材第4页.
二.问题情境
1.情境:介绍猜数游戏(见教材第5页).
2.问题:解决这一问题有哪些策略,哪一种较好?
三.学生活动
学生容易说出“二分法策略”,教师要引导学生进行算法化(按步骤)的表达.
说明:以上过程实际上是按一种机械的程序进行的一系列操作.
四.建构数学
在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.
1.广义的算法——某一工作的方法和步骤,例如:歌谱是一首歌曲的算法,空调说明书是空调使用的算法.
在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序.
2.本章主要讨论的算法(计算机能够实现的算法)——对一类问题的机械的、统一的求解方法.例如:解方程(组)的算法,函数求值的算法,作图问题的算法等.
3.本节采用自然语言来描述算法.
五.数学运用
1.算法描述举例
例1.给出求1+2+3+4+5的一个算法.
解: 算法1 按照逐一相加的程序进行.
第一步:计算1+2,得到3;
第二步:将第一步中的运算结果3与3相加,得到6;
第三步:将第二步中的运算结果6与4相加,得到10;
第四步:将第三步中的运算结果10与5相加,得到15.
算法2 运用公式直接计算.
第一步:取=5;
第二步:计算;
第三步:输出运算结果.
算法3 用循环方法求和.
第一步:使,;
第二步:使;
第三步:使;
第四步:使;
第五步:如果,则返回第三步,否则输出.
说明:①一个问题的算法可能不唯一.
②若将本例改为“给出求的一个算法”,则上述算法2和算法3表达较为方便.
例2.给出求解方程组的一个算法.
分析:解线性方程组的常用方法是加减消元法和代入消元法,这两种方法没有本质的差别,为了适用于解一般的线性方程组,以便于在计算机上实现,我们用高斯消元法(即先将方程组化为一个三角形方程组,在通过回代过程求出方程组的解)解线性方程组.
解:用消元法解这个方程组,步骤是:
第一步:方程①不动,将方程②中的系数除以方程①中的系数,得到乘数;
第二步:方程②减去乘以方程①,消去方程②中的项,得到

第三步:将上面的方程组自下而上回代求解,得到,.
所以原方程组的解为.
说明:(1).从例1、例2可以看出,算法具有两个主要特点:
①有限性:一个算法在执行有限个步骤后必须结束.
“有限性”往往指在合理的范围之内,如果让计算机执行一个历时1000年才结束的算法,这虽然是有限的,但超过了合理的限度,人们也不把它视作有效算法.“合理限度”一般由人们的常识和需要以及计算机的性能而定.
②确定性:算法的每一个步骤和次序应当是确定的.
例如,一个健身操中一个动作“手举过头顶”,这个步骤就是不确定的、含糊的.是双手都举过头,还是左手或右手?举过头顶多少厘米不同的人可以有不同的理解.算法中的每一个步骤不应产生歧义,而应当是明确无误的.
(2).一般来说,算法应有一个或多个输出,算法的目的是为了求解,没有输出的算法是没有意义的.
2.练习:课本第6页练习第1、2、3题.
练习1答案:第一步 移项得;
第二步 两边同除以2得.
练习2答案:第一步:使,;
第二步:使;
第三步:使;
第四步:使;
第五步:如果,则返回第三步,否则输出.
练习3答案:第一步 计算斜率;
第二步 用点斜式写出直线方程.
补充:
1.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容纳一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算法.
解:算法或步骤如下:
S1 人带两只狼过河;
S2 人自己返回;
S3 人带一只羚羊过河;
S4 人带两只狼返回;
S5 人带两只羚羊过河;
S6 人自己返回;
S7 人带两只狼过河;
S8 人自己返回;
S9 人带一只狼过河.
2.写出求的一个算法.
解:第一步:使,;
第二步:使;
第三步:使;
第四步:使;
第五步:使;
第六步:如果,则返回第三步,否则输出.
六.回顾小结
1.算法的概念:对一类问题的机械的、统一的求解方法.算法是由基本运算及规定的运算顺序所构成的完整的解题步骤,或者是按照要求设计好的有限的计算序列,并且这样的步骤或序列能解决一类问题.
2.算法的重要特征:
(1)有限性:一个算法在执行有限步后必须结束;
(2)确切性:算法的每一个步骤和次序必须是确定的;
(3)输入:一个算法有0个或多个输入,以刻划运算对象的初始条件.所谓0个输入是指算法本身定出了初始条件.
(4)输出:一个算法有1个或多个输出,以反映对输入数据加工后的结果.没有输出的
算法是毫无意义的.
七、课外作业:
课本第6页第4题,
补充:
1. 有A、B、C三个相同规格的玻璃瓶,A装着酒精,B装着醋,C为空瓶,请设计一个算法,把A、B瓶中的酒精与醋互换.
2.写出解方程的一个算法.
3.已知,,写出求直线AB斜率的一个算法.
4.“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:
“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”
请你先列出解决这个问题的方程组,并设计一个解该方程组的算法.
§1.2 第2课时 流程图与顺序结构
教学目标:1.了解流程图的概念,了解常用流程图符号(输入输出框、处理框、判断框、起止框、流程线等)的意义;
2.能用程序图表示顺序结构的算法;
3.发展学生有条理的思考与表达能力,培养学生的逻辑思维能力.
教学重点:运用流程图表示顺序结构的算法.
教学难点:规范流程图的表示.
教学过程:
一.问题情境
1.情境:回答下面的问题:
(1) ;
(2) ;
2.问题:已知,求的最小值,试设计算法.
二.学生活动
学生讨论,教师引导学生进行表达.
解: 取;
计算;
若,则输出;否则,使,转.
上述算法可以用框图直观地描述出来:
教师边讲解边画出第7页图.
这样的框图我们称之为流程图.
三.建构数学
1.流程图的概念:
流程图是用一些规定的图形、指向线及简单的文字说明来表示算法几程序结构的一种图形程序.它直观、清晰,便于检查和修改.
其中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容,带箭头的流程线(指向线)表示操作的先后次序.
2.构成流程图的图形符号及其作用(课本第7页),结合图形讲解.
3.规范流程图的表示:
①使用标准的框图符号;
②框图一般按从上到下、从左到右的方向画,流程线要规范;
③除判断框外,大多数框图符号只有一个进入点和一个退出点.
④在图形符号内描述的语言要非常简练、清楚.
4.从流程图可以看出,该算法步骤中,有些是按顺序执行,有些需要选择执行,而另外一些需要循环执行.事实上,算法都可以由顺序结构、选择结构、循环结构这三块“积木”通过组合和嵌套表达出来.
5.顺序结构的概念:
依次进行多个处理的结构称为顺序结构.
四.数学运用
1.顺序结构举例
例1.写出作的外接圆的一个算法.
解: 作的垂直平分线;
作的垂直平分线;
以与的交点为圆心,为半径作圆,圆即为的外接圆.
说明:1.以上过程通过依次执行到这三个步骤,完成了作外接圆这一问题,这种依次进行多个处理的结构就是顺序结构.
2.上述算法的流程图如下图1所示,它是
一个顺序结构.
图1 图2
例2.已知两个单元分别存放了变量和的值,试交换这两个变量值.
说明:1.在计算机中,每个变量都分配了一个存储单元,它们都有各自的地址.
2.为了表达方便,我们用符号“”表示“把赋给”(见教材第1页)
解:为了达到交换的目的,需要一个单元存放中间变量.
算法是:
; 先将的值赋给变量,这时存放变量的单元可作它用
; 再将的值赋给,这时存放变量的单元可作它用
. 最后将的值赋给,两个变量和的值便完成了交换
说明:上述算法的流程图如上图2所示,它是一个顺序结构.

例3.半径为的圆的面积计算公式为,当时,写出计算圆面积的算法,画出流程图.
解:算法如下:


输出.
说明:上述算法的流程图如右图所示,它是一个顺序结构.
2.练习:课本第9页练习第1、2题.
五.回顾小结
1.流程图的概念:
流程图是用一些规定的图形、指向线及简单的文字说明来表示算法几程序结构的一种图形程序.它直观、清晰,便于检查和修改.
2.画流程图的步骤:
首先用自然语言描述解决问题的一个算法,再把自然语言转化为流程图;
3.顺序结构的概念:
依次进行多个处理的结构称为顺序结构.
六.课外作业:
课本第14页习题第1,3题.
补充:
已知华氏温度与摄氏温度的转换公式是:,写出一个算法,并画出流程图,使得输入一个华氏温度,输出其相应的摄氏温度.
§1.2 第3课时 选择结构
教学目标:1. 进一步理解流程图的概念,了解选择结构的概念,能运用流程图表达选择结构;
2.能识别简单的流程图所描述的算法;
3.发展学生有条理的思考与表达能力,培养学生的逻辑思维能力.
教学重点:运用流程图表示选择结构的算法.
教学难点:规范流程图的表示以及选择结构算法的流程图.
教学过程:
一.问题情境
1.情境:
某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为
其中(单位:)为行李的重量.
试给出计算费用(单位:元)的一个算法,并画出流程图.
二.学生活动
学生讨论,教师引导学生进行表达.
解:算法为:
输入行李的重量;
如果,那么,
否则;
输出行李的重量和运费.
上述算法可以用流程图表示为:
教师边讲解边画出第9页图.
在上述计费过程中,第二步进行了判断.
三.建构数学
1.选择结构的概念:
先根据条件作出判断,再决定执行哪一种
操作的结构称为选择结构.
如图:虚线框内是一个选择结构,
它包含一个判断框,当条件成立
(或称条件为“真”)时执行,
否则执行.
2.说明:(1)有些问题需要按给定的条件进行分析、比较和判断,并按判断的不同情况进行不同的操作,这类问题的实现就要用到选择结构的设计;
(2)选择结构也称为分支结构或选取结构,它要先根据指定的条件进行判断,再由判断的结果决定执行两条分支路径中的某一条;
(3)在上图的选择结构中,只能执行和之一,不可能既执行,又执行,但或两个框中可以有一个是空的,即不执行任何操作;
(4)规范流程图图框的形状要规范,判断框必须画成菱形,它有一个进入点和两个退出点.
3.思考:教材第7页图所示的算法中,哪一步进行了判断?
四.数学运用
1.选择结构举例
例1.(教材第10页例3)设计求解一元二次方程的一个算法,并画出流程图.
分析:由于一元二次方程未必总有实数根,因此,求解时,要先计算判别式,然后比较与的大小,再决定能否用求根公式求解.所以,在算法中应含有选择结构.解:算法如下:
输入;

如果,则输出“方程无实数根”,否则
,,
并输出,.
算法流程图如右.
思考:如果要输出根的详细信息(区分是两个
相等的实数根还是不等的实数根),如何
修改上述算法和流程图?
例2.设计一个求任意数的绝对值的算法,并画出流程图.
解: 输入任意实数;
若,则;否则;
输出.
算法流程图如右.
2.练习:课本第11页练习第1、2、3题.
五.回顾小结
1.选择结构的概念:
先根据条件作出判断,再决定执行哪一种操作的结构称为选择结构.
2.理解选择结构的逻辑以及框图的规范画法,选择结构主要用在判断、分类或分情况的问题解决中.
说明:表示不大于的最大整数(或称的整数部分),如:.作业中可以使用此符号.
六.课外作业:
课本第14页习题第2,5题.
补充:
1.已知函数,写出当为整数时求的算法,并画出流程图.
2.任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,并画出这个算法的流程图.
课件9张PPT。基本算法语句

循环语句(教材引例)计算1 ? 3 ? 5 ? 7 ? … ? 99。S1 S←1
S2 I←1
S3 I←I+2
S4 S←S×I
S5 若I≤99,则返回S3
S6 输出S
解决问题的算法是:对于以上算法过程,我们可以用循
环语句来实现 循环语句:循环语句一般有种:“For循环”、“While循环” (1)“For循环”是在循环次数已知时使用的循环,

一般形式为:
?
For I from“初值”to“终值”step“步长”

End for? 循环语句——For? 伪代码(教材引例)计算1 ? 3 ? 5 ? 7 ? … ? 99。S ← 1 For I from 3 to 99 step 2 S ← S ? I End for Print S说明:①上面“For”和“End For”
之间缩进的步骤称为循环体;
②如果省略“Step 2”,默认的“步长”
为1,即循环时,的值每次增加1
(步长也可以为负,例如,以上
“For循环”第1行可写成:
For I From 99 To 1 Step -2);
③“For循环”是直到型循环结构,即先执行后判断 ? 循环语句——While(教材引例2)求最小的奇数I,使 1 ? 3 ? 5 ? 7 ? … ? I > 10 000。“While循环”的一般形式为:
?
?
其中A为判断执行循环的条件.
While A

End while? 循环语句——While? 伪代码1(教材引例)求最小的奇数I,使 1 ? 3 ? 5 ? 7 ? … ? I > 10 000。S ← 1 I ← 3 While S≤10 000 S ← S × I I ← I + 2 End while Print IS ← 1 I ← 1 While S≤10 000 I ← I + 2 S ← S ? I End while Print I? 伪代码2例1:编写计算机程序来计算1+2+3+…+100的值。程序:解:伪代码例2(第22页例4)抛硬币试验。s ← 0 Read n For i from 1 to n If Rnd > 0.5 then s ← s + 1 End for Print 出现正面的频率为s/n作业:P23 T1 ,2 , 4§1.2 第4课时 循环结构
教学目标:1.了解循环结构的概念,能运用流程图表示循环结构;
2.能识别简单的流程图所描述的算法;
3.发展学生有条理的思考与表达能力,培养学生的逻辑思维能力.
教学重点:运用流程图表示循环结构的算法.
教学难点:规范流程图的表示以及循环结构算法的流程图.
教学过程:
一.问题情境
1.情境:北京获得了2008年第29届奥运会的主办权。你知道在申奥的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?
对遴选出的5个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个
城市得票超过总票数的一半,那么该城市就获得举办权;如果所有申办城市得票数都
不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一
个申办城市为止。
2.问题:怎样用算法结构表述上面的操作过程?
二.学生活动
学生讨论,教师引导学生进行算法表达,然后画出流程图.
解:算法为:
投票;
统计票数,如果有一个城市得票超过总票数的一半,那么该城市就获得举办权,转,否则淘汰得票数最少的城市,转;
宣布主办城市.
上述算法可以用
流程图表示为:
教师边讲解边画
出第11页
图.
三.建构数学
1.循环结构的概念:
需要重复执行同一
操作的结构称为
循环结构.
如图:虚线框内
是一个循环结构,先
执行框,再判断给
定的条件是否为假;
若为假,则再执行
,再判断给定的条件是否为假……,如此反复,直到为真,该循环过程结束。
2.说明:(1)循环结构主要用在反复做某项工作的问题中;
(2)循环结构是通过选择结构来实现。
3.思考:教材第7页图所示的算法中,哪些步骤构成了循环结构?
四.数学运用
1.循环结构举例
例1.(教材第12页例4)写出求值的一个算法,并画出流程图.
解:算法1:逐一相加(见教材第12页);
算法2: ; {使}
; {使}
; {求,乘积结果仍放在变量中}
; {使的值增加1}
如果,转,否则输出。
说明:1.算法2中各种符号的意义;
2.算法2不仅形式简练,而且具有通用性、
灵活性。其中,,组成一个循环,
在实现算法时要反复多次执行,,
步骤,直到执行时,经过判断,乘数已
超过规定的数为止。
算法流程图如右.
练习1:写出求值的一个算法,
并画出流程图.
例2.设计一个计算10个数平均数的算法,并画出流程图.
分析:由于需要依次输入10个数,并计算它们的和,因此,需要用一个循环结构,并用一个变量存放数的累加和。在求出10个数的总和后,再除以10,就得到10个数的平均数。
解: ; {使}
; {使}
输入; {输入一个数}
; {求,其和仍放在变量中}
; {使的值增加1}
如果,转, {如果,退出循环}
; {将平均数存放到中}
输出。 {输出平均数}
说明:1.本题中的第一步将赋值于,是为这些数的和建立
存放空间;
2.在循环结构中都有一个计数变量(本题中的)和累
加变量(本题中的),计数变量用于记录循环次数
(本题实质是为了记录输入的数的个数),累加变量
用于输出结果。计数变量与累加变量一般是同步进行
的,累加一次,计数一次。
算法流程图如右.
2.练习:课本第14页练习第1、2 题.
练习1答案: ;



如果,转,
否则输出。
练习2答案:
将50个学生中成绩不低于80分的学生的
学号和成绩打印出来。
五.回顾小结
1.循环结构的概念:
需要重复执行同一操作的结构称为循环结构.它主要用在反复做某项工作的问题中。
2.用循环结构画流程图:确定算法中反复执行的部分,确定循环的转向位置和终止条件。
3.选择结构与循环结构的区别与联系:
区别:选择结构通过判断执行分支,只是执行一次;循环结构通过条件判断可以反复执行;
联系:循环结构是通过选择结构来实现的,循环结构中一定包含选择结构。
4.在循环结构中都有一个计数变量(本题中的)和累加变量(本题中的),计数变量用于记录循环次数(本题实质是为了记录输入的数的个数),累加变量用于输出结果。计数变量与累加变量一般是同步进行的,累加一次,计数一次。
六.课外作业:
课本第14页习题第7题.
7.写出求(共有6个2)的值的一个算法,并画出流程图。
补充:
1.某高中男子体育小组的50米跑成绩为(单位:):
,,,,,,,,。设计一个算法,从这些成绩中找出
所有小于的成绩,并画出流程图。
2.高一某班一共有50名学生,设计一个算法,统计班上数学成绩优秀(分数大于80)的学生人数,并画出流程图。
§1.2 第5课时 流程图复习课
教学目标:1.能运用流程图表示顺序、选择、循环这三种基本结构;能识别简单的流程图所描述的算法;
2.训练有条理的思考与准确表达自己想法的能力,提高逻辑思维能力.
教学重点:运用流程图表示顺序、选择、循环这三种基本结构.
教学难点:循环结构算法的流程图.
教学过程:
一.学法指导:
流程图结构的选择方法:
若不需判断,依次进行多个处理,只要用顺序结构;
若需要先根据条件作出判断,再决定执行哪个后继步骤,必须运用选择结构;
若问题的解决需要执行许多重复的步骤,且有相同的规律,就需要引入循环变量,应
用循环结构.
二.数学运用
例1.已知,写出求的一个算法,并画出流程图.
解: ;




若,转,否则输出.

练习1.已知一列数,,,…,,…且
,,(),
这个数列叫做斐波那契数列.写出求该数列
第10个数的一个算法,并画出流程图.
解:算法如下:







若,转,否则输出.
例2.高一某班一共有50名学生,设计
一个算法,统计班上数学成绩良好
(分数大于80且小于90)和优秀
(分数大或等于90)的学生人数,
并画出流程图.
解:算法如下:
,,;
输入成绩;
若,则,转;
若,则;

若,转,
否则,输出和;
例3.(第1课补充练习)写出求
的一个算法,
并画出流程图.
练习2.教材第14页习题第4,8,9题.
三.课外作业:
补充:
1.设计一个计算的值的一个算法,并画出流程图.
2.写出求的值的一个算法,并画出流程图.
2.我国的国民生产总值近几年来一直以不低于的年增长率增长,照此速度,最多只需经过几年我国的国民生产总值就可以翻一番?写出一个算法,并画出流程图.
3.设是三位正整数中所有既是12的倍数,又是15的倍数的数之和.写出一个求的算法,并画出流程图.
4.根据给出的算法,分析该算法所解决的是什么问题,
并画出相应的流程图?
S1 ;
S2 ;
S3 输入;
S4 ;
S5 ;
S6 若不大于100,转S3;
否则,转S7
S7 ;
S8 输出.
§1.3 基本算法语句——赋值、输入、输出语句
教学目标
(1)正确理解赋值语句、输入语句、输出语句的结构;
(2)让学生充分地感知、体验应用计算机解决数学问题的方法;
(3)通过实例,使学生理解3种基本的算法语句(输入语句、输出语句和赋值语句)的表示方法、结构和用法,能用这三种基本的算法语句表示算法,进一步体会算法的基本思想.
教学重点
正确理解输入语句、输出语句、赋值语句的作用.
教学难点
准确写出输入语句、输出语句、赋值语句.
教学过程
一、问题情境
1.问题1:已知我班某学生上学期期末考试语文、数学和英语学科成绩分别为80、100、89,试设计适当的算法求出这名学生三科的平均分.
二、学生活动
1.学生讨论,教师引导学生写出算法并画出流程图.
2.怎样将以上算法转换成计算机能理解的语言呢?
下面我们将通过伪代码学习基本的算法语句.
三、建构数学
1.伪代码:
伪代码是介于自然语言和计算机语言之间的文字和符号,是表达算法的简单而实用的好方法.为了今后能学好计算机语言,我们在伪代码中将使用一种计算机语言“BASIC语言”的关键词.
2.赋值语句:
赋值语句是将表达式所代表的值赋给变量的语句.例如:“”表示将的值赋给,其中是一个变量,是一个与同类型的变量或表达式.
说明:
①赋值语句中的赋值号“”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;
②赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式;
③对于一个变量可以多次赋值.
例1.写出求时多项式的值的算法.
算法1
算法2
说明:①以上两种算法,算法1要做6次乘法,算法2只要做3次乘法,由此可见,算法的好坏会影响运算速度;
②算法2称为“秦九韶算法”,其算法特点是:通过一次式的反复计算,逐步得出高次多项式的值;对于一个次多项式,只要做次乘法和次加法.
附:秦九韶(1202—1261年),字道古,普州安岳(今四川安岳)人.他是我国古代最有成就的数学家之一.著有数学名著《数书九章》(又名数学九章》).该书共十八卷,分为大衍、天时、田域、测望、赋役、钱谷、营建、军旅、市易等九大类,每类用九个例题全书共八十一题)来阐明各种算法.这部中世纪的数学杰作,许多方面都有创造,而书中最突出的成就是“大衍求一术”和高次方程的数值解法“正负开方术”,是具有世界意义的成就.
3.输入、输出语句:
输入、输出语句分别用“Input”(或者“Read”)和“Print”来描述数据的输入和输出.
(1)输入语句与赋值语句的区别在于:赋值语句可以将一个代数表达式的值赋于一个变量,而输入语句由于要求输入的值只能是具体的常数,不能是函数、变量或表达式,因此输入语句只能将读入的具体数据赋给变量.
(2)输出语句的主要作用是:①输出常量、变量的值和系统信息;②输出数值计算的结果.
例如:可以将问题1中的算法改进为求任意三门功课的平均值的算法.
流程图:
说明:输入语句“Read a,b”表示输入的数据依次送给a,b;“Print A”表示输出运算结果A.
四、数学运用
1.例题:
例2.“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”
请你先列出解决这个问题的方程组,并设计一个解二元一次方程组的通用算法,并画出流程图,写出伪代码.
解:设有只鸡,只兔子,则.
设二元一次方程组为用消元法解得,
因此,只要输入相应的未知数的系数和常数项,就能计算出方程组的解,即可输出的值.
2.练习:课本第17页 练习1题.
五、回顾小结:
1.赋值语句、输入语句、输出语句的结构和作用.
六、课外作业:
课本第17页 练习2、3题;课本第24页习题1.2 第1题.
补充:
1.将五进制数化为十进制数的方法是“按权展开”,如将化为十进制数为.试用输入输出语句、赋值语句表示将五进制数化为十进制数的算法.
2.请用伪代码编写程序,实现三个变量的值按顺序互换,即之间的交换.
§1.3 基本算法语句——条件语句
教学目标
(1)正确理解条件语句的步骤、结构及功能,并掌握其结构;
(2)能正确地使用条件语句表示选择结构.
教学重点
条件语句的步骤、结构及功能.
教学难点
使用条件语句表示选择结构.
教学过程
一、问题情境
1.问题1:某居民区的物业管理部门每月按以下方法收取卫生费:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.试设计算法,根据输入的人数计算应收取的卫生费?
二、学生活动
学生思考后得出:
若用(单位:元)表示应收取的费用,表示住户的人口数,则.
具体算法步骤如下:
S1 输入;
S2 若,则,否则;
S2 输出.
流程图如右图所示.从流程图可以看出这是一个选择结构,
我们可以用条件语句来实现该过程.
三、建构数学
1.条件语句:
条件语句的一般形式为:If—then—Else(如图1所示),对应的程序框图为图2。
“条件A”表示判断的条件,“语句1”表示满足条件A时执行的操作内容;“语句2”表示不满足条件A时执行的操作内容;End if表示条件语句的结束。计算机在执行时,首先对If后的条件进行判断,如果符合条件A,则执行Then后面的语句1;若不符合条件A,则执行Else后面的语句2。
问题1中的选择过程用条件语句可以表示为:
Read
Print
我们把步骤“”称为“Then”分支,步骤“”称为“Else”分支.为了醒目和便于阅读这些分支一般缩进书写.
四、数学运用
1.例题:
例1.写出输入两个数a和b,将较大的数打印出来的算法,写出伪代码,并画出流程图.
解:
算法:
S1 输入a,b;
S2 若a>b,则输出a,否则输出b.
例2.儿童乘坐火车时,若身高不超过1.1 m,则无需购票;若身高超过1.1 m到不超过1.4 m,可买半票;若超过1.4 m,应买全票.试设计一个购票的算法,写出伪代码,并画出流程图.
解:算法步骤为:
S1 测量儿童身高;
S2 如果,那么免费乘车;否则,如果,那么购买半票乘车;否则,购买全票乘车.
伪代码: 流程图:
Read
If Then
Print 免费乘车
Else If Then
Print 半票乘车
Else
Print 全票乘车
End If
说明:从本例可以看出,条件语句“If—then—Else”可以嵌套.
思考:写出“输入一个正整数,如果大于100,就将其输出”的算法的伪代码.
解:Read n
If n>100 Then Print n
End If
End
说明:本题中的条件语句是“行If语句”,前面的是“块If语句”.
例3.已知函数,试写出计算值的一个算法.
解:可以用条件语句表示这类分段函数的算法:
Read x 流程图:
If x>0 Then
y←1
Else If x=0 Then
y←0
Else
y←
End If
Print y
2.练习:
补充:用算法语句表示:输入一个数,如果不为0,则输出,否则,重新输入. 解:10 Read x
20 If x=0 Then Goto 10
30 Else
40 Print 1/x
50 End If
60 End
五、回顾小结:
1.条件语句的步骤、结构及功能.
六、课外作业:
课本第20页 练习第2、3题.
课本第24页 习题1.2第2、3、5题.
§1.3 基本算法语句——循环语句
教学目标
(1)正确理解循环语句的概念,并掌握其结构;
(2)会应用循环语句编写程序.
教学重点
两种循环语句的表示方法、结构和用法,用循环语句表示算法.
教学难点
理解循环语句的表示方法、结构和用法,会编写程序中的循环语句.
教学过程
一、问题情境
1.问题1:设计计算的一个算法,并画出流程图.
二、学生活动
解决问题1的算法是:
对于以上算法过程,我们可以用循环语句来实现.
三、建构数学
1.循环语句:循环语句一般有种:“For循环”、“While循环”和“Do循环”(由于该种循环变化较多,教材中暂不介绍).
(1)“For循环”是在循环次数已知时使用的循环,
其一般形式为:
例如:问题1中算法可用“For循环”语句表示为:
Print
End
说明:①上面“For”和“End For”之间缩进的步骤称为循环体;
②如果省略“Step 2”,默认的“步长”为1,即循环时,的值每次增加1(步长也可以为负,例如,以上“For循环”第1行可写成:For I From 99 To 1 Step -2);
③“For循环”是直到型循环结构,即先执行后判断.
(2)“While循环”的一般形式为:
其中A为判断执行循环的条件.
例如:问题1中的算法可“While循环”语句表示为:


Print
End
说明:①上面“While”和“End While”之间缩进的步骤称为循环体;
②“While循环”是当型循环结构,其特点是“前测试”,即先判断,后执行.若初始条件不成立,则一次也不执行循环体中的内容;
③任何一种需要重复处理的问题都可以用这种前测试循环来实现.
四、数学运用
1.例题:
例1.编写程序,计算自然数1+2+3+……+99+100的和。
解:用“For循环”表示如下: 用“While循环”表示如下:
例2.试用算法语句表示:寻找满足的最小整数的算法.
解:本例中循环的次数不定,因此可用“While循环”语句,具体描述如下:
例3.抛掷一枚硬币时,既可能出现正面,也可能出现反面,预先作出确定的判断是不可能的,但是假如硬币质量均匀,那么当抛掷次数很多时,出现正面的频率应接近50%.试设计一个循环语句模拟抛掷硬币的过程,并计算抛掷中出现正面的频率.
分析:抛掷硬币的过程实际上是一个不断重复地做同一件事情的过程,利用循环语句,我们很容易在计算机上模拟这一过程.
在程序设计中,有一个随机函数“Rnd”,它能产生0与1之间的随机数.这样,我们可用大于的随机数表示出现正面,不大于的随机数表示出现反面.
解:本题算法的伪代码如下:

Read
For I From 1 To
If Rnd> Then
End For
Print 出现正面的频率为.
End
2.练习:课本第23页 练习 第1题.
五、回顾小结:
1.循环语句的概念,并掌握其结构;
2.“For循环”、“While循环”在用法上的区别与联系.
六、课外作业:
课本第23页 练习 第2、3、4题;
课本第24页 习题 第4、6、7题.
基本算法语句复习
教学目标
(1)进一步巩固基本算法语句:赋值语句、输入输出语句、条件语句、循环语句的概念,并掌握其结构;
(2)会灵活应用基本算法语句编写程序.
教学重点
各种算法语句的表示方法、结构和用法.
教学难点
灵活应用各种算法语句编写程序.
教学过程
一、例题分析:
1.例题:
例1.编写函数的算法,根据输入的的值,计算的值.
分析:这是分段函数,计算前,先对的值进行判断,再确定计算法则.
解:其算法步骤如下: 用算法语句可表示如下:
S1 输入;
S2 若,则,
否则,则;
S3 输出.
例2.试用算法语句表示:使成立的最小正整数的算法过程.
解:本例需要用到循环结构,且循环的次数不定,因此可用“While循环”语句,
具体描述:
例3.读入80个自然数,统计出其中奇数的个数,用伪代码表示解决这个问题的算法过程.
解:本题算法的伪代码如下:

For I From 1 To 80
Read

If Then
(Print )
End If
End For
Print
End
变式:若本例中还要将所有奇数输出呢?以上伪代码该作何修改?(见题中括号)
例4.《中华人民共和国个人所得税法》第十四条有下表(部分)
个人所得税税率表—(工资、薪金所得使用)
级数
全月应纳税所得额
税率(%)
1
不超过500元部分
5
2
超过500元至2000元部分
10
3
超过2000元至5000元部分
15
4
超过5000元至20000元部分
20
……
目前,上表中“全月应纳税所得额”是从月工资、薪金收入中减去800元后的余额.若工资、薪金的月收入不超过800元,则不需纳税.
某人月工资、薪金收入不超过20800元,试给出一个计算其月工资、薪金收入为元时应缴纳税款额的算法并用伪代码表示这个算法.
解:设月工资、薪金收入为元时应缴纳税款额为元,伪代码如下:
Read
If Then
y←0
Else If Then
y←(x-800)*0.05
Else If Then
y←500*0.05+(x-1300)*0.1
Else If Then
y←500*0.05+1500*0.1+(x-2800)*0.15
Else If Then
y←500*0.05+1500*0.1+3000*0.15+(x-5800)*0.2
End If
Print y
End
2.练习:
(1)下面的程序段中,语句Print I*J执行的次数是 15 次.
For I From 1 To 3
For J From 5 To 1 Step -1
Ptint I*J
End For
End For
End
提示:对于每个I,内循环都执行5次,而I有3个取值,所以,共执行15次.
二、回顾小结:
1.各种算法语句的表示方法、结构和用法;
2.灵活应用各种算法语句编写程序.
三、课外作业:补充:
1.用秦九韶算法计算多项式,当时的值时,需要做乘法和加法的次数分别是 , .
2.下面的程序运行的结果是 .
N←0
I←0
While I<30
I←(I+1)*(I+1)
N←N+1
End While
Print N
End
4.下面这个算法的效果是 ( )
X←23.4
Print Int(x+0.5)
A.将X加0.5后输出 B. 将X加0.5后四舍五入 C.求绝对值 D.对X四舍五入
5.已知函数,实数,,,试设计求的算法,画出流程图,并用伪代码表示该算法.
6.用循环语句设计一个算法,在有限个实数中找出最大的一个数.
7.发动机的推力与温度的关系是,试编写根据温度计算发动机的推力的伪代码.
课件14张PPT。流程图回答下列问题:(1)1+2+3+…+100= ; (2)1+2+3+…+ = ;(3)1+2+3+…+ >2007.请设计一个算法,求满足条件的最小整数.开始输入n=1计算 的值>2007输出nY开始输入n=2计算 的值>2007输出nY用




示若1代入不满足不等式,则代入2验算,如右图N开始输入n=1计算 的值>2007输出nY开始输入n计算 的值>2007Y使n的值增加1结束输出n结束NN开始输入n计算 的值>2007输出nY使n的值增加1输入输出框结束处理框判断框流程线起止框N起止框流程图是由一些图框和带箭头的流线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,带箭头的流线表示操作的先后次序.在流程图中,有些是按顺序执行(顺序结构),有些需要选择执行(选择结构),而另外一些需要循环执行(循环结构).S1 作AB的垂直平分线 ;
S2 作BC的垂直平分线 ;
S3 以 与 的交点M为圆心,MA为半径作圆,圆M即为三角形ABC的外接圆.该算法特点:
依次执行S1到S3这三个步骤,完成了作三角形外接圆这一问题.
象这种结构称为:顺序结构.问题:写出作三角形ABC外接圆的一个算法.AB例1:写出求半径为10的圆的面积的一个算法,并画出流程图.S1 ; S2 ; S3 输出 . 开始结束输出S例2:已知A、B两个墨水瓶中分别装了红墨水和黑墨水,如何将两个墨水瓶中的墨水交换?S1 ; S2 ; S3 . 开始结束如何交换x,y两个变量的值.思考:平行四边形ABCD中,已知A(0,0),B(1,2),C(-2,1),写出求D点坐标的算法.小结
1.流程图的组成以及各图框表示的各种类型的操作.
2.顺序结构的特点:依次执行多个处理.
3.能够用自然语言以及流程图表示算法.
作业:
1、复习课本相关知识
2、编制一个计算:的流程图。课件13张PPT。算法基本语句(条件语句)复习巩固1、输入语句、输出语句和赋值语句对应于算法中的哪种结构?这三种语句的一般格式是什么? 2、什么是条件结构?用程序框图表示这种结构 顺序结构输入语句输出语句赋值语句Read 变量Print “提示内容”;变量变量 表达式新课讲解1、条件结构用怎样的程序语句来描述?这种语句的一般格式是怎样的?IF 条件 then
语句1
Else
语句2
End ifIF 条件 then
语句
End if或某居民区的物业管理部门每月按以下方法收
取卫生费:3人和3人以下的住户,每户收取
5元;超过3人的住户,每超出1人加收1.2元.
试设计算法,根据输入的人数计算应收取的
卫生费?
Read n
IF n<=3 then
c=5
Else
c=5+1.2*(n-3)
End if
Print c
End
编写程序,使得任意输入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,cRead 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相应的QBASIC程序:开始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?结束是是否否是否对应的流程图练习巩固开始输入a,b,ca+b>c,a+c > b,
b+c > a是否同时成立?存在这样的
三角形不存在这样
的三角形结束否是(1) 该程序框图所表示的算法是作用是什么?并根据程序框图写出相应的程序。条件语句的嵌套Read hIf h>1.4 Print 全票乘车Else if h>1.1Print 半票乘车ElsePrint 免费乘车End if读P19 例22、某快递公司规定甲、乙两地之间物品的托运费用根据下面的方法计算:物品重量在50千克以内,托运费为每千克 0.53 元,超过的话,超过部分每千克0.85元,试画出计算费用f的程序框图,并写出相应的QBASIC程序。 程序框图:对应的QBASIC程序
Read;G
IF G<=50 then
M=0.53*G
Else
M=50*0.53+0.85*(G-50)
End if
Print “运费为:”;M
End
例3.已知函数,
试写出计算值的一个算法. Read x
If x>0 Then
y←1
Else If x=0 Then
y←0
Else
y←-1
End If
Print y小结1、条件结构的程序表示2、注意书写的规范性IF 条件 then
语句1
Else
语句2
End ifIF 条件 then
语句
End if例4 编写程序,输入一元二次方程算法描述:S1:输入a,b,cS2:计算判别式△S3:如果△<0有两不同实根, △=0有两个相同实根, △<0否则没实数根。根据情况输出结果。开 始输入a,b,cΔ=b2-4acp= -b/2aq=SQR((ABSΔ))/(2a)x1=p+q
x2=p-qΔ≥0?x1=x2?原方程有两个不等
的实数根x1,x2原方程有两个相等
的实数根x1,x2原方程无实数根结 束是否是否的系数,输出它的实数根。补充程序:Read a,b,cd b * b - 4 * a * cp -b / (2 * a)q SQR(ABS(d)) / (2 * a)IF d >= 0 thenx1 p + qx2 p - qIF x1 = x2 thenPrint “只有一个实根:”;x1=x1ElsePrint “有两个实根:”;“x1=”;x1,”x2=”;x2End ifElsePrint “没有实根”End ifEnd课件13张PPT。程序框图选择结构知识回忆1、程序框图的概念2、程序框图的图示和意义3、顺序结构的特点4、作业分析练习已知点和直线l:Ax+By+C=0,写出求点P到直线l的距离d的流程图。 已知函数 ,写出求 对应的函数值的一个算法,并画出流程图 S1 输入x0 S2 计算思考:与顺序结构比较,上述框图的结构有怎样的规律?S3 若x0 ≥0,则f(x0)=x0;
否则f(x0)=-x0根据条件判断,决定不同流向.它的一般形式如右图所示 引例数学理论 1.选择结构的概念一些简单的算法可以用顺序结构来表示,但是这种结构无法对描述对象进行逻辑判断,并根据判断结果进行不同的处理。因此,需要有另一种逻辑结构来处理这类问题,这种结构叫做条件结构。它是根据指定打件选择执行不同指令的控制结构。2.选择结构的一般形式3.注意:(1)右图此结构中包含一个判断框,根据给定的条件P是否成立而选择执行A框或B框。无论P条件是否成立,只能执行A框或B框之一,不可能同时执行A框和B框,也不可能A框、B框都不执行。
(2)一个判断结构可以有多个判断框。1.某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为 其中w(单位:kg)为行李的重量. 计算费用c(单位:元)的算法可以用怎样的算法结构来表示?2.设计求解一元二次方程 的一个算法.并用流程图表示。能识别流程图所描述的算法例1.根据给出的两个流程图,分析:
(1)图1所解决的是什么问题?
(2)回答:
①当输入的x值为1时,输出 y的值为多大?
②要使输出的y值为8,输入的x值为多大?
③输入的x和输出的y能相等吗?
开始开始输入a,bx -b/a结束图2a=0YN输出“x是方程的根”输出“方程无实数根”NY输出“方程根为全体实数”(3)图2所解决的是什么问题?
(4)回答:①第一个判断框中的内容a=0改为 ,第二个判断框中的 改为b=0行吗?②连接第一个判断框的流程线上的“是”或“否”能否互相交换?③连接第二个判断框的流程线上的“是”或“否”能否互相交换?归纳:选择结构的特征图练习4.下面流程图
表示一个什么样的
算法?开始输入a,b,c结束a>b且a>cNYNY输出ab>c输出c输出b小结1. 通过本节课的学习,我们掌握了算法框图的选择结构及利用这种结构设计算法流程图。
2. 选择结构的特点是需要根据对条件的判断结果来决定后面的步骤的结构.3,能识别流程图所描述的算法
§1.4 算法案例(1)
教学目标
(1)介绍中国古代算法的案例-韩信点兵-孙子问题;
(2)用三种方法熟练的表示一个算法;
(3)让学生感受算法的意义和价值.
教学重点、难点:不定方程解法的算法.
教学过程
一、问题情境(韩信点兵-孙子问题):
韩信是秦末汉初的著名军事家。据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么方法,不要逐个报数,就能知道场上的士兵的人数。
韩信先令士兵排成3列纵队,结果有2个人多余;接着立即下令将队形改为5列纵队,这一改,又多出3人;随后他又下令改为7列纵队,这次又剩下2人无法成整行。
在场的人都哈哈大笑,以为韩信不能清点出准确的人数,不料笑声刚落,韩信高声报告共有士兵2333人。众人听了一愣,不知道韩信用什么方法这么快就能得出正确的结果的。同学们,你知道吗?
背景说明:
1.类似的问题最早出现在我国的《算经十书》之一的《孙子算经》中原文是:“今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?答曰:「二十三」”
2.孙子算经的作者及确实着作年代均不可考,不过根据考证,着作年代不会在晋朝之後,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理。中国剩余定理(Chinese Remainder Theorem)在近代抽象代数学中占有一席非常重要的地位;
3.该问题的完整的表述,后来经过宋朝数学家秦九韶的推广,又发现了一种算法,叫做“大衍求一术”。在中国还流传着这么一首歌诀:
????????????????????? 三人同行七十稀,
????????????????????? 五树梅花廿一枝,
????????????????????? 七子团圆月正半,
????????????????????? 除百零五便得知。
  它的意思是说:将某数(正整数)除以3所得的余数乘以70,除以5所得的余数乘以21,除以7所得的余数乘以15,再将所得的三个积相加,并逐次减去105,减到差小于105为止。 所得结果就是某数的最小正整数值。
用上面的歌诀来算《孙子算经》中的问题,便得到算式:
??????? 2×70+3×21+2×15=233,
???????? 233-105×2=23,
即所求物品最少是23件。
二.算法设计思想:
“孙子问题”相当于求关于的不定方程组的的正整数解;
设所求的数为,根据题意应该同时满足下列三个条件:
①被3除后余2,即;
②被5除后余3,即;
③被7除后余2,即;
用自然语言可以将算法写为:


如果且且则执行,否则执行;
输出
三.流程图和伪代码:

伪代码:

DO
Loop Until且且
Print
注:这里的解题的过程中运用的DO循环语句和课本上的解题略有区别请注意辨别!
四、回顾小结:
1.中国数学在世界数学史上的巨大贡献;
2.实际问题的分析和解决问题过程;
3.算法的表示及语句的运用;
五、课外作业:
课本第31页第3题.
§1.4 算法案例(2)
教学目标:
(1)理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析;
(2)基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序;
教学重点:理解辗转相除法与更相减损术求最大公约数的方法
教学难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言.
教学过程
一、问题情境
在初中,我们已经学过求最大公约数的知识,你能求出18与30的公约数吗?
我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数?比如求8251与6105的最大公约数?这就是我们这一堂课所要探讨的内容.
二、算法设计思想:
1.辗转相除法:
例1.求两个正数8251和6105的最大公约数.
(分析:8251与6105两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数)
解:8251=6105×1+2146
显然8251和的2146最大公约数也必是2146的约数,同样6105与2146的公约数也必是8251的约数,所以8251与6105的最大公约数也是6105与2146的最大公约数.
6105=2146×2+1813
2146=1813×1+333
1813=333×5+148
333=148×2+37
148=37×4+0
则37为8251与6105的最大公约数.
以上我们求最大公约数的方法就是辗转相除法.也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的.利用辗转相除法求最大公约数的步骤如下:
第一步:用较大的数除以较小的数得到一个商和一个余数;
第二步:若,则为的最大公约数;若,则用除数除以余数得到一个商和一个余数;
第三步:若,则为的最大公约数;若,则用除数除以余数得到一个商和一个余数;
……
依次计算直至,此时所得到的即为所求的最大公约数.
练习:利用辗转相除法求两数4081与20723的最大公约数(答案:53)
2.更相减损术
我国早期也有解决求最大公约数问题的算法,就是更相减损术.
更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母之数,以少减多,更相减损,求其等也,以等数约之.
翻译出来为:
第一步:任意给出两个正数;判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.
第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.
例2. 用更相减损术求98与63的最大公约数.
解:由于63不是偶数,把98和63以大数减小数,并辗转相减,
即:98-63=35
63-35=28
35-28=7
28-7=21
21-7=14
14-7=7
所以,98与63的最大公约数是7.
练习:用更相减损术求两个正数84与72的最大公约数.(答案:12)
3.比较辗转相除法与更相减损术的区别
(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显.
(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到.
三. 辗转相除法的流程图及伪代码
利用辗转相除法与更相减损术的计算算法,我们可以设计出程序框图以及BSAIC程序来在计算机上实现辗转相除法与更相减损术求最大公约数,下面由同学们设计相应框图并相互之间检查框图与程序的正确性,并在计算机上验证自己的结果.
(1)辗转相除法的程序框图及程序
程序框图:

伪代码:
用较大的数除以较小的数,得到除式,直到.
四、回顾小结:
1.辗转相除法与更相减损术中蕴含的数学原理及算法语言的表示;
2.函数的含义.
五、课外作业:
课本第31页第2 ;课本第35页第13.
§1.4 算法案例(3)
教学目标
(1)二分法主要是采用了循环结构处理问题要会分析类似的问题;
(2)GoTo语句的认识及其他语句的进一步熟悉;
(3)能由流程图分析出期所含有的结构并用为代码表示出相应的算法.
教学重点
二分法的算法思想和算法表示.
教学过程
一、问题情境
必修1中我们学习了二分法求方程的近似解,大家还能想起二分法的求解步骤吗?
二、案例讲解:
案例:写出用区间二分法求解方程在区间内的一个近似解(误差不超过0.001)的一个算法.
(1)算法设计思想:
如图,如果估计出方程在某区间内有一个根,就能用二分法搜索求得符合误差限制的近似解.
(2)算法步骤可以表示为:
  取的中点,间区间一分为二;
  若,则就是方程的根,否则判断根在的左侧还是后侧;
若,则,以代替;
若,则,以代替;
  若,计算终止,此时,否则转.
(3)流程图:
(4)伪代码1:
Read a,b,c
While And
If <0 Then

Else

End If

End While
Print
伪代码2:
Read
20
30
40
50 If Then GoTo 120
60 If Then
70
80 Else
90
100 End If
110 If Then GoTo 20
120 Print
二分搜索的过程是一个多次重复的过程,故可以用循环结构来处理(代码1),课本解法是采用语句实现的(代码2)。
三、回顾小结:
1.二分法的算法和用伪代码表示该算法;
2.语句的使用;
3.解决实际问题的过程:分析-画流程图-写伪代码。
四、课外作业:课本复习题的第1题,课本复习题的第10题
补充.一个三位数的十位和个位的数字互换,得到的一个新的三位数,新、旧两个三位数都能被4整除;设计一个算法,求满足条件的三位数的个数,并写出伪代码。
课件29张PPT。算法初步算法初步复习算法初步算法案例算法初步(基本概念) 一、定义:
对一类问题的机械的、统一的求解方法称为算法
二、两大特点:
有限性 确定性
三、三种基本结构:
顺序结构 选择(条件)结构
循环结构算法初步(流程图)起止框输入、输出框处理框判断框流程线算法初步(补充)mod (a,b) a除以b的余数
mod(5,2)=?
mod(1,3)=?
3 1
int(x) 不超过x的最大整数
int(1.3)=?
int(-2.7)=?
1 -3算法初步 (循环结构)“直到”型循环
特点:先运算后判断
典型例证:吃饭“当”型循环
特点:先判断后运算
典型例证:资格认证算法初步(算法语句)一 赋值语句;
x 23
二 输入、输出语句;
Read Print
三 条件语句;
四 循环语句。认真做事能把事做对,
用心做事能把事做好。
算法初步(条件语句)“块”状条件语句
If A then
B……
Else
C……
End if
“行”状条件语句
If A then B……end if
条件语句的嵌套结构
If A then
B
Else if C then
D
Else if E then
F
……
Else
G
End if 算法初步(循环语句)For循环 (适用于循环次数确定时)
For I from “初值” to “终值” step “步长”
……
End for
While循环 (循环次数确定不确定都可以使用)
While A
……
End while步长为“1”时可不写算法初步(基础练习1)算法的过程称为“数学机械化”,数学机械化的最大优点是可以让计算机来完成,中国当代数学家在这方面研究处于世界领先地位,为此而获得首届国家自然科学一等奖的是
A.袁隆平 B.华罗庚 C.苏步青 D.吴文俊
我国古代数学发展一直处于世界领先水平,特别是宋、元时期的“算法”,其中可以同欧几里德辗转相除法相媲美的是
A.割圆术 B.更相减损术 C.秦九韶算法 D.孙子乘余定理
学习算法,一方面了解我国古代数学家的杰出成就,另一方面,通过算法设计,利用计算机能做许多我们用笔和纸不敢做的有很大计算量的问题,通常我们可以利用的基本算法算法语句是
A.输出语句 B.赋值语句 C.条件语句 D.循环语句DBD算法初步(基础练习2)4.下列程序框中,出口可以有两个流向的是
A.起止框 B.输入输出框
C.处理框 D.判断框
5.下列给出的赋值语句中正确的是
A.3←A B.M← —M
C.B←A←2 D.x+y←0
6.A=15,A=-A+5,最后A的值为
A.-10 B.20
C.15 D.无意义DBA算法初步(例题1)例1.下列代码的执行结果是S= ?,H= ?。 S=115H=5/4算法初步(例题2)294与84的最大公约数是?
解析: 294=84*3+42
84=42*2+0 答案:42
#546与390的最大公约数是?
546=390*1+156
390=156*2+78
156=78*2+0 答案:78算法初步(例题3)Read x
While x<2000
x x+20
End while
y x-17
Print y算法初步(例题4)在菲波那契数列1,1,2,3,5,8,13,21,……中,从第三项开始,每一项等于它前面两项的和,请设计一程序:求数列中的前面所有项的和,使之刚好超过或等于10000 . 算法初步(例题4#)意大利数学家菲波拉契,在1202年出版的一书里提出了这样的一个问题:一对兔子饲养到第二个月进入成年,第三个月生一对小兔,以后每个月生一对小兔,所生小兔能全部存活并且也是第二个月成年,第三个月生一对小兔,以后每月生一对小兔.问这样下去到年底应有多少对兔子? 试画出解决此问题的程序框图,并编写相应的程序.S=1
Q=1
I=3
While I<=12
F=S+Q
Q=S
S=F
I=I+1
End while
Print F
算法初步(例题5)下面是计算应纳税所得额的算法过程,其算法如下:
S1 输入工资x(x<=5000);
S2 如果x<=800,那么y=0;如果
800 800);否则 y=25+0.1(x-1300)
S3 输出税款y结束。
请写出该算法的伪代码及流程图。解答算法初步(习题1)1.此算法的功能是
A.a,b,c中最大值
B.a,b,c中最小值
C.将a,b,c由小到大排序
D.将a,b,c由大到小排序S1 m←a
S2 若bS3 若cS4 输出m.a←1
b←2
t←a
a←b
b←t
print a,b2.下列伪代码的输出结果是
A.1,1
B.2,1
C.1,2
D.2,2BB算法初步(习题2)3. 右面是一个算法的伪代码.如果输入的x的值是20,则输出的y的值是
A.100
B.50
C.25
D.150
Read x
If x≤5 then
y←10x
else
y←7.5x
end if
print yD算法初步(习题3)4.下列算法输出的结果是

A.1+3+5+…+2005
B.1×3×5×…×2005
C.求方程
1×3×5×…×n=2005中的n值
D.满足1×3×5×…×n>
2005的最小整数n S←1
I←1
While S≤2005
i←i+2
S←S×i
end while
print iD算法初步(习题4)5.对甲乙两程序和输出结果判断正确的是
A.程序不同,结果不同 B.程序不同,结果相同
C.程序相同,结果不同 D.程序相同,结果相同 S←0
I←1
While i≤1000
S←S+i
i←i+1
end while
print SS←0
I←1000
While i≥1
S←S+i
i←i-1
end while
print SB算法初步(习题5)6. 在上题条件下,假定能将甲、乙两程序“定格”在i=500,即能输出i=500 时一个S值,则输出结果S
A.甲大乙小 B.甲乙相同
C.甲小乙大 D.不能判断
7.不能描述算法的是( )
A.流程图 B.伪代码
C. 数据库 D. 自然语言CC算法初步(习题6)8.算法的有穷性是指?
算法的步骤是有限的。
9.书写算法有四种语句,包括:
赋值语句、输入输出语句、
条件语句、循环语句106次算法初步(习题7)11.右图给出的是计算的值的一个程序框图,其中
判断框内应填入的条件是 .I>10(或 n>20)算法初步(习题8)12.右边的程序框图(如图所示),能判断任意输入的数x的奇偶性,其中判断框内的条件是 .M=0算法初步(习题9)X←1
Y←2
Z←3
X←y
Y←z
Z←x
Print x, y,zJ←1
S←0
While s≤10
S←S+j
J←j+1
End While
Print j13.输出结果是14.输出结果是2,3,26算法初步(习题10) 15.将下列问题的算法用伪代码中的“for”语句表示(写在下面的框中),并画出流程图.I←1
S←0
While i≤10
S←S+i
I←I+1
End While
Print S解:
S←0
For I from 1 to 10
S←S+i
End For
Print S
流程图算法初步(习题11)16.数学的美是令人惊异的!如三位数153,它满足153= ,即这个整数等于它各位上的数字的立方的和,我们称这样的数为“水仙花数”.请您设计一个算法,找出大于100,小于1000的所有“水仙花数”.
(1)用自然语言写出算法;
(2)画出流程图;
(3)用基本算法语句写出伪代码 。
提示:取整函数可以解决从三位数的各位上“提取”数字.
取整函数为int(x),如int(3.5)=3,int(123/100)=1.
算法初步再 见课件11张PPT。中国剩余定理
(孙子问题)“孙子问题”记载在《孙子算经》中,原文是:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?” 孙子问题的现代数学描述
“孙子问题”相当于求关于x,y,z的方程组
的正整数解。 解题分析(1)如何依次检索正整数? (采用循环结构) (2)该循环何时结束? (找到满足条件的整数为止) (3)一个正整数m什么时候满足方程? (m同时满足被3除余2,被5除余3,被7除余2) 引入记号:m被3除余2用符号表示为Mod(m,3)=2;m被5除余3用符号表示为Mod(m,5)=3;m被7除余3用符号表示为Mod(m,7)=2 流程图 伪代码 m ? 2
While Mod (m,3)≠2
or Mod (m,5)≠3
or Mod (m,7)≠2
m ? m+1
End While
Print m例1 有3个连续的自然数,其中最小的能被15整除,中间的能被17整除,最大的能被19整除,求满足要求的一组三个连续的自然数。 分析:本题的其实就是求下面不定方程组的正整数解. 算法S1 取m=1;
S2 当m不能被15整除,或m+1不能被17整除,或m
+2不能被19整除,则m?m+1,转S2;否则输
出m,m+1,m+2,算法结束. 流程图 m ? 1
While Mod (m,15)≠2_
or Mod (m+1,17)≠0_
orMod (m+2,19)≠0
m ? m+1
End While
Print m,m+1,m+2伪代码思考:以下伪代码是否可行? k?1
a?15k
While Mod(a+1,17)≠0 or_
Mod(a+2,19)≠0
k?k+1
a?15k
End While
Print a,a+1,a+2本课小结1.韩信点兵-孙子问题的求解算法; 2.利用循环结构实现整数的搜索; 3.利用逻辑运算符Or实现多条件的判断。 课件9张PPT。辗转相除法

最大公约数,最小公倍数问题情境 求18和30的最大公约数 结论18和30的最大公约数为618和30的最小公倍数为90 (牢记方法!)问题1 求204与85的最大公约数 问题2 求8251与6105的最大公约数 204与85的最大公约数是17 8251与6105的最大公约数是34 辗转相除法: 我们可以证明,对于任意两个正整数,上述步骤总可以在有限步之后完成,从而总可以用辗转相除的方法求出最大公约数 算法设计 :
如何用辗转相除法找出两个正整数a,b的最大公约数? (1)结合问题1和问题2,应该利用什么结构实现该算法? (循环结构) (2)每一次循环中所进行的是什么样的运算? (求a÷b的余数) (3)下一次循环的输入整数应该是什么?循环何时结束? 设a>b,a除以b的余数为r(b>r),则下一次循环的两个数为b,r.
直到r=0为止.算法 S1 输入两个正整数a,b
(a>b);
S2 若Mod(a,b)=0,
则输出最大公约数b,
算法结束;否则r?
Mod(a,b),a? b,
b?r,转S2. 流程图 伪代码 Read a,b
While Mod(a,b)≠0
r?mod(a,b)
a?b
b?r
End While
Print b例1 试画出求正整数a,b最小公倍数的流程图,并写出其伪代码。 Read a,b
c?ab
While Mod(a,b)≠0
r? Mod(a,b)
a?b
b?r
End While
Print c/b分析:解题关键就是:a-int(a/b)×b=mod(a,b) 回顾反思 1.辗转相除法的算法; 2.如何实现当型循环。 课件11张PPT。算法学习的意义? 有助于我们全面地理解运算能力 给出一个问题的不同算法,比较这些算法的优劣并作出选择,从而提高效率——真正的运算过程
? 有利于培养学生的思维能力 将解决具体问题的方法整理成算法的过程是一个条理化、精确化和逻辑化的过程
? 算法思想是贯穿高中课程的基本思想例1(第25页例1)孙子问题:“今有物不知其数,三三数之剩二;五五数之剩三;七七数之剩二.问物几何?答曰:二十三.”分析 “孙子问题”相当于求关于x,y,z的
不定方程组 的正整数解.? 问题背景与分析第4节 算法案例算法 案例10 m←2
20 If mod(m, 3)≠2 then 70
30 If mod(m, 5)≠3 then 70
40 If mod(m, 7)≠2 then 70
50 Print m
60 Goto 90
70 m←m + 1
80 Goto 20
90 End? 流程图与伪代码第4节 算法案例算法 案例10 m = 2
20 If m Mod 3 < > 2 then 70
30 If m Mod 5 < > 3 then 70
40 If m Mod 7 < > 2 then 70
50 MsgBox "不定方程的一个解为" & m
60 Goto 90
70 m = m + 1
80 Goto 20
90 End ? Excel VBA-1第4节 算法案例例2 求两个整数a和b的最大公约数——欧几里得辗转相除法。? 问题背景与分析分析 求出列数:
a,b,r1,r2,…,rn – 1,rn,0.
这列数从第三项开始,每项都是前两项相除所得的余数,余数为0的前一项rn即是a和b的最大公约数.这种方法称为“欧几里得辗转相除法”.第4节 算法案例? 流程图与伪代码10 Read a, b
20 r←mod(a,b)
30 a←b
40 b←r
50 If r ? 0 then 20
60 Print a
70 End 第4节 算法案例算法 案例a = InputBox("输入第一个自然数")
b = InputBox(“输入第二个自然数")
Do
r = a Mod b
a = b
b = r
Loop until r = 0
MsgBox "最大公约数为" & a? Excel VBA第4节 算法案例例3 用二分法求方程x3 - x - 1 = 0在区间 [1,1.5] 内的一个近似解(误差不超过0.001)。? 问题背景与分析第一步 确定有解区间[a, b]
第二步 取[a, b]的中点
第三步 计算函数在中点处的函数值
第四步 判断中点处函数值是否为0
第五步 判断新的有解区间的长度是否小于 给定的误差第4节 算法案例? 流程图与伪代码10 Read a, b, c
20 x0←(a + b)/2
30 f(a)←a3 – a – 1
40 f(x0)←x03 – x0 – 1
50 If f(x0) = 0 then Goto 120
60 If f(a)f(x0) < 0 then
70 b←x0
80 Else
90 a←x0
100 End if
110 If |a – b|≥c then Goto 20
120 Print x0 第4节 算法案例10 a = Val(InputBox("输入区间左端点值"))
20 b = Val(InputBox("输入区间右端点值"))
30 c = Val(InputBox("输入误差点限制"))
40 x0 = (a + b) / 2
50 f1 = a^3 - a - 1
60 f2 = x0^3 - x0 - 1
70 If f2 = 0 Then Goto 140
80 If f1*f2 < 0 Then
90 b = x0
100 Else
110 a = x0
120 End if
130 If Abs(a – b) >= c Then Goto 40
140 MsgBox "方程的近似解为" & x0? Excel VBA-1第4节 算法案例a = Val(InputBox("输入区间左端点值"))
b = Val(InputBox("输入区间右端点值"))
c = Val(InputBox("输入误差限制"))
Do
x0 = (a + b) / 2
f1 = a^3 - a - 1
f2 = x0^3 - x0 - 1
If f2 = 0 Then Exit do
If f1*f2 < 0 Then
b = x0
Else
a = x0
End if
Loop until Abs(a – b) < c
MsgBox "方程的近似解为" & x0? Excel VBA-2第4节 算法案例课件12张PPT。算法案例
二进制一、进位制1、什么是进位制?2、最常见的进位制是什么?除此之外还有哪些常见的进位制?请举例说明.进位制是人们为了计数和运算方便而约定的记数系统。1、我们了解十进制吗?所谓的十进制,它是如何构成的?十进制由两个部分构成例如:3721其它进位制的数又是如何的呢?第一、它有0、1、2、3、4、5、6、7、8、9十个数字;第二、它有“权位”,即从右往左为个位、十位、百位、千位等等。(用10个数字来记数,称基数为10)表示有:1个1,2个十, 7个百即7个10的平方,
3个千即3个10的立方2、 二进制二进制是用0、1两个数字来描述的。如11001等(1)二进制的表示方法区分的写法:11001(2)或者(11001)28进制呢?如7342(8)k进制呢?anan-1an-2…a2a1(k)?二、二进制与十进制的转换1、二进制数转化为十进制数例1 将二进制数110011(2)化成十进制数解:根据进位制的定义可知所以,110011(2)=51。练习将下面的二进制数化为十进制数?(1)11(2)111(3)1111(4)111112、十进制转换为二进制
(除2取余法:用2连续去除89或所得的商,然后取余数)
例2 把89化为二进制数解:根据“逢二进一”的原则,有89=2×44+1= 2× (2×22+0)+1= 2×( 2×( 2×11+0)+0)+1= 2× (2× (2× (2× 5+1)+0)+0)+15= 2× 2+1=2×(2×(2×(2×(22+1)+1)+0)+0)+189=1×26+0×25+1×24+1×23+0×22+0×21+1×20所以:89=1011001(2)=2×(2×(2×(23+2+1)+0)+0)+1=2×(2×(24+22+2+0)+0)+1=2×(25+23+22+0+0)+1=26+24+23+0+0+2189=2×44+144= 2×22+022= 2×11+011= 2× 5+1= 2× (2× (2× (2× (2× 2+1)+1)+0)+0)+1所以89=2×(2×(2×(2×(2 × 2 +1)+1)+0)+0)+12、十进制转换为二进制例2 把89化为二进制数522212010余数11224889222201101注意:
1.最后一步商为0,
2.将上式各步所得的余数从下到上排列,得到:89=1011001(2)练习将下面的十进制数化为二进制数?(1)10(2)20(3)128(4)256例3 把89化为五进制数3、十进制转换为其它进制解:根据除k取余法以5作为除数,相应的除法算式为:所以,89=324(5)。将k进制数a转换为十进制数(共有 n位)的程序a=anan-1… a3a2a1(k) =ank(n-1)+an-1k(n-2)+ … + a3k2 +a2k1+a1k0b=a1k0b=a2k1 +bb=a3k2 + b…b=ankn-1 +bai=GET a[i]
GET函数用于取出a的右数第i位数INPUT a,k,ni=1b=0WHILE i<=nt=GET a[i]b=t*k^(i-1)+bi=i+1WENDPRINT bENDi=i+1i=1b=aiki-1+b小结与作业2、掌握二进制与十进制之间的转换1、进位制的概念课件24张PPT。算法复习算法基本思想程序化思想基本结构流程图顺序结构与选择结构变量与赋值循环结构基本语句循环语句条件语句for语句while语句if语句复合if语句实际应用有序插入冒泡排序语句适用结构基础知识算法知识结构:赋值语句常用的流程图符号:起止框输入输出框判断框处理框流程线(一)算法的特征 有穷性:一个算法应包含有限的操作步骤而不能是
无限的。 确定性:算法中每一个步骤应当是确定的,而不应当
是含糊的、模棱两可的。有效性:算法中每一个步骤应当能有效地执行,并得到
确定的结果。输 入: 有零个或多个输入。输 出: 有一个或多个输出。二、算法基本知识点:有限性、确定性(二)三种算法语言1、自然语言2、流程图(顺序结构,选择结构,循环结构)3、程序语言
(1)顺序结构是指在一个算法中运算是按照步骤依次执行
的,这是一种最简单的算法结构,也是任何一个算法
必不可少的逻辑结构。(2)顺序结构的流程图如图顺序结构选择结构(1)选择结构是指在算法中有时要进行判断,判断的结果直接决定后面的执行步骤,这样的结构叫作选择结构,有时也称为条件结构、条件分支结构等。(2)选择结构的流程图如图计算机执行这种结构的算法,
先对条件进行判断,
若条件为真,则执行步骤1,若条件为假,
则执行步骤2.循环结构:(1)循环结构的概念(2)循环结构的三要素(3)循环结构的设计步骤: 循环结构是指在算法中从某处开始,按照一定的条件反复执行某一处理步骤的结构。在科学计算中,有许多有规律的复计算,如累加求和、累乘求积等问题。循环变量,循环体、循环的终止条件。 3)确定循环的终止条件。1)确定循环结构的循环变量和初始条件2)确定算法中需要反复执行的部分,即循环体;(4)循环结构的算法流程图3程序语言(介于自然语言与计算机语言之间)(1)输入输出语句(2)赋值语句(交换两个变量)(3)条件语句 基本算法语句赋值语句的一般格式为:变量名:=表达式If条件语句的基本类型(一)流程图If语句If条件语句的基本类型(二)流程图If复合条件语句循环语句基本类型(一) for语句for语句一般形式:for <循环变量>from<初始值> to <终值>
step”步长”
<循环体>
end for(4)循环语句循环语句基本类型(二) while语句while语句的一般形式:While
……
END WHILE题型1概念题 (三种语言,三种结构,算法语句)
2读懂程序语言(求输出结果,该算法问题是?)
3大题(编写程序)
 (1)输入输出语句,赋值语句
 (2)条件语句
 (3)循环语句(for 语句, while语句)
 (4)实际问题
例1:阅读下列for语句的算法,说明此算法的
处理功能.例2:设计算法,输出1000以内整除15的所有整数,并且求它们的和。方法(一)S=0
For I from 1 to 66
a=15*I
Print a
S=s+a
End for
Print s
例2:设计算法,输出1000以内整除15的所有正整数,并且求它们的和。方法(二)I=1,s=0
While I≤66
a=15*I
print a
I=I+1
S=s+a
End while
Print s
1、下列对算法的理解中不正确的是:
A 一个算法应包含有限的操作步骤,而不能是无限的
B 算法中的每一个步骤都应该是确定的
C 算法执行后一定产生确定的结果
D 一个问题只能设计出一种算法
课堂训练2、下列各式中的S值,能设计出算法求解的是:
①s=1+2+3+…+100
②s=1+2+3+…+100+…
③s=1+2+3+…+n(n≥1,且n∈N)
A ①② B ①③ C ②③ D ①②③ 3、设计程序,计算 ,
并输出结果.例1.???? 编写函数 的算法,根据输入的x
的值,计算y的值.
例4.读入80个自然数,统计出其中奇数的个数,
用伪代码表示解决这个问题的算法过程. 作业:P34
T4, 8, 9课件13张PPT。基本算法语句循环结构的三要素循环变量,循环体、循环的终止条件。画循环结构流程图前:
①确定循环变量和初始条件;
②确定算法中反复执行的部分,即循环体;
③确定循环的转向位置;
④确定循环的终止条件. 算法的基本逻辑结构有三种,即顺序结构、条件结构和循环结构。已知我班某学生上学期期末考试语文、数学和英
语学科成绩分别为80、100、89,试设计适当的算
法求出这名学生三科的平均分. 算法:
S1 a←80
S2 b←100
S3 c←89
S4 A←(a+b+c)/3
S5 输出A怎样将以上算法转换成计算机能
理解的语言呢?
下面我们将通过伪代码学习基本
的算法语句.   伪代码:介于自然语言和计算机语言之间的文字和符号,是表达算法的简单而实用的好方法. 伪代码的书写原则:计算机中具有的关键字用英文表示,其他的可用汉字表示,总之以便于书写和阅读为原则,用伪代码写算法并无固定的,严格的语法规则 赋值语句:就是将表达式所代表的值赋给变量的语句变量  表达式用字母表示为:x  y  表示将y的值赋给x,其中x是一个变量,y是一个与x同类型的变量或表达式.计算机执行赋值语句时,先计算右边的表达式的值,然后把这个值赋给左边的变量例如: 输入、输出语句:分别用来实现算法的输入信息、输出结果的功能的语句输入语句格式: Read a,b表示输入的数据依次送给a、b输出语句格式:Print x,y表示依次输出结果x,y伪代码:
Read a,b,c
A←(a+b+c)/3
Print A求任意三门功课的平均值的算法.
“鸡兔同笼”是我国隋朝时期的数学著作
《孙子算经》中的一个有趣而具有深远
影响的题目:“今有雉兔同笼,上有三十
五头,下有九十四足,问雉兔各几何?”
请你先列出解决这个问题的方程组,并设
计一个解二元一次方程组的通用算法,并画
出流程图,写出伪代码.
“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”

某工种是计件算工资的,每月工资=每月完成的数量(件)×每件工资,再从总工资中扣除5%交纳各种费用,其余为实发工资。试设计一流程图,通过输入每件工资和完成数量,输出实发工资。并写出伪代码输入单价a,数量n输出yRead a,nPrint y练习巩固一、分析下面程序执行的结果Read A,B
B A+B
A B-A
B B-A
Print A,B
End
(运行时从键盘输入3,7)(1)(2)A -1000
A A+100
Print“A=”A
End 将一个变量的值赋给另一个变量,前一个变量的值保持不变;可先后给一个变量赋多个不同的值,但变量的取值总是最近被赋予的值 。A=-900A,B =7 3P17 练习1、2、3课件21张PPT。请看小品“钟点工”片段。一、问题情境 要把大象装冰箱,分几步?问:答:分三步:第一步:打开冰箱门第二步:把大象装冰箱第三步:关上冰箱门2、现有九枚硬币,有一枚略重,你能用天平(不用砝码)
将其找出来吗?设计一种方法,解决这一问题.3、猜商品价格:第一步 报4000;第二步 若正确,就结束,若高了,则报2000.
若低了,则报6000;第三步 重复第二步的报数方法,直到得出正确结果.一、问题情境 一商品价格在0~8000元之间,问竞猜者采取什
么策略才能在较短时间内猜出商品价格?二、建构数学1、算法的含义 算法:计算机能实现的算法为一类问题的机械的、统
一的求解方法.广义地说:为了解决某一问题而采取的方法和步骤,就称之为算法。
一般而言,对一类问题的机械的、统一的求解方法称为算法。数学史介绍20 世纪最伟大的科学技术发明---计算机计算机是对人脑的模拟,它强化了人的思维智能;没有软件的支持,超级计算机只是一堆废铁而已;软件的核心就是算法 !算法的研究和应用正是本课程的主题 !现代科学研究的三大支柱研究算法建立数学模型选取计算方法编写上机程序计算得出结果科学计算解题过程广播操图解是广播操的算法;
菜谱是做菜的算法;
歌谱是一首歌曲的算法;
空调说明书是空调使用的算法等21世纪信息社会的两个主要特征:
“计算机无处不在”
“数学无处不在”21世纪信息社会对科技人才的要求:
--会“用数学”解决实际问题
--会用计算机进行科学计算例1、给出求1+2+3+4+5的一个算法。算法1:S1:计算1+2得到3;S2:将第一步中的运算结果3与3相加得到6;S3:将第二步中的运算结果6与4相加得到10;S4:将第三步中的运算结果10与5相加得到15;算法2:S1:取n=5;S3:输出运算结果。S2:计算三、数学运用算法3:例1、给出求1+2+3+4+5的一个算法。三、数学运用2、算法的特点 有限性:一个算法应在执行有限个步骤后必须结束.确定性:算法中每一个步骤和次序应当是确定的.二、建构数学3、算法的思想 :程序化思想例2 给出求解方程组
的一个算法;解:我们用消元法求解这个方程组,步骤是:①②第一步:方程①不动,将方程②中x的系数除以方
程①中x系数,得到乘数第二步:方程②减去m乘以方程 ①,消去方程②中
x项,得到
第一步:方程①不动,将方程②中x的系数除以方
程①中x系数,得到乘数第三步:将上面的方程组自下而上回代求解,得
到 这种消元回代的算法适用于一般线性方程组的求解.四、回顾反思1、算法的含义:为一类问题的机械的、统一的求解方法 2、算法的特点 :有限性、确定性3、算法的思想 :程序化思思想3、算法的表述形式: ⑴用日常语言和数学语言或借助于形式语言(算法语言)各处精确的说明。
⑵程序框图(简称框图)。
⑶程序语言。作业: 1.?? 必做题:课本第6页练习1/2/3/4
2.?? 选做题:写出用二分法求方程x2-5=0的近似解的一个算法
(精确到0.01)
3.? 拓展延伸:查阅书籍或登录数学网站
http://61.142.127.132/sx/sxsh/qinjiuchao.htm,了解秦九韶
算法

展开更多......

收起↑

资源列表