基本算法语句
- 格式:docx
- 大小:95.98 KB
- 文档页数:11
基本算法语句(优质课)教案教学目标:1.理解学习基本算法语句的意义.2.学会输入语句、输出语句和赋值语句,条件语句和循环语句的基本用法.3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.教学过程:1. 赋值、输入和输出语句(1)赋值语句:在表述一个算法时,经常要引入变量,并赋给该变量一个值。
用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句。
在算法语句中,赋值语句是最基本的语句。
赋值语句的一般格式为:变量名=表达式。
赋值语句中的“=”号,称作赋值号,赋值语句的作用是先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值。
说明:①赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式;②赋值语句中的赋值号“=”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;③不能利用赋值语句进行代数式(或符号)的演算(如化简、因式分解等)。
在赋值语句中的赋值号右边的表达式中的每一个“变量”都必须事先赋给确定的值。
在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“=”;④赋值号与数学中的等号的意义不同。
赋值号左边的变量如果原来没有值,则在执行赋值语句后,获得一个值。
如果原已有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”;⑤对于一个变量可以多次赋值。
(2)输入语句在某些算法中,变量的初值要根据情况经常地改变。
一般我们把程序和初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可。
这个过程在程序语言中,用“输入语句”来控制。
不同的程序语言都有自己的输入指令和方法。
在Scilab2.7中的输入语句之一是“input”。
“input”在计算机程序中,通常称为键盘输入语句。
“input”不仅可以输入数值,也可以输入单个或多个字符,如X=input(“What is your name?”.“string”)输入你的名字。
高考总复习:算法与程序框图【考纲要求】1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想;(2)理解程序框图的三种基本逻辑结构:顺序、条件、循环。
2.基本算法语句理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义。
【知识网络】【考点梳理】考点一、算法1.算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。
(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。
(3)应用:算法通常可以编成计算机程序,让计算机执行并解决问题。
2.算法的特征:①指向性:能解决某一个或某一类问题;②精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.④构造性:一个问题可以构造多个算法,算法有优劣之分。
3.算法的表示方法:(1) 用自然语言表示算法: 优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;(2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。
要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。
考点二:程序框图1. 程序框图的概念:程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。
2.程序框图常用符号:连接点用于连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。
高二数学教学教案人教版上册必修《基本算法语句》种子牢记着雨滴献身的叮嘱,增强了冒尖的勇气。
下面是XX小编为您推荐高二数学教学教案人教版上册必修《基本算法语句》。
一、本章教材分析算法是数学及其应用的重要组成部分,是计算科学的重要基础.算法的应用是学习数学的一个重要方面.学生学习算法的应用,目的就是利用已有的数学知识分析问题和解决问题.通过算法的学习,对完善数学的思想,激发应用数学的意识,培养分析问题、解决问题的能力,增强进行实践的能力等,都有很大的帮助.本章主要内容:算法与程序框图、基本算法语句、算法案例和小结.教材从学生最熟悉的算法入手,通过研究程序框图与算法案例,使算法得到充分的应用,同时也展现了古老算法和现代计算机技术的密切关系.算法案例不仅展示了数学方法的严谨性、科学性,也为计算机的应用提供了广阔的空间.让学生进一步受到数学思想方法的熏陶,激发学生的学习热情.在算法初步这一章中让学生近距离接近社会生活,从生活中学习数学,使数学在社会生活中得到应用和提高,让学生体会到数学是有用的,从而培养学生的学习兴趣. 数学建模也是高考考查重点.本章还是数学思想方法的载体,学生在学习中会经常用到算法思想转化思想,从而提高自己数学能力.因此应从三个方面把握本章:(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 算法与程序框图1.1.1 算法的概念整体设计二、教学分析算法在中学数学课程中是一个新的概念,但没有一个精确化的定义,教科书只对它作了如下描述:在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤. 为了让学生更好理解这一概念,教科书先从分析一个具体的二元一次方程组的求解过程出发,归纳出了二元一次方程组的求解步骤,这些步骤就构成了解二元一次方程组的算法.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固.三维目标1.正确理解算法的概念,掌握算法的基本特点.2.通过例题教学,使学生体会设计算法的基本思路.3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣.重点难点教学重点:算法的含义及应用.教学难点:写出解决一类问题的算法.课时安排1课时三、教学过程导入新课思路1(情境导入)一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人如何将动物转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容算法.思路2(情境导入)大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念.思路3(直接导入)算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.推进新课新知探究提出问题(1)解二元一次方程组有几种方法?(2)结合教材实例总结用加减消元法解二元一次方程组的步骤. (3)结合教材实例总结用代入消元法解二元一次方程组的步骤. (4)请写出解一般二元一次方程组的步骤.(5)根据上述实例谈谈你对算法的理解.(6)请同学们总结算法的特征.(7)请思考我们学习算法的意义.讨论结果:(1)代入消元法和加减消元法.(2)回顾二元一次方程组的求解过程,我们可以归纳出以下步骤:第一步,①+② 2,得5x=1.③第二步,解③,得x= .第三步,②-① 2,得5y=3.④第四步,解④,得y= .第五步,得到方程组的解为(3)用代入消元法解二元一次方程组我们可以归纳出以下步骤:第一步,由①得x=2y-1.③第二步,把③代入②,得2(2y-1)+y=1.④ 第三步,解④得y= .⑤第四步,把⑤代入③,得x=2 -1= .第五步,得到方程组的解为(4)对于一般的二元一次方程组其中a1b2-a2b1 0,可以写出类似的求解步骤:第一步,① b2-② b1,得(a1b2-a2b1)x=b2c1-b1c2.③第二步,解③,得x= .第三步,② a1-① a2,得(a1b2-a2b1)y=a1c2-a2c1.④第四步,解④,得y= .第五步,得到方程组的解为(5)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.(6)算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏. 不重是指不是可有可无的,甚至无用的步骤,不漏是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的第一步直到最后一步之间做到环环相扣,分工明确,前一步是后一步的前提,后一步是前一步的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.(7)在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础.应用示例思路1例1 (1)设计一个算法,判断7是否为质数.(2)设计一个算法,判断35是否为质数.算法分析:(1)根据质数的定义,可以这样判断:依次用2 6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数.算法如下:(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.因此,7是质数.(2)类似地,可写出判断35是否为质数的算法:第一步,用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不是质数.点评:上述算法有很大的局限性,用上述算法判断35是否为质数还可以,如果判断1997是否为质数就麻烦了,因此,我们需要寻找普适性的算法步骤.变式训练请写出判断n(n 2)是否为质数的算法.分析:对于任意的整数n( n 2),若用i表示2 (n-1)中的任意整数,则判断n是否为质数的算法包含下面的重复操作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,再执行同样的操作.这个操作一直要进行到i的值等于(n-1)为止.算法如下:第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断 r=0 是否成立.若是,则n不是质数,结束算法;否则,将i 的值增加1,仍用i表示.第五步,判断 i (n-1)是否成立.若是,则n是质数,结束算法;否则,返回第三步.例2 写出用二分法求方程x2-2=0 (x 0)的近似解的算法.分析:令f(x)=x2-2,则方程x2-2=0 (x 0)的解就是函数f(x)的零点.二分法的基本思想是:把函数f(x)的零点所在的区间[a,b](满足f (a) f(b) 0)一分为二,得到[a,m]和[m,b].根据 f(a) f(m) 0 是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b] 足够小,则[a,b]内的数可以作为方程的近似解.[来源:学科网Z X X K]解:第一步,令f(x)=x2-2,给定精确度d.第二步,确定区间[a,b],满足f(a) f(b) 0.第三步,取区间中点m= .第四步,若f(a) f(m) 0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.当d=0.005时,按照以上算法,可以得到下表.a b |a-b|1 2 11 1.5 0.51.25 1.5 0.251.375 1.5 0.1251.375 1.437 5 0.062 51.406 25 1.437 5 0.031 251.406 25 1.421 875 0.015 6251.414 062 5 1.421 875 0.007 812 51.414 062 5 1.417 968 75 0.003 906 25于是,开区间(1.414 062 5,1.417 968 75)中的实数都是当精确度为0.005时的原方程的近似解.实际上,上述步骤也是求的近似值的一个算法.点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为数学机械化 .数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续思路2例1 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊.该人如何将动物转移过河?请设计算法.分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.解:具体算法如下:算法步骤:第一步:人带两只狼过河,并自己返回.第二步:人带一只狼过河,自己返回.第三步:人带两只羚羊过河,并带两只狼返回.第四步:人带一只羊过河,自己返回.第五步:人带两只狼过河.点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、简练、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性.本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的情境经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使得问题变得简单,而且可以提高工作效率.例2 喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.问:如何安排这几个步骤?并给出两种算法,再加以比较.分析:本例主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.解:算法一:第一步,洗刷水壶.第二步,烧水.第三步,洗刷茶具.第四步,沏茶.算法二:第一步,洗刷水壶.第二步,烧水,烧水的过程当中洗刷茶具.第三步,沏茶.点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学.例3 写出通过尺轨作图确定线段AB一个5等分点的算法.分析:我们借助于平行线定理,把位置的比例关系变成已知的比例关系,只要按照规则一步一步去做就能完成任务.解:算法分析:第一步,从已知线段的左端点A出发,任意作一条与AB不平行的射线AP.第二步,在射线上任取一个不同于端点A的点C,得到线段AC.第三步,在射线上沿AC的方向截取线段CE=AC.第四步,在射线上沿AC的方向截取线段EF=AC.第五步,在射线上沿AC的方向截取线段FG=AC.第六步,在射线上沿AC的方向截取线段GD=AC,那么线段AD=5AC.第七步,连结DB.第八步,过C作BD的平行线,交线段AB于M,这样点M就是线段AB的一个5等分点.点评:用算法解决几何问题能很好地训练学生的思维能力,并能帮助我们得到解决几何问题的一般方法,可谓一举多得,应多加训练.知能训练设计算法判断一元二次方程ax2+bx+c=0是否有实数根.解:算法步骤如下:第一步,输入一元二次方程的系数:a,b,c.第二步,计算 =b2-4ac的值.第三步,判断 0是否成立.若 0成立,输出方程有实根;否则输出方程无实根,结束算法.点评:用算法解决问题的特点是:具有很好的程序性,是一种通法.并且具有确定性、逻辑性、有穷性.让我们结合例题仔细体会算法的特点.拓展提升中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t(分钟),通话费用y(元),如何设计一个程序,计算通话的费用.解:算法分析:数学模型实际上为:y关于t的分段函数.关系式如下:y=其中[t-3]表示取不大于t-3的整数部分.算法步骤如下:第一步,输入通话时间t.第二步,如果t 3,那么y=0.22;否则判断t Z 是否成立,若成立执行 y=0.2+0.1 (t-3);否则执行y=0.2+0.1 ([t-3]+1).第三步,输出通话费用c.课堂小结(1)正确理解算法这一概念.(2)结合例题掌握算法的特点,能够写出常见问题的算法.作业课本本节练习1、2.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,有几何算法等,因此这是一节很好的课例.。
1条件语句知识与技能1.正确理解条件语句的概念,并掌握其结构的区别与联系. 2.会应用条件语句编写程序. 过程与方法经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力. 情感态度与价值观了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用.深刻体会到循环语句在解决大量重复问题中起重要作用.减少大量繁琐的计算.通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力. 重点与难点重点:条件语句的步骤、结构及功能. 难点:会编写程序中的条件语句.A.实例引入B.条件语句1. IF-THEN-ELSE 语句 (1(2)句型:IF 条件 THEN 语句体1 ELSE 语句体2 END IF2(3)含义:2.IF-THEN 语句: (1(2)句型:(3)含义:C.应用举例例1 编写程序,求实数x的绝对值分析:,0,||,0.x x x x x ≥⎧=⎨-<⎩算法步骤:第一步,输入一个实数x .第二步,若0x ≥成立,则输出x ;否则,输出x -程序框图:如图. 程序:如图.例2 编写程序,输入一元二次方程20ax bx c ++=的系数,输出它的实数根.如果(IF ) 条件符合 那么(THEN )执行语句体否则执行END IF 之后的语句如果(IF ) 条件符合 那么(THEN )执行语句体1否则(ELSE )执行语句体2否则执行END IF 之后的语句IF 条件 THEN语句体END IFINPUT xIF x>=0 THEN PRINT x ELSE PRINT -xEND IF END3分析:先把解决问题的思路用程序框图表示出来,然后再根据程序框图给出的算法步骤,逐步把算法用对应的程序语句表达出来.算法步骤:第一步,输入3个系数,,a b c . 第二步,计算24b ac ∆=-.第三步,判断0∆≥是否成立.若是,则计算2bp a=-,q ;否则,输出“方程没有实数根”,结束算法.第四步,判断0∆=是否成立.若是,则输出12x x p ==; 否则,计算1x p q =+,2x p q =-,并输出12,x x .例3 编写程序,使得任意输入的3个整数按从大到小的顺序输出.算法分析:用a ,b ,c 表示输入的3个整数;为了节约变量,把它们重新排 列后,仍用a ,b ,c 表示,并使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. 程序4练习 铁路部门托运行李的收费方法如下:y 是收费额(单位:元),x 是行李重量(单位:kg ),当020x <≤时,按0.35元/kg 收费,当20kg x >时,20kg 的部分按0.35元/kg ,超出20kg 的部分,则按0.65元/kg 收费,请根据上述收费方法编写程序.分析:首先由题意得:0.35,020,0.35200.65(20),20.x x y x x <≤⎧=⎨⨯+->⎩该函数是个分段函数.需要对行李重量作出判断,因此,这个过程可以用算法中的条件结构来实现.程序: INPUT “请输入旅客行李的重量(kg )x=”;x IF x>0 AND x<=20 THEN y=0.35*x ELSEy=0.35*20+0.65*(x-20) END IFPRINT “该旅客行李托运费为:”;y END。
§1.6 基本算法语句——赋值、输入、输出语句 教学目标(1)正确理解赋值语句、输入语句、输出语句的结构;(2)让学生充分地感知、体验应用计算机解决数学问题的方法;(3)通过实例,使学生理解3种基本的算法语句(输入语句、输出语句和赋值语句)的表示方法、结构和用法,能用这三种基本的算法语句表示算法,进一步体会算法的基本思想. 教学重点正确理解输入语句、输出语句、赋值语句的作用.教学难点准确写出输入语句、输出语句、赋值语句.教学过程一、问题情境1.问题1:已知我班某学生上学期期末考试语文、数学和英语学科成绩分别为80、100、89,试设计适当的算法求出这名学生三科的平均分. 二、学生活动1.学生讨论,教师引导学生写出算法并画出流程图.2.怎样将以上算法转换成计算机能理解的语言呢?下面我们将通过伪代码学习基本的算法语句. 三、建构数学1.伪代码:伪代码是介于自然语言和计算机语言之间的文字和符号,是表达算法的简单而实用的好方法.为了今后能学好计算机语言,我们在伪代码中将使用一种计算机语言“BASIC 语言”的关键词.2.赋值语句:赋值语句是将表达式所代表的值赋给变量的语句.例如:“x y ←”表示将y 的值赋给x ,其中x 是一个变量,y 是一个与x 同类型的变量或表达式.说明:①赋值语句中的赋值号“←”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;②赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式; ③对于一个变量可以多次赋值.例1.写出求23x =时多项式3273511x x x +-+的值的算法.算法1 算法: S1 a ←80S2 b ←100S3 c ←89 S4 A ←(a+b+c)/3S5 输出A流程图:322373511x p x x ←←+-+算法2 23((73)5)11x p x x x ←←+-+ 说明:①以上两种算法,算法1要做6次乘法,算法2只要做3次乘法,由此可见,算法的好坏会影响运算速度;②算法2称为“秦九韶算法”,其算法特点是:通过一次式的反复计算,逐步得出高次多项式的值;对于一个n 次多项式,只要做n 次乘法和n 次加法.附:秦九韶(1202—1261年),字道古,普州安岳(今四川安岳)人.他是我国古代最有成就的数学家之一.著有数学名著《数书九章》(又名数学九章》).该书共十八卷,分为大衍、天时、田域、测望、赋役、钱谷、营建、军旅、市易等九大类,每类用九个例题全书共八十一题)来阐明各种算法.这部中世纪的数学杰作,许多方面都有创造,而书中最突出的成就是“大衍求一术”和高次方程的数值解法“正负开方术”,是具有世界意义的成就.3.输入、输出语句:输入、输出语句分别用“Input ”(或者“Read ”)和“Print ”来描述数据的输入和输出.(1)输入语句与赋值语句的区别在于:赋值语句可以将一个代数表达式的值赋于一个变量,而输入语句由于要求输入的值只能是具体的常数,不能是函数、变量或表达式,因此输入语句只能将读入的具体数据赋给变量.(2)输出语句的主要作用是:①输出常量、变量的值和系统信息;②输出数值计算的结果. 例如:可以将问题1中的算法改进为求任意三门功课的平均值的算法.流程图:说明:输入语句“Read a ,b ”表示输入的数据依次送给a ,b ;“Print A ”表示输出运算结果A .四、数学运用1.例题:例2.“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”请你先列出解决这个问题的方程组,并设计一个解二元一次方程组的通用算法,并画出流程图,写出伪代码.解:设有x 只鸡,y 只兔子,则352494x y x y +=⎧⎨+=⎩. 伪代码: Read a ,b ,c A ←(a+b+c)/3 Print A设二元一次方程组为1111221222,(0),a x b y c a b a b a x b y c +=⎧-≠⎨+=⎩用消元法解得2112122112211221b c b c x a b a b a c a c y a b a b -⎧=⎪-⎪⎨-⎪=⎪-⎩, 因此,只要输入相应的未知数的系数和常数项,就能计算出方程组的解,即可输出,x y 的值.2.练习:1)将五进制数化为十进制数的方法是“按权展开”,如将(5)1403化为十进制数为321015450535228⨯+⨯+⨯+⨯=.试用输入输出语句、赋值语句表示将五进制数(5)abcd 化为十进制数的算法.2)请用伪代码编写程序,实现三个变量1,2,3A B C ===的值按顺序互换,即A B C A →→→之间的交换.3)已知一个正三棱柱的底面边长为3,高为4,用输入、输出和赋值语句表示计算这个正三棱柱的体积的算法。
第六节基本算法语句与算法案例预习设计基础备考知识梳理1.输入语句、输出语句、赋值语句的格式与功能2.条件语句(1)算法中的与条件语句相对应.(2)条件语句的格式及框图,①IF-THEN格式;②IF-THEN-ELSE格式:3.循环语句(1)算法中的与循环语句相对应.(2)循环语句的格式及框图.①UNTIL语句;②WHILE语句:4.算法案例(1)辗转相除法:辗转相除法是用于的一种方法,这种算法是由欧几里得在公元前300年左右首先提出的,因此又叫(2)更相减损术的定义:任给两个正整数(若是偶数,先用2约数),以 ,接着把所得的差与较小的数比较,并以大数减小数,直到所得的数 则这个数(等数)(或这个数与约简的数的乘积)就是所求的最大公约数.(3)秦九韶算法: 秦九韶算法是我国南宋数学家秦九韶在他的代表作《 》中提出的一种用于计算 的方法.典题热身1.以下语句中赋值语句的个数是 ( );2x =①;0=+y x ②);1)(1(12-+=-=x x x y ③=A ④;3=B .*p p P =⑤0.A 1.B 2.c 3.D答案:B2.下边程序运行的结果是( )3,2,1.A 1,3,2.B 2,3,2.c 1,2,3.D答案:C3.阅读下列程序,则其输出的结果为( )6463.A 3231.B 128127.c 1615.D 答案:A4.阅读程序:若,4-=x 输出结果为若,9=x 输出结果为答案:负数35.将二进制数)2(101101化为十进制数,结果为 再将该数化为八进制数,结果为 答案:)10(45 )8(55课堂设计 方法备考题型一 输入、输出、赋值语句的应用【例l 】编写一个程序,求用长度为l 的细铁丝分别围成一个正方形和一个圆时所围成的正方形和圆的面积,要求输入l 的值,输出正方形和圆的面积(π取3.14),并画出程序框图,题型二 条件语句的应用【例2】国庆期间,某超市实行购物优惠活动,规定一次购物付款总额:①若不超过200元,则不予优惠;②若超过200元,但不超过500元,则按标价价格给予9折优惠;③如果超过500元,500元的部分按②优惠,超过500元的部分给予7折优惠,编写一个付款算法,并写出相应程序,画出程序框图,题型三 循环语句的应用【例3】高-(2)班共有54名同学参加数学竞赛,现已有这54名同学的竞赛分数,请设计一个将竞赛成绩优秀同学的平均分输出的算法(规定90分以上为优秀),画出程序框图,并设计程序.题型四 进位制之间的相互转化【例4】(1)将七进制数)7(235转化为十进制的数;(2)把五进制的数)5(44转化为二进制的数,技法巧点(1)输入、输出语句是任何一个程序必不可少的语句.(2)赋值语句是重要的一种基本语句.利用赋值语句可以实现两个变量值的互换,方法是引进第三个变量.(3)要区分条 件语句的两种格式:IF-THEN-ELSE 格式和IF-THEN 格式.(4)条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题都要用到条件语句,失误防范1.赋值语句的“=”不能与等号相混淆.2.赋值语句左右两边不能对调,随堂反馈1.(2011.安徽马鞍山二中月考)下图是把二进制的数)2(11111化成十进制的数的一个流程图,则判断框内应填入的条件是( )?4.<i A ?5.≤i B ?5.>i C ?4.≤i D答案:D2.(2011.深圳模拟)下列程序执行后输出的结果是 ( )1.-A 0.B 1.c2.D答案:C3.(2011.佛山模拟)下面程序运行后,输出的值是 ( )42.A 43.B 44.C 45.D答案:C4.(2011.青岛模拟)若k 进制数)(123k 与十进制数)10(38等,则=k答案:5高效作业 技能备考一、选择题1.(2011.宁夏模拟)当3=a 时,下面的程序段输出的结果是( )9.A 3.B 10.c 6.D答案:D2.(2011.海南模拟)计算机执行下面的程序段后,输出的结果是 ( )3,1.A 1,4.B 0,0.c 0,6.D答案:B3.读下面的甲、乙两程序:对甲、乙两程序和输出的结果判断正确的是 ( )A .程序不同,结果不同B .程序不同,结果相同C .程序相同,结果不同D .程序相同,结果相同答案:B4.(2011.广东模拟)将两个数17,8==b a 交换,使,17=a ,8=b 下面语句正确的一组是( )答案:B5.(2011.山东模拟)如果下边程序执行后输出的结果是132,那么程序中UNTIL 后面的“条件”应为 ( )11.>i A 11.>=i B 11.<=i C 11.<i D答案:D6.(2011.日照模拟)下列各数中最小的数是 ( ))2(111111.A )6(210.B )4(1000.c )8(110.D答案:A二、填空题7.(2011.常熟模拟)阅读下面的程序,并写出5,3==b a 时,输出的值=a答案:4218.(2011.深圳调研)阅读下面的程序,当分别输入、、12==x x 0=x 时,输出的y 值分别为答案:1 1 1-9.(2011.威海模拟)下面程序表达的是求函数 的值.答案:⎪⎩⎪⎨⎧<-=>=0,10,00,1x x x y三、解答题10.设计算法求100991431321211⨯++⨯+⨯+⨯ 的值.要求画出程序框图,写出用基本语句编写的程序.11.读下列程序,指出此程序用来解决什么问题.12.到银行办理个人异地汇款时,银行要收取一定的手续额不超过100元,收取1元手续费;超过100元但不超元,按汇款额的1%收取;超过5000元,一律收取50费.试用条件语句描述汇款额为x 元时,银行收取手自元的过程,画出程序框图并写出程序.。
15、算法初步15.2 基本算法语句与算法案例【知识网络】1.理解用伪代码表示的几种基本算法语句:赋值语句、输入语句、输出语句、条件语句、循环语句。
2.能用自然语言、流程图和伪代码表述算法,会用“While循环”和“For循环”语句或GoTo语句实施循环(注意:优先使用While和For语句,尽量少用GoTo语句)。
【典型例题】[例1](1)下列问题所描述出来的算法,其中不包含条件语句的为()A.读入三个表示三条边长的数,计算三角形的面积B.给出两点的坐标,计算直线的斜率C.给出一个数x,计算它的常用对数的值D.给出三棱锥的底面积与高,求其体积(2)设计一个计算1×3×5×7×9×11×13的算法.图中给出了程序的一部分,则在横线①上不能填入下面的那一个数?答:()A.13B.13.5C.14D.14.5(3)若mod(m,3)=1,则m的取值不可以是()A.2005 B.2006 C.2008 D.2020(4)下面的表述:①6←p;②t←3×5+2;③b+3←5;④p←((3x+2)-4)x+3;⑤a←a3;⑥x,y,z←5;⑦ab←3;⑧x ←y+2+x .其中正确表述的赋值语句有 . (注:要求把正确的表述全填上)(5)下面程序的运行结果为4[例2] 某百货公司为了促销,采用打折的优惠办法:每位顾客一次购物①在100元以上者(含100元,下同),按九五折优惠; ②在200元以上者,按九折优惠; ③在300元以上者,按八五折优惠; ④在500元以上者,按八折优惠. 试写出算法、画出流程图、伪代码,以求优惠价.[例3] 定义运算“!”为:n!=1×2×3×…×n ,其中n 为正整数,并且读作“n 的阶乘”,例如,5!=1×2×3×4×5=120,10!=9!×10= 3628800. 计算2007!写出算法分析与伪代码,并画出流程图。
普通高中课程标准实验教科书—数学[人教版]高三新数学第一轮复习教案(讲座16)—基本算法语句一.课标要求:1.经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想;2.通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献。
二.命题走向算法是高中数学课程中的新内容,本章的重点是算法的概念和算法的三种逻辑结构。
预测2007 年高考对本章的考察是:以选择题或填空题的形式出现,分值在5 分左右,本讲考察的热点是识别程序和编写程序。
三.要点精讲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)不能利用赋值语句进行代数式的演算。
(如化简、因式分解、解方程等) ,如2y x21 (x 1)(x 1)这是实现不了的。
在赋值号右边表达式中每一个变量的值必须事先赋给确定的值。
在一个赋值语句中只能给一个变量赋值。
不能出现两个或以上的“ = ”。
但对于同一个变量可以多次赋值。
4.条件语句(1)“IF —THEN —ELSE ”语句格式:IF 条件THEN语句1ELSE语句2END 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 语句后,执行WEND 后面的语句。
因此当型循环又称“前测试型” 循环,也就是我们经常讲的“先测试后执行” 、“先判断后循环” 。
( 2)直到型循环语句直到型(UNTIL 型)语句的一般格式为:DO循环体LOOP UNTIL 条件说明:计算机执行UNTIL 语句时,先执行DO 和LOOP UNTIL 之间的循环体,然后判断“ LOOP UNTIL ”后面的条件是否成立,如果条件成立,返回DO 语句处重新执行循环体。
这个过程反复执行,直到一次判断“ LOOP UNTIL ”后面的条件条件不成立为止,这时不再返回执行循环体,而是跳出循环体执行“ LOOP UNTIL 条件”下面的语句。
因此直到型循环又称“后测试型”循环,也就是我们经常讲的“先执行后测试” 、“先循环后判断”。
四.典例解析题型1:输入、输出和赋值语句例1 .判断下列给出的输入语句、输出语句和赋值语句是否正确?为什么?1)输入语句INPUT a;b;c2)输出语句A= 43)赋值语句3= B4)赋值语句 A = B=—2解析:(1)错,变量之间应用“,”号隔开;(2)错,PRINT 语句不能用赋值号“ =”;(3)错,赋值语句中“ =”号左右不能互换;(4)错,一个赋值语句只能给一个变量赋值。
点评:输入语句、输出语句和赋值语句基本上对应于算法中的顺序结构....。
输入语句、输出语句和赋值语句都不包括“控制转移” ,由它们组成的程序段必然是顺序结构。
例2 .请写出下面运算输出的结果。
(1)a5b3c (a b)/2d c cPRINT "d ";d(2)a1b2c a bb ac bPRINT "a ,b ,c ";a,b,c(3)a 10b 20c 30 a b b c c a PRINT "a ,b ,c ";a,b,c解析: (1)16;语句c (a b)/2是将a ,b 和的一半赋值给变量c ,语句d c c 是将c 的平方赋值给d ,最后输出d 的值。
(2) 1,2,3;语句c a b 是将a ,b 的和赋值给c ,语句b a c b 是将a c b 的值赋值给了 b 。
(3) 20,30,20;经过语句a b 后a ,b ,c 的值是20,20,30。
经过语句b c 后a , b ,c 的值是20,30,30。
经过语句 c a 后a ,b ,c 的值是20,30,20。
点评:语句的识别问题是一个逆向性思维, 一般我们认为我们的学习是从算法步骤 (自然语言)至程序框图,再到算法语言(程序) 。
如果将程序摆在我们的面前时,我们要从识别逐个语句,整体把握,概括程序的功能。
题型2:赋值语句的应用例3 .写出求三个数a , b ,c 的方差的程序。
解析:方差是在初中统计内容中学习过的知识,计算所有数的方差首先计算所有数的平2 2 2均数Xn算法步骤:第一步:计算平均数X第三步:得到的结果即为所求。
程序如下:INPUT a ,b ,c y=(a+b+c)/3S=((a - y)2+ (b - y)2+ (c - y)2)/3 PRINT S END点评:套用公式求值问题是传统数学求值问题的一种, 它是一种典型的顺序结构,也就是说只通过输入、输出和赋值语句就可以完成任务。
解决这类问题的关键是先分析这种问题的解法,即构造计算的过程,再写出算法步骤和流程图,再翻译成算法语句即可。
例4.编写一个程序,要求输入的两个正数a 和b 的值,输出a b 和b a 的值。
解析:可以利用INPUT 语句输入两个正数, 然后将a b 和b a 的值分别赋给两个变量输出第二步:计算方差S 2(X a)2 (x a)2 3(x a)2 ;;即可。
也可以将a b和b a的底数和幕数进行交换,故还可以利用赋值语句,采用将两个变量的值互换的办法实现。
程序1:INPUT “a,b:” a,bA=a A bB=b A aPRINT “a b= ” A, “b a= ” BEND程序2:INPUT “a,b:” a,bA=aAbPRINT “a b= ” Ax=aa=bb=xA=aAbPRINT “a b= ” AEND点评:交换a,b的值可通过下面三个语句来实现:t aa bb t通过引进一个变量t实现变量a和b的值的交换,因此只需用赋值语句即可实现算法。
在一些较为复杂的问题算法中经常需要对两个变量的值进行交换,因此应熟练掌握这种方法。
题型3:条件语句例5 .编写程序,输出两个不相等的实数a、b的最大值。
解析:要输出两个不相等的实数a、b的最大值,从而想到对a, b的大小关系进行判断, a,b的大小关系有两种情况:(1) a>b; ( 2) b>a,这也就用到了我们经常提及的分类讨论的方式,找出两个数的最大值。
解:算法一:第一步:输入a,b的数值;第二步:判断a,b的大小关系,a>b,则输出a的值,否则输出b的值。
(程序框图如右图)程序如下:(“IF —THEN —ELSE”句)INPUT “a,b” a,bIF a> b THENPRINT aELSE语若结束END算法二:第一步:输入a,b的数值;第二步:判断a,b的大小关系,若b > a,则将b的值赋予a;否则直接执行第三步;第三步:输出a的值,结束。
(程序框图如右图)程序如下:“IF—THEN ”语句)INPUT “a,b”;a,bIF b > a THENa=bEND IFPRINT aEND点评:1•一个“好”的算法往往像上面教材题中的“小技巧”,要熟练、有效的使用它们,则要在大量的算法设计中积累经验。
我们也可以先根自己的思路设计算法,再与“成形”的、高效的、秀的算法比较,改进思路,改进算法,以避免重复算等问题,提高算法设计的水平!2.我们在平常的训练中尽可能的少引用变量,多的变量不仅会使得算法和程序变得复杂,而且不于计算机的执行。
为此,我们在练习中要积极思考尽可能少引入变量以及如何才能少引入变量。
例6 •高等数学中经常用到符号函数,符号函数的定义为输入x的值,输出y的值。
程序一:(嵌套结构)程序框图:(右图)程序语言:INPUT xIF x>0 THENy=1ELSEIF x=0 THENy=0ELSEy= —1END IFEND IF例需据优计过利1,x 0y 0, x 0 ,试编写程序程序二:(叠加结构)程序框图:程序如下:INPUT xIF x>0 THENy=1END IFIF x=0 THENy=0END IFIF x<0 THENy= —1END IFPRINT yEND点评:1 •条件结构的差异,造成程序执行的不同。