资源描述
高中数学《算法初步》单元教学设计
设计者:李暐(庄浪县第一中学13649339224) 郝长江(庄浪县第一中学15293337988)
一、单元教学目标
本单元教学设计分成四个模块:
(1)算法的概念;
(2)程序框图与算法的基本逻辑结构;
(3)基本算法语句;
(4)算法案例。
三维目标
1.知识与技能:从实例出发了解算法的概念,会识别一些简单的程序框图,掌握算法的基本逻辑结构、基本算法语句,几种特殊的算法案例。
2.过程与方法:尝试有条理的思考与表达算法,框图的识别,算法的逻辑结构,提高学生的逻辑思维能力;初步实现对具体问题的过程与步骤的分析,发展从具体问题中提炼算法思想的能力;算法的过程既重视“算则”,更重视“算理”。
3.情感态度与价值观:通过本单元的学习,让学生感受我国古代、现代数学家对数学发展的影响和贡献,增进民族自豪感,增强对科学的热爱;体验算法的作用与价值,培养学生刻苦学习,努力拼搏努力成才的学习的积极性;有助于培养学生的逻辑思维能力,有助于培养学生的理性精神,有助于学生感受数学的应用价值。
二、要素分析
(一)数学分析
为解决一个问题而采取的方法和步骤,称为算法。算法是数学的重要组成部分,是计算机理论和技术的基础。随着现代信息技术的飞速发展,算法思想已经成为现代人应具备的一种数学素养。新课标中将算法列为必修内容,正是为了使学生形成符合时代要求的新的“数学基础”。算法是高中数学课程中的新内容,其思想是非常重要的,但并不神秘陌生,它与传统的数学内容有密切的联系,虽然,在传统的数学内容中没有出现过这个名称,但是,它的思想反复体现在传统的数学内容中,可以说渗透到大部分内容之中。例如,求解一元一次方程,一元二次方程,二元一次方程组,求解不等式,求最大公因数,求解线性规划问题,几何作图,几何证明,等等,都可以说是算法问题。了解了算法的基本知识,会对这些问题又有一个新的认识。
(二)标准分析
新教材中之所以设置算法的内容,是基于以下几方面的认识:
(1)算法具有悠久的历史背景
人类最早关于算法的记录存在于在两河流域发现的公元前两三千年的泥板书上,其中的一个典型例子就是计算利息何时能够等于本金。算法早期发展中值得一提的另一个成果应归功于古希腊的欧几里得,他提出的计算最大公约数的欧几里得算法(又称辗转相除法)至今仍在使用。而算法也是中国古代数学的一大特色。从中国古代的筹算、珠算、《九章算术》到吴文俊院士的机械化证明,都表明我国对算法的研究和运用有着悠久的历史、优良的传统和丰硕的成果。《周髀算经》、《九章算术》、《算学启蒙》、《四元玉鉴》等著作奠定了在14世纪以前中国一直是世界上数学最为发达的国家。中国古代数学以计算为中心、具有程序性和机械性的算法化数学模式与古希腊的以几何定理的演绎推理为特征的公理化数学模式相辉映,交替影响世界数学的发展。
中国古代算法案例:
更相减损之术、辗转相除法:求两个正数的最大公因数的方法。
辗转相除法算法步骤:第一步:用两数中较大数除以较小数,求商和余数.第二步:用除数除以余数。第三步:重复第二步,直到余数为0。第四步,得出两数的最大公约数,即余数0之前的余数。
更相减损术算法步骤:第一步:用较大数减去较小数,得到差。第二步:比较减数与差的大小,再用较大数减去较小数。第三步:重复第二步,直到差与减数相等为止。第四步:相等数即为最大公约数。
割圆术:用正多边形的面积逐渐逼近圆面积的算法求圆周率。p
秦九韶算法:求一元多项式的值的一种方法,递推关系
v0=an;
vk=vk-1+an-k(k=1,2,…n)。
(2)算法在现代生活中有着广泛的应用
古代的计算工具有算筹与算盘,而20世纪最伟大的发明是计算机,计算机是实现各种算法的强大工具。算法是数学的重要组成部分,是计算机理论和技术的基础.随着计算机在科学研究、经济建设和社会管理等方面扮演的角色越来越重要,算法思想和算法技术有了更广阔的应用领域和更精练的表述形式,使之成为人们操控计算机的基本技术,也成为现代公民必备的一种数学素养。例如计算机算法分为数值运算算法和非数值运算算法。数值运算的目的是求数值解,例如求方程的根,求一个函数的定积分等,此类算法与数学联系比较紧密。而非数值运算包括的面十分广泛,最常见的是用于事务管理领域,例如图书检索、人事管
理、行车调度管理等。
一个程序应包括:
①对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构(data structure)。
②对操作的描述。即操作步骤,也就是算法(algorithm)。可以说,程序就是遵循一定规则的、为完成指定工作而编写的代码。有一个经典的等式阐明了什么叫程序:
程序=算法+数据结构+程序设计方法+语言工具和环境。因此,算法是程序的灵魂!
(3)算法是重要的数学研究对象
算法作为一个名词,在初中教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念.但是我们却从小学就开始接触算法,熟悉许多问题的算法。如:做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现.在中学我们学习解一元二次方程,解一元一次不等式、一元二次不等式,解线性方程组等,这些都体现了算法思想。随着计算机技术的迅猛发展,诸如排序算法、图论中的算法、无限的迭代算法等等,已为当代数学教育所密切关注。所以算法也是现代数学发展的一个重要方向。
(4)算法是中国数学课程内容的新特色
中国古代数学以算法为主要特征,取得了举世公认的伟大成就。现代信息技术的发展使算法焕发了前所未有的生机和活力,算法进入中学数学课程,既反映了时代的要求,也是中国古代数学思想在一个新的层次上的复兴.毫无疑问,也就成为中国数学课程的一个新的特色.我国数学家吴文俊在继承中国传统数学的算法特征的基础上,创造性地发展了机器证明,用中国传统方法解决西方人擅长的几何论证问题。这也是我国传统特色与信息技术创造性结合的典范。他于2000年获得首届国家最高科学技术奖。
(三)学生分析
算法对学生来说既是陌生的又是熟悉的,陌生是算法的概念,在以前的学习过程中没有提出过算法这一概念,更不了解算法的基本特征。熟悉的是算法的实例情境,算法的实例情境在整个高中新课程中都有体现,其中蕴含的算法思想早已存在,只不过学生没有有意识的体会其算法的思想。比如在数学2的解析几何初步中,把利用公式计算的几何问题进行分步求解,其中就蕴涵着程序化解题思想,因而对学生来说又好像似曾相识,这对算法的概念教学是有利的。
高一学生刚开始接触算法初步内容感觉到不是得心应手,学生在学习过程中只注意到结论性的事实,对解题步骤中抽象出算法的概念存在着一定的难度。学生在学习了有关算法和框图的基础知识。绝大多数同学对算法和框图的学习有相当的兴趣和积极性。但在探究问题的能力,应用数学的意识等方面发展不够均衡,尚有待加强。
(四)重点分析
(1)算法的分析与计算机实现
例如,在新教材中的一个循环结构形式的算法渗透了高中数学知识。
例:设计一个计算1+2+⋯⋯+100的值的算法及其程序。
1.算法分析:第一步,令i=1,S=0。第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法。第三步,S=S+1。第四步,i=i+1,返回第二步。
变式 1:设计一个计算 12+22+32+⋯⋯+1002 的值的算法
算法分析:循环体关键部分语句为“S=S+i*i,i=i+1”。
变式 2:设计一个计算 2+4+6+⋯⋯+100 的值的算法
算法分析:循环体关键部分语句为“S=S+2*i,i=i+1”。
变式 3:设计一个计算 1+2+4+7+⋯⋯+46 的值的算法
算法分析:循环体关键部分语句为“S=S+t,i=i+1,t=t+i”。
以上例子和3个变式充分地运用算法中的条件结构和循环结构,在循环结构中一定有条件结构,通过循环变量的“i”,在循环体“sum=sum+i”与“i=i+1”中的变化体现算法的多样性、计算机和数学的紧密联系。学生通过模仿、操作、探索,学习程序设计框图表达解决问题的过程,体会算法的思想和含义,理解算法的基本结构和基本算法语句。
(2)算法与函数结合
例:某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:
f=
其中f(单位:元)为托运费,ω为托运物品的重量(单位:千克),试写出一个计算费用f的算法,并画出相应的程序框图。
解:算法如下:
第一步,输入物品重量ω;
第二步,如果ω≤50,那么f=0.53ω;
否则,f=50×0.53+(ω-50)×0.85。
第三步,输出托运费f。
程序框图如右图所示:
以上是分段函数的一个算法,算法的思想使我们平时的函数解题更加程序化,条理更清晰。类似的去模拟计算机如何运行,使我们对有关函数题目有更深刻的理解.解题方法的程序化,需要算法在问题中展现过程。
(3)算法在实际生活中的应用
例:到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费汇款不超过100元,收一元手续费;超过100元但不超过5000元,按汇款额的1%收取;超过5000元,一律收取50元手续费。试用算法描述汇款额为x元时,银行收取手续费为y元的过程。在我们的实际生活中,如汇款、交电费、寄包裹等经常运用到算法。可见算法与我们的生活息息相关。该题实际上是一个常见的分段函数问题,而分段函数问题是典型的条件语句问题,所以很容易得到算法,要注意条件语句的运用.实际生活中的许多问题,通过设计算法,会由计算机得以解决。
(4)经典数学中的算法
《九章算术》是中国古代的数学专著,其中的“更相减损术”也是用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之”。后人称为更相减损法。以上算法能让学生体会算法优势,体现古代人的聪明才智。
(五)教材比较分析
本单元是人教版《普通高中新课程标准实验教科书·数学(A版)》必修3第一章《算法初步》的内容,包括“算法的概念”、“程序框图与算法的基本逻辑结构”、“基本算法语句”、“算法案例”。随着“算法”进入新课标,课堂上、考场上使用计数器必然给我们课堂学习和考试带来观念上的革命,必然引起解题方法的革命,尽管现阶段计数器还不能进入高考考场,但随着我们对“算法”的学习与认识不断深入,相信不久的将来,高考会接纳计数器,算法必将溶入高中数学大家庭,融入到数学课程的各个相关部分。
近几年数学高考试题(特别是上海卷、北京卷)在这方面做了许多成功的探索,各地的高考模拟试题也把计算机科学与数学问题相结合,设计出许多创新试题,成为高考命题的新亮点。目的就是渗透信息技术和算法思想,在计算机科学背景下(新的情景中),考查考生的一般数学能力:包括学习数学新知识的能力、探究数学问题的能力、应用数学知识解决实际问题的能力及数学创新能力。
算法应用广泛:
(1)利用计算器可对各种具体角的三角函数值求值,容许计算器进入考场必然产生新的解题方法,因此,一些传统的应用三角公式进行三角变换的问题有待改进。
(2)“算法”就是有步骤地解决某一类问题的过程。现代科学技术和生产实践对算法提出了新的要求,因此,新的课程理念十分重视算法的学习.每年高考数学解析几何试题中,都有许多这种模式化的算法问题。
(3)“算法”在数列、反三角函数、指对数函数、排列、组合、概率、统计等中也有广泛的应用。
注意计算器上的统计功能键能够帮助我们有效地整理、分析数据,结合数字模型还可以进一步作出判断和预测。我们还可以建立线性回归、二次回归、对数回归、指数回归和乘方回归等模型,比较方便地处理数据以及进行相关的运算和分析等等。更多的还在于我们自己去探索、去发现,只要我们理解和掌握了问题的算法,解题过程不也就是一个程序化的操作吗?
在高中数学中,我们知道,函数思想、代数运算思想、算法思想、空间观念(几何直观、空间想象、数形结合)、数据处理与随机思想,它们都是贯穿了高中数学课程始终的核心思想,不仅在必修课程中,而且在选修课程中,也包括在选3、选4的课程中,它们像“无形的网络”把整个高中数学的内容有机地联系起来。作为高中数学主线之一的算法部分,我们很多老师感到恐怖,总觉得自己不会.通过研修学习,我对算法这一新内容有了了解,由害怕到期待着该内容的教学了,并切深感新教材内容的设计理念越来越能体现数学的实用的价值,不再枯燥乏味。
(六)教学方式分析
(1)教学中学生自主探究
由于算法内容属于“默会知识”,学之道在于“悟”。教学中应当充分重视学生亲身感受、实践操作、合作交流,给学生提供探索与交流的空间,使数学学习过程真正成为学生在已有经验基础上的主动建构过程,在知识的形成与应用过程中认识和掌握双基,在经历过程中感悟算法的思想和方法。在强调学生自主探究的同时,教师也应适度地给予引导、帮助,如教学情境的设计、适时的点拨、情感激励等。
(2)目标和要求适当
张奠宙先生指出:“算法应该从小学开始教”,“算法贯穿整个中学数学”。的确,算法的思想和知识、技能,是学生的终身发展所必需的。但是要求学生通过12课时就能一步到位,系统地掌握程序的设计和编写,显然是不现实的。算法内容重要的是让学生体会算法的思想,理解算法的重要性与有效性,加强逻辑思维,在经历过程中理解逻辑结构和语句。可以要求学生在观察、模仿的基础上,在教师的指导下尝试解决一些简单的问题,不应过分注重技术操作,将算法内容单纯地变成程序语言的学习和程序设计。
(3)教材编写要贴近学生实际
在教材的编写中内容的呈现与设计,素材的选取都应贴近学生的实际,有助于激发学习兴趣,让学生乐于、易于接受,能较好地促进学生的自主探索。其中实例的开发尤为重要。另外教材编写中要把算法内容作为主线渗透到其他数学内容中去,以及与高中信息技术教材相呼应。
(4)新课标中算法内容的重难点
①算法设计
算法与平时解题的区别,在于平时解题不一定有严格的程序,而要让计算机执行,必须严格按步骤进行.因此在算法设计中,应将平时解题中没有想清楚的每一步都想清楚,这对学生的逻辑思维能力是极大的考验.另外,算法的多样性和方法的优化也会使学生很不适应。
②逻辑结构理解
对于某个具体的数学问题,理解设计程序框图时逻辑结构的选择和应用是难点,因为综合运用知识解决具体问题的能力是学生的薄弱环节,就好比认识字不一定能写出好的文章一样。
一般算法有顺序结构、条件分支结构、循环结构三种基本逻辑结构。
顺序结构的特点
这是最简单的结构,由若干个依次执行的步骤组成,语句与语句之间、
框与框之间按从上到下的顺序执行,它是任何一种算法都离不开的一种
算法结构。如图所示,A和B两个框是依次执行的,只有在执行完A框
所指定的操作后,才能执行B的操作。
条件结构
算法中经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向,这种先根据条件作出判断再决定执行哪一种操作的结构称为条件结构。如下图(1)所示。
此结构包含一个判断框,根据给定的条件是否成立而选择执行A框或B框,注意,无论条件是否成立,只能执行A框或B框之一,不可能同时执行,也不可能都不执行,无论走哪一路径,再执行完A框或B框之后就脱离条件结构,A或B框中可以有一个是空的,即不进行任何操作,如上图(2)所示。
关于循环结构的几点说明
①循环结构中必须包含条件结构,以保证在适当时候终止循环。
②循环结构只有一个入口一个出口。
③在循环结构中,循环体被执行的次数必须是有限次,不能存在死循环,即无终止循环。
循环结构中常用的几个变量:
①计数器:即记数变量用来记录某个事件发生的次数,如i=i+1,n=n+1。
②累加器:即累加变量,用来计算并存放数据之和,如sum=sum+i。
③累乘器:即累乘变量,用来计算并存放数据之积,如s=s*i。
对于这些变量,在程序开始,一般先赋值,一般情况下,计数器可设初值为0或1;累加器可设初值为0;累乘器可设初值为1。
三种基本逻辑结构的共同特点
①只有一个入口。
②只有一个出口,请注意一个菱形判断框有两个出口,而一个选择结构只有一个出口,不要将菱形框的出口和选择结构的出口混为一谈。
③结构内的每一部分都有机会被执行到。也就是说对每一个框来说都应当有一条从入口到出口的路径通过它。像上图中的A,没有一条从入口到出口的路径通过它,就是不符合要求的流程图。
④结构内不存在死循环,即无终止的循环,像下图就是一个死循环。在流程图中是不允许有死循环出现的。
⑤在施教过程中发现程序框图与算法的基本逻辑结构、输入语句、输出语句和赋值语句、条件语句和循环语句的基本用法是教学的重点;算法语句的写法是教学的难点。
三、教学流程设计
第1课时,通过问题情景导入,让学生们仔细体验有步骤、有顺序的解决问题的过程,然后自己总结得出任何一个问题都能按一定的顺序去解决,引出对算法概念的理解。
第2课时,通过思路1(情景导入),学生讨论,提出新知识问题,什么是程序框图?程序框图怎么去画,构成程序框图的图形符号及其作用。
第3课时,提出问题,指出几种算法语句和框图的对应关系,着重让学生识记输入、输出语句、赋值语句的一般格式,掌握条件语句和循环语句的特点。
第4课时,学生通过学习前三个课时的基础上,再学习算法案例,熟悉前面内容的同时,加强后期新知识的衔接,教材中对几种特殊的案例设计的应用要有重新的认识,从而提高学生的认识水平和数学思想方法的掌握。更相减损术、碾转相除法、秦九韶算法以及进位制的学习有助于学生数学分析能力的提高。
四、重点教学设计
应从三个方面把握本单元教学设计:
(1)知识间的联系;(2)数学思想方法;(3)认知规律。
本单元教学时数如果细分的话约需12课时,具体分配如下(仅供参考):
§1.1.1算法的概念
约1课时
§1.1.2程序框图与算法的基本逻辑结构
约4课时
§1.2.1输入语句、输出语句和赋值语句
约1课时
§1.2.2条件语句
约1课时
§1.2.3循环语句
约1课时
§1.3算法案例
约3课时
本单元复习
约1课时
我对该单元教学设计按照网络知识点分成四个模块做以下阐述,包括算法的概念、程序框图与算法的基本逻辑结构、基本算法语句、算法案例。《算法初步》这一单元的知识网络图如下所示:
第1课时 算法的概念
(一)问题情景
问1、要把水果装入冰箱分几步?
学生回答
第一步:把冰箱打开;第二步:把水果放进冰箱;第三步:把冰箱门关上。
问2、如何求一元二次方程的解
学生写过程
解:第一步:计算;
第二步: ,则 ;如果,则方程无解;
第三步:输出方程的根或无解的信息。
问3、指出在家中烧开水的过程分几步?【学生回答】
例:写出解二元一次方程组 的步骤。
解:第一步;②-①×2得3y=-3;③
第二步;解③得y=-1;
第三步;将y=-1代入①,解得x=4 即方程的解为
上面的三个问题的解法都是机械的统一的方法;
【设计意图】 让学生们仔细体验有步骤、有顺序的解决问题的过程。
(二)概念构建
通过上面几个问题的解决都用到了算法,在以前我们还没有接触到算法概念,但是我们却从小就开始接触算法,熟悉许多问题的算法。如:做四则运算时要“先乘除后加减,从里往外脱括弧”,竖式笔算等都是算法,我们知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,解线性方程组的算法,求两个数的最大公因数的算法等。因此,算法其实是重要的数学对象。
现在,我们是否对算法有些清晰的认识了呢?
算法的概念:
算法(algorithm):通常指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。
算法过程:要能一步一步执行,每一步执行的操作,必须确切,不能含混不清楚,而且经过有限步后能得出结果。
同学们通过以上几个例子,及课本中给出的算法的定义,能否体会到算法有哪些特征?
同学们总结,教师用语言加以完善后板书。
【设计意图】 让学生们在仔细体验后,用自己的理解方式来说出特征,可以进一步培养学生的观察、归纳能力,发动学生的积极性。
算法的几个重要特征:
有穷性:一个算法应包含有限的操作步骤而不能是无限的。
确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的。
有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。
请同学们带着两个问题来学习下面两个例题:
(1)算法是怎么来的?(从解决具体问题的过程中抽象得到的)
(2)算法有什么用?(提供了解决某一类问题的一种方法)
【设计意图】 学生们对算法的认识毕竟是刚刚才产生的,所以在初次接触的情况下,应把重心放在对算法的体验上,而非题目本身,这两个问题将有助于学生对算法有一个更正确的理解。
(三)案例设计
例1.(1)设计一个算法,判断7是否为质数;(2)设计一个算法,判断35是否为质数。
(1)的算法如下:
第一步:用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。
(2)的算法如下:
第一步:用2除35,得到余数1。因为余数不为0,所以2不能整除35;
第二步:用3除35,得到余数2。因为余数不为0,所以3不能整除35;
第三步:用4除35,得到余数3。因为余数不为0,所以4不能整除35;
第四步:用5除35,得到余数0。因为余数为0,所以5能整除35。因此35不是质数。
例2.用二分法设计一个求方程x2-2=0的近以解的算法。
算法描述:
第一步:令x2-2=0,给出精确度d;
第二步:确定区间[a,b],满足f(a)·f(b)<0;
第三步:取区间中点m=0.5(a+b);
第四步:若f(a)f(m)<0,则零点在区为[a,m],否则,零点在区间[m,b]。将新得到的含零点的区间记为[a,b];
第五步:看[a,b]的长度是否少于d或f(m)是否等于0,若是,则m是方程的近以解;否则返回第三步。【设计意图】 让学生们在已经建立好的对算法的认识基础上,学习先用自然语言来描述算法,结合必修1中对二分法求方程近似解的步骤,以期望能在知识上产生共鸣,达到知识深化的目的。
(四)课堂练习
1.任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积;
2.任意给定一个大于1的正实数n,设计一个算法求出n的所有质因数。
(五)课堂小结
算法:通常是指按照一定规则解决某一类问题的明确的和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行。古老的算法,在新的时代背景下,又成了新时代的需求。
(六)课外作业
1.认真体会课本本节的内容;
2.写出求 的一个算法。
第2课时 程序框图与算法的基本逻辑结构
(一)问题情景
思路1(情景导入)
我们都喜欢外出旅游,优美的风景美不胜收,如果迷了路就不好玩了,问路有时还听不明白,真是急死人,有的同学说买张旅游图不就好了吗,所以外出旅游先要准备好旅游图。旅游图看起来直观、准确,本节将探究使算法表达得更加直观、准确的方法。这节课我们学习程序框图及顺序结构。
推进新课(新知探究)
提出问题
(1)什么是程序框图?
(2)说出终端框(起止框)的图形符合与功能;
(3)说出输入、输出框的图形符号与功能;
(4)说出处理框(执行框)的图形与功能;
(5)说出判断框的图形符号及功能;
(6)说出流程线的图形符号及功能;
(7)说出连接点的图形符号及功能;
(8)总结几个基本的程序框、流程线和它们表示的功能;
(9)什么是顺序结构、条件结构和循环结构?
(学生讨论)总结出以下的结论:
(二)概念构建
(1)程序框图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形;
(2)构成程序框的图形符号及其作用
程序框
名称
功能
起止框
表示一个算法的起始和结束,是任何算法程序框图不可缺少的。
输入、输出框
表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。
处理框
赋值、计算。算法中处理数据需要的算式、公式等,它们分别写在不同的用以处理数据的处理框内。
判断框
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时在出口处标明则标明“否”或“N”。
流程线
算法进行的前进方向以及先后顺序
循环框
用来表达算法中重复操作以及运算
连结点
连接另一页或另一部分的框图
注释框
帮助编者或阅读者理解框图
(3)程序框图的构成
一个程序框图包括以下几部分:实现不同算法功能的相对应的程序框;带箭头的流程线;程序框内必要的说明文字。
p
A
B
Y
N
A
B
顺序结构
输入n
flag=1
(4)很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构。三种逻辑结构可以用如下程序框图表示:
A
成立
不成立
P
当型循环结构 直到型循环结构
成立
不成立
P
A
条件结构
(三)案例设计
题型一 程序框图
例1.如果学生的成绩大于或等于60分,则输出“及格”,否则输出“不及格”.用程序框图表示这一算法过程。
解:程序框图如图所示:
(分组讨论,然后从每组中选出一个代表把自己画的程序框图写在黑板上,全班学生评价)
变式训练1 画出解不等式ax+b>0(b≠0)的程序框图。
解:
题型二 算法的顺序结构
例2. 图一是某县参加2014年高考的学生身高条形统计图,从左到右的各条形表示的学生人数依次记为A1,A2,…,A10(如A2表示身高(单位:cm)在[150,155)内的学生人数)。图二是统计图一中身高在一定范围内学生人数的一个算法流程图。现要统计身高在160~180cm(含160cm,不含180cm)的学生人数,那么在流程图中的判断框内应填写的条件是( )
A.i<6? B.i<7? C.i<8? D.i<9?
图一
解:根据题意可知,i的初始值为4,输出结果应该是A4+A5+A6+A7,因此判断框中应填写i<8?,选C。
【设计意图】本题的命题角度较为新颖,信息量较大,以条形统计图为知识点进行铺垫,介绍了算法流程图中各个数据的引入来源,其考查点集中于循环结构的终止条件的判断,考查了学生合理地进行推理与迅速作出判断的解题能力,解本题的过程中不少考生误选A,实质上本题中的数据并不大,考生完全可以直接从头开始限次按流程图循环观察,依次写出每次循环后的变量的赋值,即可得解。
变式训练2 某店一个月的收入和支出,总共记录了N个数据a1,a2,…,aN,其中收入记为正数,支出记为负数,该店用如图所示的程序框图计算月总收入S和月净盈利V,那么在图中空白的判断框和处理框中,应分别填入下列四个选项中的( )
A.A>0?,V=S-T
B.A<0?,V=S-T
C.A>0?,V=S+T
D.A<0?,V=S+T
【解析】选C.
题型三 算法的条件结构
例3.某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:
f=
其中f(单位:元)为托运费,ω为托运物品的重量(单位:千克),试写出一个计算费用f的算法,并画出相应的程序框图。
解:算法如下:
第一步,输入物品重量ω;
第二步,如果ω≤50,那么f=0.53ω;
否则,f=50×0.53+(ω-50)×0.85。
第三步,输出托运费f.
程序框图如右图所示。
【设计意图】求分段函数值的算法应用到条件结构,因此在程序框图的画法中需要引入判断框,要根据题目的要求引入判断框的个数,而判断框内的条件不同,对应的框图中的内容或操作就相应地进行变化。
变式训练3 阅读如图的程序框图,若输出s的值为-7,则判断框内可填写( )
A.i<3? B.i<4? C.i<5? D.i<6?
解:i=1,s=2-1=1;
i=3,s=1-3=-2;
i=5,s=-2-5=-7.所以选D。
【设计意图】让学生倒着考虑问题,已知输出的值,通过观察程序框图中逻辑结构填入判断框中的条件,有利于学生逻辑思维的能力培养。
题型四 算法的循环结构
例4.设计一个计算10个数的平均数的算法,并画出程序框图。
解:算法步骤如下:
第一步,令S=0;
第二步,令I=1;
第三步,输入一个数G;
第四步,令S=S+G;
第五步,令I=I+1;
第六步,若I>10,转到第七步;
若I≤10,转到第三步;
第七步,令A=S/10;
第八步,输出A。
据上述算法步骤,程序框图如图。
【设计意图】(1)引入变量S作为累加变量,引入I为计数变量,对于这种多个数据的处理问题,可通过循环结构来达到;(2)计数变量用于记录循环次数,同时它的取值还用于判断循环是否终止,累加变量用于输出结果。
变式训练4 设计一个求1×2×3×…×10的程序框图。
解:
学生通过做此题要学会和总结循环体中的两个判断框中的循环条件刚好相反,问什么呢?
变式训练3 阅读如图的程序框图,若输出s的值为-7,则判断框内可填写( )
A.i<3? B.i<4? C.i<5? D.i<6?
变式训练4 设计一个求1×2×3×…×10的程序框图。
(五)课堂小结
画流程图的规则:
为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则作一下简单介绍:
(1)使用标准的框图符号。
(2)框图一般按从上到下、从左到右的方向画。
(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框是具有超过一个退出点的惟一符号。
(4)一种判断是“是”与“否”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果。
(5)在图形符号内描述的语言要非常简练清楚。
(六)课外作业 习题1.1A组第1题、第2题、第3题
第3课时 基本算法语句
(一)导入新课
思路1(情景导入)
中国足球对在亚洲杯上的失利说明,中国足球仍然需要请外国教练。高水平的外国教练有先进的足球理念,有系统的科学的训练计划,有先进的足球技术,但由于语言不通不能直接传授给队员。算法步骤、程序框图虽然容易掌握,但计算机不能理解,因此我们需要学习算法语句。
思路2(直接导入)
前面我们学习了程序框图的画法,为了让计算机能够理解算法步骤、程序框图,我们开始学习算法语句。
推进新课
提出问题
(1)指出输入语句、输出语句、赋值语句、条件语句和循环语句的格式、功能、要求;(2)利用框图总结五种语句的功能、格式、特点;
(3)指出几种语句和框图的对应关系;
(4)试仿照例题能写出一些简单的程序语言。
学生一边看书一边讨论,最后分组汇总讨论的结果,得出以下一些概念:
(二)概念构建
1.输入语句
输入语句的格式:INPUT “提示内容”; 变量
例如:INPUT “x=”;x功能:实现算法的输入变量信息(数值或字符)的功能。
要求:
(1)输入语句要求输入的值是具体的常量;
(2)提示内容提示用户输入的是什么信息,必须加双引号,提示内容“原原本本”的在计算机屏幕上显示,提示内容与变量之间要用分号隔开;
(3)一个输入语句可以给多个变量赋值,中间用“,”分隔;输入语句还可以是““提示内容1”;变量1,“提示内容2”;变量2,“提示内容3”;变量3,……”的形式。例如:INPUT“a=,b=,c=,”;a,b,c。
2.输出语句
输出语句的一般格式:PRINT“提示内容”;表达式
例如:PRINT“S=”;S
功能:实现算法输出信息(表达式)
要求:
(1)表达式是指算法和程序要求输出的信息;
(2)提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和表达式分开。
(3)如同输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之间可用“,”分隔;输出语句还可以是“提示内容1”;表达式1,“提示内容2”;表达式2,“提示内容3”;表达式3,……”的形式;例如:PRINT “a,b,c:”;a,b,c。
3.赋值语句
赋值语句的一般格式:变量=表达式
赋值语句中的“=”称作赋值号
作用:赋值语句的作用是将表达式所代表的值赋给变量;
要求:
(1)赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个常量、变量或含变量的运算式。如:2=x是错误的;
(2)赋值号的左右两边不能对换。赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量。如“A=B”“B=A”的含义运行结果是不同的,如x=5是对的,5=x是错的,A+B=C是错的,C=A+B是对的。
(3)不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等),如
,这是实现不了的。在赋值号右边表达式中每一个变量的值必须事先赋给确定的值。在一个赋值语句中只能给一个变量赋值。不能出现两个或以上的“=”。但对于同一个变量可以多次赋值。
4.条件语句
(1)“IF—THEN—ELSE”语句
格式:
IF 条件 THEN
语句1
ELSE
语句2
END IF
说明:在“IF—THEN—ELSE”语句中,“条件”表示判断的条件,“语句1”表示满足条件时执行的操作内容;“语句2”表示不满足条件时执行的操作内容;END IF表示条件语句的结束。计算机在执行“IF—THEN—ELSE”语句时,首先对IF后的条件进行判断,如果符合条件,则执行THEN后面的“语句1”;若不符合条件,则执行ELSE后面的“语句2”。
(2)“IF—THEN”语句
格式:
IF 条件 THEN
语句
END IF
说明:“条件”表示判断的条件;“语句”表示满足条件时执行的操作内容,条件不满足时,直接结束判断过程;END IF表示条件语句的结束。计算机在执行“IF—THEN”语句时,首先对IF后的条件进行判断,如果符合条件就执行THEN后边的语句,若不符合条件则直接结束该条件语句,转而执行其它后面的语句。
5.循环语句
(1)当型循环语句
当型(WHILE型)语句的一般格式为:
WHILE 条件
循环体
WEND
说明:计算机执行此程序时,遇到WHILE语句,先判断条件是否成立,如果成立,则执行WHILE和WEND之间的循环体,然后返回到WHILE语句再判断上述条件是否成立,如果成立,再执行循环体,这个过程反复执行,直到一次返回到WHILE语句判断上述条件不成立为止,这时不再执行循环体,而是跳到WEND
展开阅读全文