版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 算法初步1 1.1算法与程序框图2 1.1.1 算法的概念(第1课时)3 1.1 算法与程序框图(共3课时)1.1.1 算法的概念(第1课时)【课程标准】通过对解决具体问题过程与步骤的分析(如二元一次方程组求解等问题),体会算法的思想,了解算法的含义.【教学目标】1.理解算法的概念与特点; 2.学会用自然语言描述算法,体会算法思想; 3.培养学生逻辑思维能力与表达能力.【教学重点】算法概念以及用自然语言描述算法【教学难点】用自然语言描述算法【教学过程】一、序言算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础. 在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具.
2、 听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机几乎渗透到了人们生活的所有领域. 那么,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始. 同时,算法有利于发展有条理的思考与表达的能力,提高逻辑思维能力.在以前的学习中,虽然没有出现算法这个名词,但实际上在数学教学中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步骤等等,完成这些工作都需要一系列程序化的步骤,这就是算法的思想.二、实例分析例1:写出你在家里烧开水过程的一个算法. 解:第一步:把水注入电锅; 第二步:打开电源把水烧开; 第三步:把烧开的水注入热水瓶. (以上算法是解决某一问题的程序或步骤)例2:给出
3、求1+2+3+4+5的一个算法.解: 算法1 按照逐一相加的程序进行 第一步:计算1+2,得到3;第二步:将第一步中的运算结果3与3相加,得到6; 第三步:将第二步中的运算结果6与4相加,得到10; 第四步:将第三步中的运算结果10与5相加,得到15. 算法2 可以运用公式1+2+3+=直接计算 第一步:取=5;第二步:计算; 第三步:输出运算结果.(说明算法不唯一)例3:(课本第2页,解二元一次方程组的步骤) (可推广到解一般的二元一次方程组,说明算法的普遍性)例4:用“待定系数法”求圆的方程的大致步骤是: 第一步:根据题意,选择标准方程或一般方程;第二步:根据条件列出关于,或,的方程组;
4、第三步:解出,或,代入标准方程或一般方程.三、算法的概念通过对以上几个问题的分析,我们对算法有了一个初步的了解.在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.四、知识应用例5:(课本第3页例1)(难点是由质数的定义判断一个大于1的正整数是否为质数的基本方法)练习1:(课本第4页练习2)任意给定一个大于1的正整数,设计一个算法求出的所有因数. 解:根据因数的定义,可设计出下面的一个算
5、法: 第一步:输入大于1的正整数. 第二步:判断是否等于2,若,则的因数为1,;若,则执行第三步.第三步:依次从2到检验是不是整除,若整除,则是的因数;若不整除,则不是的因数.例6:(课本第4页例2)练习2:设计一个计算1+2+100的值的算法. 解:算法1 按照逐一相加的程序进行第一步:计算1+2,得到3;第二步:将第一步中的运算结果3与3相加,得到6; 第三步:将第二步中的运算结果6与4相加,得到10; 第九十九步:将第九十八步中的运算结果4950与100相加,得到5050. 算法2 可以运用公式1+2+3+=直接计算 第一步:取=100;第二步:计算; 第三步:输出运算结果.练习3:(课
6、本第5页练习1)任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积. 解:第一步:输入任意正实数;第二步:计算; 第三步:输出圆的面积.五、课堂小结1. 算法的特性: 有穷性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不能是无限的. 确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可. 可行性:算法中的每一步操作都必须是可执行的,也就是说算法中的每一步都能通过手工和机器在有限时间内完成.输入:一个算法中有零个或多个输入.输出:一个算法中有一个或多个输出.2. 描述算法的一般步骤: 输入数据.(若数据已知时,应用赋值;若数据为任意未知时,
7、应用输入) 数据处理. 输出结果.六、作业1. 有a、b、c三个相同规格的玻璃瓶,a装着酒精,b装着醋,c为空瓶,请设计一个算法,把a、b瓶中的酒精与醋互换.2. 写出解方程的一个算法.3. 利用二分法设计一个算法求的近似值(精确度为0.005).4. 已知,写出求直线ab斜率的一个算法. () ()5. 已知函数 设计一个算法求函数的任一函数值1.1.2 程序框图(第2课时)【课程标准】通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中(如三元一次方程组求解等问题),理解程序框图的三种基本逻辑结构:顺序、条件分支、循环.【教学目标】1.理解程序框图的概念;
8、2.掌握运用程序框图表达顺序结构和条件结构的算法; 3.培养学生逻辑思维能力与表达能力.【教学重点】运用程序框图表达顺序结构和条件结构的算法【教学难点】规范程序框图的表示以及条件结构算法的框图【教学过程】一、回顾练习 1. 已知一个三角形的三边长分别为2,3,4,利用海伦秦九韶公式设计一个算法,求出它的面积. 2. 任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.二、程序框图的有关概念1. 两道回顾练习的算法用程序框图来表达,引入程序框图概念.2. 程序框图的概念 程序框图又称流程图,是一种规定的图形、指向线及文字说明来准确、直观地表示算法的图形.3. 构成程序
9、框图的图形符号及其作用(课本第6页)4. 规范程序框图的表示: 使用标准的框图符号.框图一般按从上到下、从左到右的方向画,流程线要规范.除判断框外,大多数框图符号只有一个进入点和一个退出点.一种判断是“是”与“否”两分支的判断,而且有且仅有两个结果;输入输出语句另一种是多分支判断,有几种不同的结果.在图形符号内描述的语言要非常简练清楚.三、顺序结构顺序结构是由若干个依次执行的处理步骤组成.例1:(课本第9页例3)输入a,b输出a,b开始结束a=bx=ab=x练习1:交换两个变量a和b的值,并输出交换前后的值. 解:算法如下: 程序框图:第一步:输入a,b的值.第二步:把a的值赋给x.第三步:把
10、b的值赋给a.第四步:把x的值赋给b.第五步:输出a,b的值.语句1满足条件?是否语句2四、条件结构根据条件判断,决定不同流向.例2:(课本第10页例4)练习2:有三个整数,由键盘输入,输出其中最大的数.解:算法1第一步:输入,;第二步:若,且;则输出;否则,执行第三步; 第三步:若,则输出;否则,输出. 算法2第一步:输入,;第二步:若,则;否则,; 第三步:若,则输出;否则,输出.练习3:已知,求的值. 设计出解决该问题的一个算法,并画出程序框图.解:算法如下:第一步:;第二步:; 第三步:;第四步:;第五步:;第六步:输出.练习4:设计一个求任意数的绝对值的算法,并画出程序框图.解:第一
11、步:输入任意实数;第二步:若,则;否则; 第三步:输出.练习5:(课本第18页例6)设计一个算法,使得任意输入的3个整数按从大到小的顺序输出,并画出程序框图.练习6:五、课堂小结1. 画程序框图的步骤:首先用自然语言描述解决问题的一个算法,再把自然语言转化为程序框图;2. 理解条件结构的逻辑以及框图的规范画法,条件结构主要用在判断、分类或分情况的问题解决中.六、作业1. 已知华氏温度与摄氏温度的转换公式是:,写出一个算法,并画出程序框图,使得输入一个华氏温度,输出其相应的摄氏温度.2. 如果考生的成绩大于或等于60分,则输出“及格”,否则输出“不及格”,试写出一个算法,并画出程序框图.3. 画
12、出1+2+3+4+5的一个算法的程序框图.4. (课本第20页习题1.1a组第2题)5. 输入一元二次方程的系数,输出它的实数根,试写出一个算法,并画出程序框图.1.1.2 程序框图(第3课时)【课程标准】通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中(如三元一次方程组求解等问题),理解程序框图的三种基本逻辑结构:顺序、条件分支、循环.【教学目标】1.进一步理解程序框图的概念; 2.掌握运用程序框图表达循环结构的算法; 3.培养学生逻辑思维能力与表达能力.【教学重点】运用程序框图表达循环结构的算法【教学难点】循环体的确定,计数变量与累加变量的理解.【教学过
13、程】一、回顾练习 引例:设计一个计算1+2+100的值的算法. 解:算法1 按照逐一相加的程序进行第一步:计算1+2,得到3;第二步:将第一步中的运算结果3与3相加,得到6; 第三步:将第二步中的运算结果6与4相加,得到10; 第九十九步:将第九十八步中的运算结果4950与100相加,得到5050.简化描述: 进一步简化:第一步:sum=0; 第一步:sum=0,i=1; 第二步:sum=sum+1; 第二步:依次i从1到100,反复做sum=sum+i; 第三步:sum=sum+2; 第三步:输出sum. 第四步:sum=sum+3; 第一百步:sum=sum+99; 第一百零一步:sum=
14、sum+100第一百零二步:输出sum. 根据算法画出程序框图,引入循环结构.二、循环结构满足条件?是否循环体循环结构:在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这种结构称为循环结构.满足条件?否循环体是循环体:反复执行的处理步骤称为循环体.计数变量:在循环结构中,通常都有一个起到循环计数作用的变量,这个变量的取值一般都含在执行或终止循环体的条件中.当型循环:在每次执行循环体前对控制循环条件进行判断,当条件满足时执行循环体,不满足则停止.直到循环:在执行了一次循环体之后,对控制循环体进行判断,当条件不满足时执行循环体,满足则停止.练习1:画出引例直到型循环
15、的程序框图.当型循环与直到循环的区别:当型循环可以不执行循环体,直到循环至少执行一次循环体.当型循环先判断后执行,直到型循环先执行后判断. 对同一算法来说,当型循环和直到循环的条件互为反条件.练习2:1.1.1节例1的算法步骤的程序框图(如图) 说明:为了减少难点,省去flag标记;解释赋值语句“”与“”,还有“;简单分析.练习3:画出的程序框图.小结:画循环结构程序框图前:确定循环变量和初始条件;确定算法中反复执行的部分,即循环体;确定循环的转向位置;确定循环的终止条件.三、条件结构与循环结构的区别与联系 区别:条件结构通过判断分支,只是执行一次;循环结构通过条件判断可以反复执行. 联系:循
16、环结构是通过条件结构来实现.例1:(课本第10页的探究)画出用二分法求方程的近似根(精确度为0.005)的程序框图,并指出哪些部分构成顺序结构、条件结构和循环结构?练习4:设计算法,求使成立的最小自然数的值,画出程序框图.练习5:输入50个学生的考试成绩,若60分及以上的为及格,设计一个统计及格人数的程序框图.练习6:指出下列程序框图的运行结果 五、课堂小结1. 理解循环结构的逻辑,主要用在反复做某项工作的问题中;2. 理解当型循环与直到循环的逻辑以及区别:当型循环可以不执行循环体,直到循环至少执行一次循环体.当型循环先判断后执行,直到型循环先执行后判断. 对同一算法来说,当型循环和直到循环的
17、条件互为反条件.3. 画循环结构程序框图前:确定循环变量和初始条件;确定算法中反复执行的部分,即循环体;确定循环的转向位置;确定循环的终止条件.4. 条件结构与循环结构的区别与联系: 区别:条件结构通过判断分支,只是执行一次;循环结构通过条件判断可以反复执行. 联系:循环结构是通过条件结构来实现.七、作业1. 设计一个算法,计算两个非0实数的加、减、乘、除运算的结果(要求输入两个非0实数,输出运算结果),并画出程序框图.2. 设计一个算法,判断一个数是偶数还是奇数(要求输入一个整数,输出该数的奇偶性),并画出程序框图.3. 设计一个算法,计算函数当时的函数值,并画出程序框图.4. (课本第11
18、页习题1.1a组第2题)5. 如果我国工农业产值每年以9%的增长率增长,问几年后我国产值翻一翻,试用程序框图描述其算法.6.(课本第20页习题1.1b组第1、2题)1.2 基本算法语句(共3课时)(有条件在电脑室上)1.2.1 输入语句、输出语句和赋值语句(第1课时)【课程标准】经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想【教学目标】1.理解输入语句、输出语句和赋值语句; 2.能运用输入语句、输出语句和赋值语句表达解决具体问题的过程; 3.培养学生逻辑思维能力与表达能力.【教学重点】输入语句、输出语
19、句和赋值语句的表示方法、结构和用法【教学难点】将具体问题的程序框图转化为程序语句的过程,赋值语句的逻辑关系【教学过程】一、回顾知识 顺序结构及其框图二、输入语句、输出语句和赋值语句 例1:(课本第21页例1)分析:首先画出解决该问题算法的程序框图,并解析basic语言中的数学运算符号表示.如:写成2*3,写成53,写成5/3,5除以3的余数为“5 mod 3”,5除以3的商为“53”,写成“sqr(2)”,写成“abs()”等等.1. 输入语句的一般格式 input “提示内容”;变量 说明:输入语句的作用是实现算法的输入信息功能.“提示内容”提示用户输入什么样的信息,用双引号.提示内容与变量
20、之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,”隔开,如“input “a=,b=,c=”;a,b,c”.变量是指程序在运行是其值是可以变化的量,如中的a,b,c都是变量,通俗把一个变量比喻成一个盒子,盒子内可以存放数据,可随时更新盒子内的数据.如中当依次输入了1,2,3程序在运行时把输入的值依次赋给a,b,c,即a=1,b=2,c=3. 例如,输入一个学生数学、语文、英语三门课的成绩: input “maths,chines,english”;a,b,c 输入任意整数n: input “n=”;n2. 输出语句的一般格式 print “提示内容”;表达式说明:输出语句的作用是
21、实现算法的输出结果的功能,可以在计算机的屏幕上输出常量、变量的值和系统信息.“提示内容”提示用户输出什么样的信息,用双引号.提示内容与表达式之间用分号“;”隔开. 要输出表达式中的字符,需要用双引号“”,如:print “提示内容:”;“a+2”,这时屏幕上将显示:提示内容:a+2.例如,下面的语句可以输出斐波那契数列: print“the fibonacci progression is:”;1 1 2 3 5 8 13 21 34 55 “” 这时屏幕上将显示: the fibonacci progression is: 1 1 2 3 5 8 13 21 34 55 例2:(课本第23页
22、例2) 分析:补充写出屏幕上显示的结果.3.赋值语句的一般格式 变量=表达式说明:赋值语句的作用是将表达式所代表的值赋给变量.赋值语句中的“=”叫做赋值号,它和数学中的等号不完全一样;赋值号的左右两边不能对换,赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量,如a=b表示用b的值代替变量a原先的值.格式中右边“表达式”可以是一个数据、常量和算式,如果“表达式”是一个算式时,赋值语句的作用是先计算出“=”右边表达式的值,然后将该值赋给“=”左边的变量,如若a=1,b=2,c=a+b是指先计算a+b的值3赋给c,而不是将a+b赋给c. 例3:(课本第25页例3) 分析:先画出程序框图,重点分
23、析“a=a+15”.例4:(课本第15页例4) 分析:先画出程序框图.4. 输入语句、输出语句和赋值语句之间的区别 (1)输入语句和赋值语句的区别:输入语句是外部直接给程序中变量赋值;赋值语句是程序内部运行时给变量赋值,先计算右边的表达式,得到的值赋给左边的变量. (2)输入语句和输出语句的区别:输入语句是外部直接给程序中变量赋值;输出语句是程序运行的结果输出到外部,先计算表达式,得到结果输出.三、课堂练习 1. (课本第24页练习1) (要求:先画出程序框图)2. (课本第24页练习2) (要求:先画出程序框图)3. (课本第24页练习3) 4. (课本第24页练习4) (要求:先画出程序框
24、图)5. (课本第33页习题1.2a组第1题) 6.四、课堂小结1. 理解输入语句、输出语句和赋值语句的一般格式,注意标点符号的使用以及数学符号的表示和数学式子的表示;2. 赋值语句与数学中等号的区别.3. 编写一个程序的步骤:首先用自然语言描述问题的一个算法,然后把自然语言转化为程序框图,最后把程序框图转化为程序语句.4. 输入语句和赋值语句的区别:输入语句是外部直接给程序中变量赋值;赋值语句是程序内部运行时给变量赋值,先计算右边的表达式,得到的值赋给左边的变量.5. 输入语句和输出语句的区别:输入语句是外部直接给程序中变量赋值;输出语句是程序运行的结果输出到外部,先计算表达式,得到结果输出
25、.五、作业1.(课本第33页习题1.2a组第2题)2. 编写一个程序,给任意三个变量a、b、c赋值,求的值.3. 已知直线方程为,试编写一个程序,要求输入符合条件的a、b、c的值,输出该直线在轴、轴上的截距和斜率.4. 编写一个程序,任意输入五个数,并在每加一个数时输出当时的累加和.1.2 基本算法语句(共3课时)(有条件在电脑室上)1.2.2 条件语句(第2课时)【课程标准】经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想【教学目标】1.理解、掌握条件语句; 2.能运用条件语句表达解决具体问题的过程;
26、 3.培养学生逻辑思维能力与表达能力,进一步体会算法思想.【教学重点】条件语句的表示方法、结构和用法【教学难点】将具体问题的程序框图转化为程序语句的过程,条件语句的逻辑关系【教学过程】一、回顾知识1. 什么是条件结构?画出其程序框图.2.练习:写出解不等式的一个算法,并画出程序框图.二、条件语句 1. 把回顾练习中的程序框图转化为程序语句. input “a=”;a input “b=”;b if a0 then print “不等式的解为:”;a/b else print “不等式的解为:”;a/b end if end语句1满足条件?是否语句22. 条件语句的一般格式 (1)ifthenl
27、ese形式 if 条件 then 语句1 else 语句2 end if 说明:当计算机执行上述语句时,首先对if后的条件进行判断,如果条件符合,就执行then后的语句,否则执行else后的语句.书写时一个条件语句中的if与end if要对齐.语句满足条件?是否(2)ifthen形式 if 条件 then 语句 end if 说明:当计算机执行上述语句时,首先对if后的条件进行判断,如果条件符合,就执行then后的语句,否则直接结束该条件语句. () ()三、知识应用练习1:已知函数 编写一个程序,对每输入的一个值,都得到相应的函数值.例1:(课本第25页例6)编写程序,输入一元二次方程的系数
28、,输出它的实数根. 分析:首先画出程序框图,再转化为程序语句;解释平方根与绝对值basic语言的表示;注意两重条件的表示方法.例2:(课本第27页例7)编写程序,使得任意输入的3个整数按从大小的顺序输出. 分析:首先画出程序框图,再转化为程序语句.四、课堂练习1. (课本第29页练习1) 2. (课本第29页练习2) 3. (课本第29页练习3) (要求:先画出程序框图)4. (课本第29页练习4) (要求:先画出程序框图)5. 6.五、课堂小结 1.理解条件语句的两种表达形式以及何时用格式1、何时用格式2.2.注意多个条件的语句表达方法:如(a+bc) and (b+ca) and (a+c
29、b).3.条件语句的嵌套,注意end if是和最接近的匹配,要一层套一层,不能交叉.3.编写一个程序的步骤:首先用自然语言描述问题的一个算法,然后把自然语言转化为程序框图,最后把程序框图转化为程序语句.六、作业1.(课本第23页习题1.2a组第3题)2.(课本第24页习题1.2b组第2题)3. 某市电信部门规定:拨打市内电话时,如果通话时间不超过3分钟,则收取通话费0.2元;如果通话 超过3分钟,则超过部分以0.1元/分钟收取通话费.问:设计一个计算通话费用的算法,并且画出程序框图以及编出程序.4. 编写一个程序,任意输入一个整数,判断它是否是5的倍数.5. 基本工资大于或等于600元,增加工
30、资10%;若小于600元大于等于400元,则增加工资15%;若小于400元,则增加工资20%. 请编一个程序,根据用户输入的基本工资,计算出增加后的工资.1.2 基本算法语句(共3课时)(有条件在电脑室上)1.2.3 循环语句(第3课时)【课程标准】经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想【教学目标】1.理解、掌握循环语句; 2.能运用循环语句表达解决具体问题的过程; 3.培养学生逻辑思维能力与表达能力,进一步体会算法思想.【教学重点】循环语句的表示方法、结构和用法【教学难点】将具体问题的程序框
31、图转化为程序语句的过程,当型循环和直到型循环的格式与逻辑的区别与联系.【教学过程】一、回顾知识1. 什么是循环结构?画出其程序框图.2. 引例:(课本第13页例6)设计一个计算1+2+100的值的算法,并画出程序框图. 分析:由程序框图转化为程序语句,引入循环语句.满足条件?否循环体是二、循环语句 1. 当型(while型)语句的一般格式: while 条件 循环体 wend满足条件?是否循环体 说明:当计算机遇到while语句时,先判断条件的真假,如果条件符合,就执行while与wend之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为
32、止.这时,计算机将不执行循环体,直接跳到wend语句后,接着执行wend之后的语句.因此,当型循环有时也称为“前测试型”循环.2. 直到型(until型)语句的一般格式: do 循环体 loop until 条件 说明:当计算机遇到until语句时,先执行do和loop until之间的循环体,然后判断条件是否成立,如果不成立,执行循环体.这个过程反复执行,直到某一次符合条件为止,这时不再执行循环体,跳出循环体执行loop until后面的语句. 因此,直到型循环有时也称为“后测试型”循环.3.当型循环与直到型循环的区别: 当型循环先判断后执行,直到型循环先执行后判断.当型循环用while语句
33、,直到型循环用until语句.对同一算法来说,当型循环和直到循环的条件互为反条件.三、知识应用练习1:编写程序,计算函数当时的函数值.例1:设计一个算法,求的和(其中的值由键盘输入),画出程序框图并编程.例2:把课本第7页的程序框图转化为程序语句.练习2:(课本第32页练习1)练习3:(课本第32页练习2)练习4:某玩具厂2004年的生产总值为200万元,如果年生产增长率为5%,试编一个程序,计算最早在哪一年生产总值超过300万元.练习5: 练习6:四、课堂小结1. 理解、掌握当型循环和直到型循环的逻辑与格式的区别与联系. 2. 当型、直到型循环条件的构造,循环体的确定.3. 由程序框图转化为
34、程序语句时,条件结构和循环结构的区别.4. 编写一个程序的步骤:首先用自然语言描述问题的一个算法,然后把自然语言转化为程序框图,最后把程序框图转化为程序语句.五、作业1.(课本第33页习题1.2a组第1题)2.(课本第33页习题1.2a组第2题)3.(课本第33页习题1.2a组第3题)4.(课本第33页习题1.2b组第1题)1.3算法案例(共3课时)辗转相除法、更相减损术和秦九韶算法(第2课时)【课程标准】通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献.【教学目标】1.理解辗转相除法、更相减损术和秦九韶算法; 2.能对辗转相除法、更相减损术和秦九韶进行算理分析,学会应用
35、算法解题; 3.培养学生逻辑思维能力与表达能力,进一步体会算法思想.【教学重点】辗转相除法、更相减损术和秦九韶算法的算理分析【教学难点】辗转相除法、更相减损术和秦九韶算法的算理分析【教学过程】一、回顾知识1.什么是顺序结构,及其程序框图;输入、输出语句与赋值语句的一般格式.2.什么是条件结构,及其程序框图;条件语句的一般格式.3.什么是循环结构,及其程序框图;循环语句的一般格式.二、辗转相除法 练习1:求18与30的最大公约数.例1:求8251与6105的最大公约数. 分析:引入辗转相除法.1. 辗转相除的原理. 简单分析2. 辗转相除法的算法分析. 用较大的数除以较小的数,得到除式,直到.课
36、本第26页的图是直到型循环,还可以用当型循环.直到型循环程序: 当型循环程序:input “m=”;m input “m=”;minput “n=”;n input “n=”;nif mn then if mn then t=m t=m m=n m=n n=t n=tend if end ifdo r=m mod n r=m mod n m=n while r0 n=r m=nloop until r=0 n=rprint “m与n的最大公约数:”;m r=m mod nend wend print “m与n的最大公约数:”;n end三、更相减损术算法分析:比较两个数的大小,较大的数减去较小
37、的数,接着把所得的差与较小的数比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.当型循环程序:input “m=”;minput “n=”;nif mn thent=mm=nn=tend ifr=m-nwhile nr if nr thent=nn=rr=tend ifm=nn=rr=m-nwendprint “m与n的最大公约数:”;nend例2:(课本第27页例1)例3:求72与196的最大公约数. (说明当两个数学都是2的倍数时,更相减损术求最大公约数的方法)练习2:(课本第36页练习1)四、秦九韶算法 算法分析:(课本第27页) 例3:(课
38、本第38页例2)练习3:(课本第45页练习1、2)五、课堂小结 理解、掌握辗转相除法、更相减损术和秦九韶算法的原理、作用以及算法分析,进一步体会算法思想. 学会应用算法解体.六、作业1.(课本第48页习题1.3a组第1题)2.(课本第48页习题1.3a组第2题)3. 设计一个算法,输出1000以内(包括1000)能被3和5整除的所有正整数,并画出算法的程序框图以及编程.4. 全班一共40个学生,设计算法流程图,统计班上数学成绩优秀(100分数85)的学生人数,计算出全班同学的平均分.1.3算法案例(共3课时)排序与割圆术(第2课时)【课程标准】通过阅读中国古代数学中的算法案例,体会中国古代数学
39、对世界数学发展的贡献.【教学目标】1.理解、掌握排序;了解割圆术; 2.能运用直接插入排序法和冒泡排序法对一些数据进行排序; 3.培养学生逻辑思维能力与表达能力,进一步体会算法思想.【教学重点】排序的算法分析及其应用【教学难点】冒泡排序法以及割圆术的理解【教学过程】一、排序1. 直接插入排序 直接插入排序的算法分析:先将前两个数按要求的顺序排好,然后把第3个数与这两个排好的数进行大小比较,按其大小关系将第3个数插到已排好的两个数中的适当位置,使之符合要求,然后再将第4个数按同样的方法插到已排好序的三个数中恰当的位置上,依次下去,直到把最后一个数插到前边已排好的数中合适的位置为止. 直接插入排序
40、法是一种从部分到全体,从局部到整体的排序方法.例1:对8,3,2,5,9,6从小到大进行排序.2. 冒泡排序 冒泡排序的算法分析:把整个排序过程划分为若干趟,每一趟都是从第1个数开始把它与和它相邻的下一个数进行大小比较,若符合规定的顺序要求,这两个数位置不变,否则调整这两个数的位置,直到比较完最后两个数,然后再进行下一趟,直到某一趟中排序交换次数为0,说明排序已经完成.例2:(课本第46页例3)用冒泡法对数据7,5,3,9,1从小到大进行排序.说明:规范运用直接插入排序法和冒泡排序法对一些数据进行排序的解题步骤.练习1:试用两种排序方法将以下8个数:7,1,3,12,8,4,9,10,按照从大
41、到小的顺序进行排序.二、割圆术1.割圆术的原理 简单分析2.割圆术的算法分析三、课堂小结 1. 理解直接插入排序法和冒泡排序法的算法原理,在运用直接插入排序法和冒泡排序法对一些数据进行排序时,注意表达的格式. 2. 通过排序与割圆术两个案例的分析,进一步体现算法思想.四、作业1. 火车站对乘客退票收取一定的费用,具体办法是:按票价每10元(不足10元按10元计算)核收2元;2元以下(包括2元)的票不退. 试画出票价为元的车票退掉后,返还的金额元的算法的程序框图.进位制(第3课时)【课程标准】通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献.【教学目标】1.应用类比的方法理
42、解k进制的有关概念(与学生熟悉的十进制类比); 2.通过实例分析k进制与其他进制的互化,让学生归纳到一般的情形.【教学重点】十进制与其它进制的互化【教学难点】十进制化为其它进制【教学过程】一、进位制的有关概念1. 进位制2. 基数3. 进制的表示二、十进制与其它进制的互化1.把进制的数化为十进制的数的方法是:先把这个进制的数写成各位上的数字与的幂的乘积之和的形式,再按照十进制数的运算规则计算出结果.2.把十进制的数化为进制的数的方法,即除取余法:用连续去除该十进制数或所得的商,直到商为零为止,然后把每次所得的余数倒着排成一个数,就是相应的进制数.三、知识应用例1:(课本第41页例3)把二进制数
43、110011(2)化为十进制数.例2:(课本第35页例5)把89化为二进制数.例3:(课本第35页例6)把89化为五进制数.练习1:把二进制数101101101(2)化为十进制数.练习2:把二进制数101101101(2)化为八进制数.例4、设计一个算法,把k进制的数a(共有n位)化为十进制数b四、课堂小结1. 进制的数与十进制的数互化的方法;2. 进制的数之间互化时,先化为十进制的数,再化为其它进制.五、作业1.(课本第38页习题1.3a组第4题)2. 求底面边长为4,侧棱长为5的正四棱锥的体积.为该问题设计一个算法并分别画出程序框图.3.(课本第40页复习参考题a组第3题)4.(课本第40
44、页复习参考题a组第5题)算法初步复习课(1课时)【教学目标】1.回顾算法的概念以及三种基本逻辑结构; 2.掌握三种基本逻辑结构的应用; 3.掌握条件结构与循环结构互相嵌套的应用.【教学重点】三种基本逻辑结构的应用【教学难点】条件结构与循环结构互相嵌套的应用【教学过程】一、算法的基本概念1. 算法定义描述:在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.2. 算法的特性:有穷性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不能是无限的.确定性:算法中的每一步应该是确定的并且能有效地执行且得到
45、确定的结果,而不应当是模棱两可.可行性:算法中的每一步操作都必须是可执行的,也就是说算法中的每一步都能通过手工和机器在有限时间内完成.输入:一个算法中有零个或多个输入.输出:一个算法中有一个或多个输出. 例1:任意给定一个大于1的整数,试设计一个程序或步骤对是否为质数做出判定. 解:算法如下:第一步:判断是否等于2. 若,则是质数;若,则执行第二步.第二步:依次从2()检验是不是的因数,即整除的数.若有这样的数,则不是质数;若没有这样的数,则是质数.二、三种基本逻辑结构1. 顺序结构 顺序结构是由若干个依次执行的处理步骤组成.输入输出语句 输入语句:input “提示内容”;变量 输出语句:p
46、rint “提示内容”;表达式 赋值语句:变量=表达式 例4:交换两个变量a和b的值,并输出交换前后的值.输入a,b输出a,b开始结束a=bx=ab=x 解:算法如下: 程序框图:第一步:输入a,b的值.第二步:把a的值赋给x.第三步:把b的值赋给a.第四步:把x的值赋给b.第五步:输出a,b的值.程序如下:input “a=,b=”;a,bx=aa=bb=xprint a,bend语句1满足条件?是否语句22. 条件结构 根据条件判断,决定不同流向. (1)ifthenlese形式 if 条件 then语句满足条件?是否 语句1 lese 语句2 end if(2)ifthen形式 if 条
47、件 then 语句 end if 例6:编写程序,使得任意输入的3个整数按大到小的顺序输出.3. 循环结构 从某处开始,按照一定条件,反复执行某一处理步骤.满足条件?否循环体是 (1)当型(while型)循环: while 条件 循环体wend 满足条件?是否循环体(2)直到型(until型)循环: do 循环体 loop until 条件 例5:设计一个计算1+2+100的值的算法,并画出程序框图三、基本方法1. 编写一个程序的三个步骤:第一步:算法分析:根据提供的问题,利用数学及相关学科的知识,设计出解决问题的算法;第二步:画出程序框图:依据算法分析,画出对应的程序框图;第三步:写出程序:
48、耕具程序框图中的算法步骤,逐步把算法用相应的程序语句表达出来. 例4:交换两个变量a和b的值,并输出交换前后的值.2. 何时应用条件结构? 当问题设计到一些判断,进行分类或分情况,或者比较大小时,应用条件结构;分成三种类型以上(包括三种)时,由边界开始逐一分类,应用多重条件结构.注意条件的边界值.如:(题目条件有明显的提示)(1)编写一个程序,任意输入一个整数,判断它是否是5的倍数.(2)编写求一个数是偶数还是奇数的程序,从键盘上输入一个整数,输出该数的奇偶性.(3)编写一个程序,输入两个整数a,b,判断a是否能被b整除.(4)某市电信部门规定:拨打市内电话时,如果通话时间不超过3分钟,则收取通话费
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论