基本算法语句(优质课)教案
- 格式:docx
- 大小:324.04 KB
- 文档页数:16
基本算法语句复习教学目标(1)进一步巩固基本算法语句:赋值语句、输入输出语句、条件语句、循环语句的概念,并掌握其结构; (2)会灵活应用基本算法语句编写程序. 教学重点各种算法语句的表示方法、结构和用法. 教学难点灵活应用各种算法语句编写程序. 教学过程 一、例题分析:1.例题:例1.编写函数221, 2.51, 2.5x x y x x ⎧+≤⎪=⎨->⎪⎩的算法,根据输入的x 的值,计算y 的值.分析:这是分段函数,计算前,先对x 的值进行判断,再确定计算法则. 解:其算法步骤如下: 用算法语句可表示如下:S1 输入x ;S2 若 2.5x ≤,则21y x ←+, 否则,则21y x ←-; S3 输出y .例2.试用算法语句表示:使22221232006n ++++> 成立的最小正整数的算法过程. 解:本例需要用到循环结构,且循环的次数不定,因此可用“While 循环”语句,具体描述:y0S ← 1I ←While S ≤2018 1I I =+ 2S S I ←+ End While Print I例3.读入80个自然数,统计出其中奇数的个数,用伪代码表示解决这个问题的算法过程. 解:本题算法的伪代码如下: 0k ←For I From 1 To 80 Read n []22n n T ←- If 0T ≠ Then1k k ←+(Print n ) End If End For Print k End变式:若本例中还要将所有奇数输出呢?以上伪代码该作何修改?(见题中括号) 例4.《中华人民共和国个人所得税法》第十四条有下表(部分)个人所得税税率表—(工资、薪金所得使用)金的月收入不超过800元,则不需纳税.某人月工资、薪金收入不超过21800元,试给出一个计算其月工资、薪金收入为x 元时应缴纳税款额的算法并用伪代码表示这个算法.解:设月工资、薪金收入为x 元时应缴纳税款额为y 元,伪代码如下: Read xIf 800x ≤ Then y ←0Else If 8001300x <≤ Then y ←(x-800)*0.18Else If 13002800x <≤ Then y ←500*0.18+(x-1300)*0.1 Else If 28005800x <≤ Theny ←500*0.18+1500*0.1+(x-2800)*0.15 Else If 580020800x <≤ Theny ←500*0.18+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 3For J From 5 To 1 Step -1 Ptint I*J End For End For End提示:对于每个I ,内循环都执行5次,而I 有3个取值,所以,共执行15次.S←0For I from 1 to 11 step 2S←2S+3 If S>20 then S←S -20 End If End For Print S二、回顾小结:1.各种算法语句的表示方法、结构和用法; 2.灵活应用各种算法语句编写程序. 三、课外作业:补充:1.用秦九韶算法计算多项式65432()3456781f x x x x x x x =++++++,当2x =时的值时,需要做乘法和加法的次数分别是 , . 2.下面的程序运行的结果是 . N ←0 I ←0 While I<30 I ←(I+1)*(I+1) N ←N+1 End While Print N End4.下面这个算法的效果是 ( )X ←23.4Print Int(x+0.5)A.将X 加0.5后输出B. 将X 加0.5后四舍五入C.求绝对值D.对X 四舍五入5.已知函数()1xf x x=+,实数1(1)a f =,21()a f a =,1()n n a f a +=,试设计求80a 的算法,画出流程图,并用伪代码表示该算法.6.用循环语句设计一个算法,在有限个实数12,,,n a a a 中找出最大的一个数.7.发动机的推力()F kg 与温度()t c 的关系是1860,102080,10202867,20303250,3040t t F t t ≤⎧⎪<≤⎪=⎨<≤⎪⎪<≤⎩,试编写根据温度计算发动机的推力的伪代码.3.右面的伪代码输出的结果是( ). A 3 B 5C 9D 13。
人教版高二数学上册必修3《基本算法语句》教案人教版高二数学上册必修3《基本算法语句》教案本章教材分析算法是数学及其应用的重要组成部分,是计算科学的重要基础.算法的应用是学习数学的一个重要方面.学生学习算法的应用,目的就是利用已有的数学知识分析问题和解决问题.通过算法的学习,对完善数学的思想,激发应用数学的意识,培养分析问题、解决问题的能力,增强进行实践的能力等,都有很大的帮助.本章主要内容:算法与程序框图、基本算法语句、算法案例和小结.教材从学生最熟悉的算法入手,通过研究程序框图与算法案例,使算法得到充分的应用,同时也展现了古老算法和现代计算机技术的密切关系.算法案例不仅展示了数学方法的严谨性、科学性,也为计算机的应用提供了广阔的空间.让学生进一步受到数学思想方法的熏陶,激发学生的学习热情.在算法初步这一章中让学生近距离接近社会生活,从生活中学习数学,使数学在社会生活中得到应用和提高,让学生体会到数学是有用的,从而培养学生的学习兴趣.“数学建模”也是高考考查重点.本章还是数学思想方法的载体,学生在学习中会经常用到“算法思想” “转化思想”,从而提高自己数学能力.因此应从三个方面把握本章:(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.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,有几何算法等,因此这是一节很好的课例.教案设计频道我高中数学教案 | 高二数学教案 | 高二数学教学计划教案设计频道我高中数学教案 | 高二数学教案 | 高二数学教学计划。
高中数学:5.3.1《基本算法语句》教案(苏教版必修3)第7课时5.3 基本算法语句一、知识结构重点难点重点:1、学习和理解几种语句的作用和形式,既要有形式上的把握也要理解本质的内涵2、能进行最简单的语句的书写,通过训练能编写出一些简单的程序语言难点:几种语句形式上的把握,理解其本质;语句的书写,编写一些简单的程序语言【学习导航】学习要求1.理解赋值语句的含义2.理解赋值语句、输入输出语句中的变量与表达式的含义【课堂互动】自学评价1.赋值语句:赋值:顾名思义就是赋予某一个变化量一个具体的数值。
例如:变速运动某一时刻的速度大小是5m/s,就是将5赋予速度v,在算法的描述中可以写成如下形式:v←5注意:变化量只能写在"←"左边,值写在"←"的右边。
对于匀变速直线运动,v=v0+at,在算法的描述中可以写成如下形式:v←v0+at"←"右边可以是一个具体的值,也可以是一个表达式,程序会将该表达式进行计算后再将结果赋给v。
【经典范例】例1:写出求x=23时多项式的值的算法。
【解】算法一x←23p←算法二x←23p←【说明】在计算时只要进行3次乘法,而在算法一中则要进行6次算法。
显然这种算法更好一些,算法的好坏会直接影响运算速度。
这就是著名的秦九韶算法,其特点是:通过一次式的反复计算,逐步得出高次多项式的值,对于一个n次多项式,只要做n次乘法和n次加法。
【拓展】A←23A←A+10你能说出第二行的意义吗?2.输入、输出语句在用伪代码描述算法的过程中,用read表示输入,用print 表示输出,如:"read a,b"表示输入的数依次赋给a和b。
例1 的算法可以描述为:S1 read xS2 p←S3 print p【经典范例】例2 "鸡兔同笼"是我国隋朝时期的数学著作《孙子算经》中的一个有趣且有深远影响的题目:"今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何"【分析】设有x只鸡,y只兔,则下面我们设计一个解二元一次方程组的通用算法,设二元一次方程组为用消元法解得:因此,只要输入相应的未知数的系数和常数项,就能计算出方程组的解。
算法基本语句教案教案标题:算法基本语句教案教学目标:1. 了解算法基本语句的概念和作用;2. 掌握算法基本语句的常见类型和使用方法;3. 能够设计简单的算法基本语句解决问题。
教学准备:1. 教师准备:计算机、投影仪、白板、书籍和教学辅助资料;2. 学生准备:笔记本电脑、纸和笔。
教学过程:一、导入(5分钟)1. 教师引入算法基本语句的概念,解释其在计算机编程中的重要性和作用;2. 引导学生回顾之前学过的基本算法概念,如变量、循环和条件语句。
二、讲解(15分钟)1. 教师介绍算法基本语句的常见类型,包括赋值语句、条件语句和循环语句;2. 通过示例代码,详细讲解每种语句的语法和使用方法;3. 强调语句的执行顺序和逻辑,以及不同语句之间的关系。
三、练习与巩固(20分钟)1. 学生根据教师提供的练习题,设计算法基本语句解决问题;2. 学生可以自由选择编程语言,但需按照教师要求使用算法基本语句;3. 学生互相交流和分享自己的解决方案,教师进行点评和指导。
四、拓展与应用(15分钟)1. 学生尝试设计更复杂的算法,结合多种基本语句解决实际问题;2. 学生可以选择自己感兴趣的领域,如游戏、数学问题等;3. 学生展示自己的解决方案,与同学进行交流和讨论。
五、总结与反思(5分钟)1. 教师总结本节课的重点内容,强调算法基本语句的重要性;2. 学生进行自我评价,回顾自己在本节课中的学习收获和困难。
教学延伸:1. 学生可以尝试使用不同编程语言实现同一个算法,比较它们的异同;2. 学生可以进一步学习高级算法语句,如函数、数组等,拓展编程能力。
教学评估:1. 教师观察学生在练习和拓展应用环节的表现,评估其对算法基本语句的掌握程度;2. 学生完成的练习题和解决方案,以及课堂讨论和交流的参与度,也可作为评估依据。
教学反馈:1. 教师及时给予学生反馈,指出其在算法基本语句应用中存在的问题和改进方向;2. 鼓励学生继续学习和实践,提高算法设计和编程能力。
基本算法语句教案教案标题:基本算法语句教案教案目标:1. 了解基本算法语句的概念和作用;2. 掌握基本算法语句的使用方法;3. 能够运用基本算法语句解决简单问题。
教学重点:1. 基本算法语句的概念和作用;2. 基本算法语句的使用方法。
教学难点:1. 运用基本算法语句解决简单问题。
教学准备:1. 教学课件;2. 计算机和编程软件。
教学过程:一、导入(5分钟)1. 引入基本算法语句的概念和作用;2. 提问学生对基本算法语句的理解。
二、讲解基本算法语句(15分钟)1. 介绍基本算法语句的种类,如赋值语句、条件语句、循环语句等;2. 分别讲解每种基本算法语句的作用和使用方法;3. 通过示例代码演示基本算法语句的运用。
三、练习基本算法语句(20分钟)1. 提供一些简单的算法问题,让学生运用基本算法语句进行解答;2. 学生可以在计算机上编写代码并运行,或者手动写出算法步骤。
四、讲解和分析练习结果(10分钟)1. 学生展示他们的解答方法和代码;2. 分析不同解答方法的优缺点,引导学生思考更优化的解决方案;3. 强调基本算法语句在解决问题中的重要性。
五、拓展练习(15分钟)1. 提供一些更复杂的算法问题,让学生运用基本算法语句进行解答;2. 鼓励学生尝试不同的解决方案,并比较效果。
六、总结与反思(5分钟)1. 总结基本算法语句的概念和作用;2. 学生分享他们在本节课中的收获和体会;3. 回答学生提出的问题,并解决他们的疑惑。
教学延伸:1. 学生可以通过编写更复杂的程序来进一步巩固基本算法语句的使用;2. 学生可以自主学习其他高级算法语句的使用方法。
教案评估:1. 在练习环节中观察学生对基本算法语句的掌握情况;2. 根据学生的解答和参与情况评估教学效果;3. 收集学生的反馈意见,以便改进教学方法。
基本算法语句教案第一篇:基本算法语句教案篇一:(教案1)1.2基本算法语句第一课时 1.2.1输入、输出语句和赋值语句一、教学目标:1、知识与技能(1)正确理解输入语句、输出语句、赋值语句的结构。
(2)会写一些简单的程序。
(3)掌握赋值语句中的“=”的作用。
2、过程与方法(1)让学生充分地感知、体验应用计算机解决数学问题的方法;并能初步操作、模仿。
(2)通过对现实生活情境的探究,尝试设计出解决问题的程序,理解逻辑推理的数学方法。
(3)编程一般的步骤:先写出算法,再进行编程。
二、重点与难点重点:正确理解输入语句、输出语句、赋值语句的作用。
难点:准确写出输入语句、输出语句、赋值语句。
三、教学设计在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,如:听mp3,看电影,玩游戏,打字排版,画卡通画,处理数据等等,那么,计算机是怎样工作的呢?计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的。
因此还需要将算法用计算机能够理解的程序设计语言(programming language)翻译成计算机程序。
程序设计语言有很多种。
如basic,foxbase,c语言,c++,j++,vb等。
为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:语句和赋值语句。
【探究新知】我们知道,顺序结构是任何一个算法都离不开的基本构。
输入、输出语句和赋值语句基本上对应于算法中的顺构。
(如右图)计算机从上而下按照语句排列的顺序执行这句。
输入语句和输出语句分别用来实现算法的输入信息,结果的功能。
如下面的例子:32结序结些语输出用描点法作函数y?x?3x ?24x?30的图象时,需要求出自变量与函数的一组对应值。
编写程序,分别计算当x??5,?4,?3,?2,?1,0,1,2,3,4,5时的函数值。
程序:问题1:在这个程序中,你们觉得哪些是输入语句、输出语句和赋值语句呢?问题2:“input”和“print”的中文意思是什么?(一)输入语句在该程序中的第1行中的input语句就是输入语句。
高中数学基本算法语句教案
教学目标:学生能够掌握高中数学中常见的算法语句并能够灵活运用。
教学内容:
1. 算法语句的概念和作用
2. 常见的高中数学算法语句:加法、减法、乘法、除法
3. 算法语句的运用
教学步骤:
一、导入:
老师简要介绍算法语句的概念和作用,并引导学生思考在日常生活中我们经常用到的算法
语句有哪些。
二、讲解:
1. 老师讲解加法算法语句的基本原理和运用方法,示范几个加法算法语句的例子让学生理解。
2. 学生跟随老师一起进行减法算法语句的学习,掌握减法算法语句的基本步骤和运用方法。
3. 继续教授乘法算法语句和除法算法语句的知识,帮助学生理解乘法和除法的运算规则。
三、练习:
1. 配发练习册,让学生在练习册上完成一系列的算法语句练习题,包括加法、减法、乘法
和除法。
2. 老师巡视学生的练习过程,及时纠正学生的错误,帮助他们掌握算法语句的运用技巧。
四、总结:
让学生分享他们在练习过程中遇到的困难和收获,总结算法语句的重要性和应用场景,并
鼓励学生多加练习,提升算法语句的运用能力。
五、作业:
布置作业任务,要求学生完成一定数量的算法语句练习题,并在下节课上展示出来。
教学反思:
通过本节课的教学,学生能够掌握常见的高中数学算法语句,并能够灵活运用。
值得注意的是,在教学过程中要注重巩固基础知识,引导学生从实际问题中理解算法语句的运用,激发学生学习兴趣。
基本算法语句(第1课时)教学目标:通过实例,使学生理解3种基本的算法语句(输入语句、输出语句和赋值语句)的表示方法、结构和用法,能用这三种基本的算法语句表示算法,进一步体会算法的基本思想。
教学重点:输入语句、输出语句和赋值语句的表示方法、结构和用法,用这三种基本的算法语句表示算法。
教学难点:理解输入语句、输出语句和赋值语句的表示方法、结构和用法。
教学工具:电脑。
教学过程:一、引入新课1、算法中的三种基本的逻辑结构是、、。
2、任何一种程序设计语言都包含五种基本的算法语句,它们分别是输入语句、输出语句、赋值语句、条件语句和循环语句。
二、新课讲解1、输入语句、输出语句和赋值语句基本上对应于算法中的顺序结构....。
下面的例题是用这三种基本的算法语句表示的一个算法。
例:用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量和函数的一组对应值。
编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值。
程序:INPUT“x=”;x 输入语句y=x^3+3x^2-24*x+30 赋值语句PRINT “x=”;x 打印语句PRINT “y=”;y 打印语句END2、输入语句(1)输入语句的一般格式Array(2)输入语句的作用是实现算法的输入信息功能;(3)“提示内容”提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;(4)输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式;(5)提示内容与变量之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,”隔开。
3、输出语句(1)输出语句的一般格式(2)输出语句的作用是实现算法的输出结果功能;(3)“提示内容”提示用户输入什么样的信息,表达式是指程序要输出的数据;(4)输出语句可以输出常量、变量或表达式的值以及字符。
4、赋值语句(1)赋值语句的一般格式(2)赋值语句的作用是将表达式所代表的值赋给变量;(3)赋值语句中的“=”称作赋值号,与数学中的等号的意义是不同的。
1.2基本算法语句第2课时1.2.2 条件语句(名师:余业兵)一、教学目标1.核心素养通过学习条件语句,培养学生基本的数学抽象、数学建模和数据处理能力.2.学习目标(1)理解条件语句的功能和一般格式;(2)能准确运用条件语句表达解决具体问题的方法;(3)在具体问题解决过程中,培养学生逻辑思维能力和表达能力.3.学习重点(1)条件语句的格式和用法;(2)用自然语句、程序框图描述的包含条件结构的算法转化为伪代码的过程.4.学习难点(1)将具体问题的条件结构框图转化为条件语句的过程;(2)复合条件语句中的逻辑关系的理解.二、教学设计(一)课前设计1.预习任务任务1阅读教材P25—P29,思考:条件语句的功能是什么?它有怎样的格式要求?任务2举两个条件结构的算法例子,画出程序框图,并进一步写成程序语言.2.预习自测1.下列关于条件语句的叙述正确的是()A.IF 语句中必须有ELSE和END IFB.IF 语句中可以没有END IFC.IF 语句中可以没有ELSE,但必须以END IF结束D.IF 语句中可以没有END IF,但必须有ELSE【解析】条件语句有2种不同的格式,一种格式中没有ELSE,但两种格式都有END IF,故A、B、D错误,C正确.解:C2.条件语句的一般形式是“ IF A THEN B ELSE C ”,其中B表示的是()A.不满足条件时执行的内容B.条件语句C.条件D.满足条件时执行的内容【解析】本题属于条件语句的理解,关键是明确THEN和ELSE后面表示的意义.首先对程序进行分析,该条件语句意义为“如果条件A成立,则执行B;否则,执行C”;于是可知B是在A 成立时执行的步骤,再结合各选项即可得到答案.解:D.(二)课堂设计1.知识回顾(1)输入语句格式:输出语句格式:赋值语句格式:(2)算法的条件结构:算法的流程根据条件是否成立有不同的流向,这种处理算法的结构称为条件结构.如图①②所示.2.问题探究问题探究一为什么要学习条件语句?●活动一阅读与思考,了解学习条件语句的必要性引例1 某市居民用水收费的方法是:水费=基本费+超额费+损耗费.若每月用水不超过10 t,只付基本费8元和每户每月的定额损耗费1元;若用水超过10 t,除了付上面的基本费和损耗费外,超过部分每立方米付2元的超额费.试写出该市居民每月应付的水费y(元)的一个算法,并画出程序框图.详解:设该市居民每月的用水量为x t,则9,01092(10),10.xyx x⎧=⎨+-⎩≤≤,>上述函数就是该市居民每月水费的一个算法,程序框图如图所示.问题:你能编写出以上问题的计算机程序吗?要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足“我们日益增长的物质需要”,因此,还需要进一步学习基本算法语句中的条件语句.问题探究二什么是条件语句,它们有怎样的格式要求,具有什么样的功能?.重点、难点知识★▲●活动一阅读与思考,初步认识条件语句引例2 下面这个计算机程序是什么结构?实现什么样的功能?你能画出它的程序框图吗?详解:该算法是条件结构,功能是“任意输入一个自变量x的值,输出函数23y x=-函数值y”.其程序框图如图.变式:在这个程序中,你们觉得哪些是条件语句? 详解:条件语句是 IF 0y < THEN y y =- END IF ●活动二 条件语句的格式与功能算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句.它的一般格式是:(IF-THEN-ELSE 格式)当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句1,否则执行ELSE 后的语句2.其对应的程序框图为:(如上右图) 在某些情况下,也可以只使用IF-THEN 语句:(即IF-THEN 格式)满足条件?语句1语句2是 否IF 条件 THEN语句1 ELSE语句2 END IF计算机执行这种形式的条件语句时,也是首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句.其对应的程序框图为:(如上右图)条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去.需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理. ●活动三 两种语句的辨析(1)共同点:两种语句首先都要对条件进行判断,然后才执行相应的语句体;执行完语句体后,程序都交汇于一点完成条件语句;都以IF 开始,以END IF 结束.(2)区别:IF -THEN -END IF 语句只有一个语句体,是满足条件时执行的语句体;IF -THEN -ELSE -END IF 语句含有两个语句体,满足条件时执行一个语句体,不满足条件时执行另一个语句体.问题探究三 条件语句在算法中的应用?重点、难点知识★▲ ●活动一 初步运用,条件语句的识别例1 某程序如下图,如果输出的y 值是4,那么输入的x 的所有可能的值是________.【知识点:算法的条件语句】满足条件? 语句是否IF 条件 THEN语句 END IF详解:①x <0时,2114;2y x x ==⇒=- ②x >0时,x 2-3x =y =4⇒x =4综上:14.2x =-或点拨:对于包含两个分支的条件语句,采用IF —THEN —ELSE 进行书写. ●活动二 根据条件程序框图写程序例2 已知程序框图如下图所示,写出相应的程序.【知识点:算法的条件语句】 详解:程序如下:例3 已知程序:说明其功能并画出程序框图.【知识点:算法的条件语句】详解:该程序的功能为求分段函数41,151141 1.x xy xx x--⎧⎪=--⎨⎪--⎩<;,≤≤;,>的值.程序框图为:点拨:条件语句在程序框图中能让计算机执行IF后表示判断的“条件”.在判断框中,语句体1表示满足条件时执行的操作内容,放在判断框中“是”后的执行框中;语句体2表示不满足条件时执行的操作内容,放在判断框中“否”后的执行框中.●活动三运用条件语句编写程序例4 编写程序,使得任意输入的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.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程序:(如右框图所示)点拨:先把解决问题的思路用程序框图表示出来,然后再根据程序框图给出的算法步骤,逐步把算法用对应的程序语句表达出来.例5 某商场购物实行优惠措施,若购物金额x在800元以上(包括800元),打8折;若购物金额x在500元以上(包括500元),则打九折,否则不打折,设计算法程序框图并编写程序,要求输入购物金额x,则输出实际交款额.【知识点:算法的条件语句】详解:本题的实质是求函数0.8,800()0.9500800500.x xf x x xx x⎧⎪=⎨⎪⎩≥;,≤<;,<的值.程序框图如下:程序如下:点拨:解答本题可以先由题意建立函数模型,然后由模型编写算法,最后由算法写出程序.3.课堂总结【知识梳理】算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句.它的一般格式是:(IF-THEN-ELSE格式)在某些情况下,也可以只使用IF-THEN 语句:(即IF-THEN 格式)【重难点突破】当判断条件多于一个时,若重复应用条件语句,书写程序繁琐,可利用条件语句的嵌套写. (1)在编写条件语句的嵌套中的“条件”时,要注意IF 和END IF 的配对,常常利用文字的缩进来表示嵌套的层次,以便于程序的阅读和理解.(2)理解条件语句的嵌套时,要分清内层条件语句与外层条件语句,内层的条件结构是外层条件结构的一个分支. 4.随堂检测 1.在条件语句中其中B 表示的是( )A .不满足条件时执行的内容B .条件语句C .条件D .满足条件时执行的内容 【知识点:算法的条件语句】【解析】该语句的执行过程是:对条件A 进行判断,若满足,则执行语句B ,否则执行语句C .IF 条件 THEN语句 END IF故选D解:D2.已知部分程序如下:IF x>0 THENy=x^2语句体1ELSEy=2*x 语句体2END IF则下列说法正确的是( )A.条件成立时,先执行语句体1,再执行语句体2,最后结束条件语句B.条件不成立时,先执行语句体2,再执行语句体1,最后结束条件语句C.条件成立时,先执行语句体1,再结束条件语句D.条件成立时,先执行语句体2,再结束条件语句【知识点:算法的条件语句】【解析】IF-THEN-ELSE-END-IF语句的执行过程中,条件成立时,先执行语句体1,否则执行语句体2,再结束条件语句.故选C.解:C3.阅读下列程序,则该程序运行后,变量y的值为()A.4 B.16 C.6 D.8【知识点:算法的条件语句】【解析】因x=4满足“x>3”的条件,所以执行的是“THEN”后面的y=4×4=16.解:B4.已知程序如下:若是输入9,其运行结果是.【知识点:算法的条件语句】【解析】这个程序用到了IF-THEN-ELSE条件语句,当输入9时,9≥0,故运行结果为9.解:9(三)课后作业基础型自主突破1.下列关于条件语句的说法正确的是( )A.条件语句中必须有ELSE和END IFB.条件语句中可以没有END IFC.条件语句中可以没有ELSE,但是必须有END IFD.条件语句中可以没有END IF,但是必须有ELSE【知识点:算法的条件语句】【解析】条件语句主要有两种形式的格式,分别是IF-THEN-END IF格式或IF-THEN-ELSE -END IF格式.所以条件语句中可以没有ELSE,但是必须有END IF,选C.解:C2.如图所示程序进行后,变量y的值是( )A.3 B.6 C.9 D.27【知识点:算法的条件语句】【解析】由程序可知,x=3时,y=33=27.解:D3.若输入8,则下面程序执行后输出的结果是()A .0.2B .0.7C .0.8D .1【知识点:算法的条件语句】【解析】由t =8,得c =0.2+0.1×(8-3)=0.7.解:B4.阅读下面的程序,若分别输入0,1,4,8,9,10,则输出的结果是( ) A .0,8 B .4,8 C .0,4,8 D .0,1,4,8,9,10【知识点:算法的条件语句】【解析】算法的功能是输入一个数,判断其是否能被4整除,若能,则输出该数.故选C.解:C5.给出如图所示的程序:INPUT “x =”;xIF x MOD 4=0 THENPRINT xEND IFEND执行该程序时,若输入的x为3,则输出的y值是________.【知识点:算法的条件语句】【解析】x=3时,条件x>3不成立,执行y=2*x=2×3=6.解:6能力型师生共研7.下面程序在开始运行后,通过键盘输入三个值3、24、7,则输出结果是( )程序:A.3,24,7 B.3,7,24 C.24,7,3 D.7,3,24【知识点:算法的条件语句】【解析】当a=3,b=24,c=7时,此时b>a,首先是a、b交换数值即a=24,b=3,c=7,又此时c>b,执行的程序是b、c交换数值,即b=7,c=3,所以a=24,b=7,c=3.解:C8.给出程序:该程序的功能是:已知函数y =________,输入自变量x 的值,输出其对应的函数值.【知识点:算法的条件语句】【解析】分析程序中各变量、各语句的作用,再根据伪代码所示的顺序,可知:该程序的作用是计算分段函数22,3()43 3.x x f x x x x x ⎧-⎪==⎨⎪-⎩<,,,,>的函数值.解:22,3()43 3.x x f x x x x x ⎧-⎪==⎨⎪-⎩<,,,,>9.完成如图所示的程序,输入x 的值,求函数y =|8-2x 2|的值.①_____;②_____. INPUT “x =”;xIF ①____THEN②____ELSE y =2*x ^ 2-8END IFPRINT yEND【知识点:算法的条件语句】【解析】根据ELSE 后的语句为y =2x 2-8,故条件①应为8-2x 2≥0,即-2≤x ≤2,写出语句为x ≥2 AND x ≤2;②应为y =8-2x 2.解:①x ≥-2 AND x ≤2 ②y =8-2x 210.已知函数⎪⎩⎪⎨⎧<-≥-=)0(52)0(1)(22x x x x x f 对输入的每一个x 值,都得到相应的函数值,画出程序框图并写出程序.【知识点:算法的条件语句】【解析】由题中给出的分段函数可知,需画出条件结构的程序框图,使用IF -THEN -ELSE -END IF 格式的程序,用x ≥0作为判断条件,从而得出答案.解:程序框图:程序: INPUT xIF x ≥0 THENy =x 2-1ELSEy =2*x ^2-5END IFPRINT yEND探究型多维突破11.给出如下程序.(其中x 满足:0<x <12)程序:(1)该程序用函数关系式怎样表达.(2)画出这个程序的程序框图.【知识点:算法的条件语句】【解析】本题主要考查了程序框图的两种表示方法的相互转换,解答本题的关键在于了解程序中的相关英文表示.根据程序语句,找到分段函数的区间,得到相关的函数;找到判断条件,将相应的语句转换为相应的框图即可,判断语句用菱形表示.解:(1)函数关系式为y=(2)程序框图12.铁路部门托运行李的收费方法如下:y是收费额(单位:元),x是行李重量(单位:kg),当0<x≤20时,按0.35元/kg收费,当x>20时,20 kg的部分按0.35元/kg,超出20 kg的部分,则按0.65元/kg收费.(1)请根据上述收费方法编写程序.(2)试编写程序进行印刷品邮资的计算.(不超过100g收0.7元,以后每增加100g加收0.4元,不足100g按100g计算)【知识点:算法的条件语句】【解析】由题意,可知这是一个定义域分为两段的分段函数,易得0<x≤20时y=0.35x,x>20时y=7+(x-2)×0.65,即得答案,(2)的解法与此类似,不再赘述.(1)的算法步骤如下:1.输入行李的重量x;2.如果0<x≤20,那么y=0.35x,输出运费y;3.如果x>20,那么y=0.35×20+0.65(x-20),输出运费y.解:(1)(2)程序如下:自助餐1.以下关于条件语句的说法,正确的是( )A.条件语句的执行是按照程序中的先后顺序执行的B.条件语句实现了程序框图中的条件结构C.条件语句不能嵌套,即条件语句中不能再使用条件语句D.条件语句一定要完整,即IF-THEN-ELSE-END IF中每一部分都不能少【知识点:算法的条件语句】【解析】条件语句中,如果条件成立,执行THEN后的语句;如果不成立,则执行ELSE后的语句,故条件语句的执行是有选择的,A错;当条件不成立时,不需要任何操作时,可以省略ELSE 及其后的语句,故D错;条件语句可以嵌套,C错.解:B2.已知程序如下:INPUT aIF a>=0 THENPRINT SQR(a)ELSEPRINT “是负数“END IFEND若输入-4,则输出结果为( )A.-4 B.4 C.是负数D.2【知识点:算法的条件语句】【解析】该程序先a进行判断;若a≥0,则输出a;a<0,则输出“是负数”.-4<0,所以应输出“是负数”.解:C3.给出下列程序:如果输入x1=2,x2=3,那么执行此程序后,输出的结果是( )A.7 B.10 C.5 D.8【知识点:算法的条件语句】【解析】执行算法,由于x1=2,x2=3,故x1≠x2,故y=x1+x2=2+3=5.解:C4.阅读下列程序:若输入x=-2,则输出结果为( )A.2 B.-12 C.10 D.-4【知识点:算法的条件语句】【解析】由题意,输入x=-2时,则x<0,执行“y=7”.解:D5.下列程序:若输入的数是83,则输出的结果为( )A.83 B.38 C.3 D.8【知识点:算法的条件语句】【解析】该程序功能是输入一个两位数的正数,变换其个位与十位的位置,输入83,输出应为38.解:B6.条件语句的一般格式是( )【知识点:算法的条件语句】【解析】条件语句有两种格式:分别是IF—THEN格式和IF—THEN—ELSE格式,本题考查后者根据条件语句的结构,排除B、D.在程序框图中,图形符号“平行四边形”表示一个算法输入和输出的信息,排除A.解:C7.对于如下程序,若输入m=-4,则输出的数为()A.9 B.-7 C.5或-7 D.5【知识点:算法的条件语句】【解析】因为-4>-4不成立,则m=1-(-4)=5,故输出m=5.解:D8.给出一个如图所示的程序,若要使输入的x值与输出的y值相等,则这样的x值的个数是()A.1 B.2 C.3 D.4【知识点:算法的条件语句】【解析】当x≤1时,y=x2=x,解得x1=0,x2=1;当x>1时,y=2x-5=x,解得x3=5;故x 可取0,1,5.解:C9.给出下列程序:若输出的结果是5,则输入的x=________.【知识点:算法的条件语句】【解析】令2x+1=5,则x=2>1成立;令x+6=5,则x=-1>1不成立,故答案为2或-1.解:2或-110.INPUT “x=,y=”;x,y上述程序运行的结果为________.【知识点:算法的条件语句】【解析】执行程序,因为x =5,故y =-20+3=-17.故x -y =5-(-17)=22,2x +y =2×5+(-17)=-7.解:22,-711.给出下列程序:如果输入-10,-26,8,那么输出的是________.【知识点:算法的条件语句】【解析】根据题意,可知该程序的功能是输入a ,b ,c 的值,求它们中的最小值.解:-2612.根据下列程序,画出相应的程序框图. 【知识点:算法的条件语句】【解析】由条件语句的定义可知该程序的作用是计算并输出分段函数:⎪⎩⎪⎨⎧>+=<+-=)0(1)0(0)0(1x x x x x y ,依据已知的算法语句及算法对应的分段函数,将对应的语句转化为相应的框图,可得答案. 解:程序框图如图所示:INPUT xIF x <0 THENy =-x +1ELSEIF x =0 THENy =0ELSEy =x +1END IFEND IFPRINT yEND。
苏教版高中高二数学必修3《基本算法语句》教案及教学反思一、教案设计1.1 教学目标•掌握循环语句的使用方法•掌握条件语句的使用方法•学会使用算法设计解决问题•加深对于计算机基本概念和基本算法的理解1.2 教学重点•循环语句•条件语句•算法设计1.3 教学难点•如何将实际问题转化为计算机可处理的问题•如何编写复杂的算法1.4 教学内容1.循环语句•执行次数确定的循环:“for”语句•执行次数不确定的循环:“while”语句•“while”语句与“for”语句的比较2.条件语句•“if”语句•“if-else”语句•“if-else”嵌套语句•“switch”语句3.算法设计•算法的概念及基本特点•模拟算法•贪心算法•分治算法•动态规划算法•回溯算法1.5 教学过程1.导入:教师先介绍循环语句、条件语句以及算法设计的概念,以“小陈去超市买东西”为例子来引入说解决问题也会用到类似的算法。
2.准备:为了让学生更好的理解,先列举一些常见的算法问题,如不借助任何辅助内存,如何在一列数中找到最大的数?3.实操:让学生分别用for、while来编写求1-100和的程序,并比较for和while的区别。
4.拓展:让学生设计一个命令行界面的计算器,介绍if/else、switch等条件语句的使用方法。
5.总结:在学生练习完这些算法后,教师就应该让学生自行思考算法问题的设计方法,并通过优化算法提高执行效率。
二、教学反思教学效果本节课的教学效果还不错,学生们都能够掌握循环语句和条件语句的使用方法,并在练习中逐渐掌握了算法设计的基本方法和思路。
此外,让学生自主思考算法问题的设计方法也起到了良好的效果,学生们的创造力以及掌握算法的能力都得到了提高。
教学难点本节课的教学难点是如何将实际问题转化为计算机可处理的问题,以及如何编写复杂的算法。
初步策略是通过实际问题的演示,让更多的学生理解为什么要使用算法。
学生反馈通过调查问卷和讨论,学生们发现这节课解释了许多过去难以理解的概念。
第一章算法1.2 算法语句第1课时1.2.1 输入语句、输出语句和赋值语句(名师:余业兵)一、教学目标1.核心素养通过学习输入语句、输出语句和赋值语句,初步形成基本的数学抽象和数据处理能力.2.学习目标(1)理解输入语句、输出语句和赋值语句的功能和一般格式;(2)理解变量的概念,掌握变量的赋值;(3)通过实例,初步了解并掌握将算法的描述变成伪代码的过程,比较自然语言、程序框图和伪代码表示算法的区别和联系;(4)进一步体会算法的基本思路,能准确地运用输入语句、输出语句和赋值语句.3.学习重点(1)输入语句、输出语句和赋值语句的功能和一般格式;(2)将算法的描述变成伪代码的过程,伪代码的书写.4.学习难点赋值语句的理解与伪代码的书写.二、教学设计(一)课前设计1.预习任务任务1阅读教材P21—P24,思考:输入语句、输出语句和赋值语句的功能是什么?有怎样的格式要求?任务2举两个顺序结构程序框图的例子,并运用输入语句、输出语句和赋值语句写出其程序语言.2.预习自测1.下列给出的赋值语句中,正确的是( )A.3=A B.m=-m C.B=A=2 D.x+y=0【解析】本题根据赋值语句的定义:赋值语句用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句,来直接进行判断.A:左侧为数字,故不是赋值语句B:赋值语句,把−m的值赋给mC:连等,不是赋值语句D:不是赋值语句,是等式,左侧为两个字母的和.解:B2.下列正确的语句的个数是( )①输入语句INPUT a+2②赋值语句x=x-5③输出语句PRINT M=2A.0 B.1 C.2 D.3【解析】①中输入语句只能给变量赋值,不能给表达式a+2赋值,所以①错误;②中x=x-5表示变量x减去5后再赋给x,即完成x=x-5后,x比的来的值小5,所以②正确;③中不能输出赋值语句,所以③错误,故答案选B.解:B(二)课堂设计1.知识回顾(1)算法的顺序结构:由若干个依次执行的____组成的逻辑结构,是任何一个算法都含有的基本结构.程序框图如图所示(2)任何程序框图必含有两个终端框(一个起始,一个结束),至少含有一个输出框,一定有流程线,但并不是任何程序框图都含有处理框和判断框以及连接点.2.问题探究问题探究一为什么要学习算法语句?●活动一阅读与思考,了解学习算法语句的必要性在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,如:听MP3,看电影,玩游戏,打字排版,画卡通画,处理数据等等,那么,计算机是怎样工作的呢?计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的.因此还需要将算法用计算机能够理解的程序设计语言(programming language)翻译成计算机程序.程序设计语言有很多种.如BASIC,Foxbase,C语言,C++,J++,VB等.为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:这就是这一节所要研究的主要内容——基本算法语句.问题探究二 什么是输入语句、输出语句和赋值语句,它们有怎样的格式要求,具有什么样的功能?重点、难点知识★▲●活动一 阅读与思考,初步认识输入语句、输出语句和赋值语句 引例1 下面这个计算机程序是什么结构?实现什么样的功能?详解:该算法是顺序结构,功能是“任意输入一个自变量x 的值,输出函数3232430y x x x =+-+的自变量x 的值与函数值y .”变式:在这个程序中,你们觉得哪些是输入语句、输出语句和赋值语句呢?详解:输入语句是INPUT “x=”;x ,输出语句是PRINT x 和 PRINT y ,赋值语句y=x^3+3*x^2-24*x +30.●活动二 输入语句、输出语句、赋值语句的格式与功能 三种算法语句的格式及功能 (1)输入语句. ①格式:②“提示内容”一般是提示用户输入什么样的信息.③功能:输入提示内容要求的相应信息或值,计算机每次都把新输入的值赋给变量.输入语句只能够输入数据,不能输入变量、函数或表达式,其中一般格式中的“变量”是指变量的值.(2)输出语句. ①格式:②输出语句的作用和要求i.输出语句的功能:在计算机的屏幕上输出常量,变量的值、系统信息和数值计算的结果.INPUT “x=”;xy=x^3+3*x^2-24*x +30 PRINT x PRINT y END输入语句 输出语句 赋值语句 条件语句 循环语句ii.同输入语句一样,表达式前也可以有“提示内容”,且“提示内容”和表达式之间必须用分号“;”隔开.(3)赋值语句.①格式:②赋值语句的作用与要求.i.赋值语句的功能:将表达式的值赋给变量.ii.赋值语句中的“=”叫做赋值号,它和数学中的等号不完全一样,计算机执行赋值语句时,先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量.点拨:①赋值号左边只能是变量名字,而不能是表达式.如:2=X是错误的.②赋值号左右不能对换.如“A=B”“B=A”的含义运行结果是不同的.③不能利用赋值语句进行代数式的演算.(如化简、因式分解、解方程等)④赋值号“=”与数学中的等号意义不同.问题探究四程序语言中有哪些常见运算符●活动一认识常见数学运算符引例2 下列程序语言中表达式的值正确的是( )详解:C中,[5+3(12-7)]÷4=(5+15)÷4=5;A中,64+32×2=12+18=30;(9)=36;B中,3×9+2D中,5×5-4+2×3×4=45.●活动二常见数学运算符归纳(1)程序中的常见算术运算符号数学符号程序符号×(代数运算中的乘法运算符)*(程序里面表示乘法的运算符)÷(代数运算中的除法运算符)/(程序里面表示除法的运算符)[]代数中取整运算(如[5÷3]=1)\(如5\3=1)a b(代数运算中的指数运算符)a^b(程序里面表示指数的运算符)≤(代数中小于等于符号)<=(程序里面表示小于等于的符(2)问题探究四●活动一识别输入语句、输出语句、赋值语句例1.下列给出的输入、输出语句正确的是( )①输入语句INPUT a;b;c②输入语句INPUT x=3③输出语句PRINT A=4④输出语句PRINT 20,3*2A.①③B.②③C.③④D.④【知识点:算法的输入输出语句】详解:①INPUT语句可以给多个变量赋值,变量之间用“,”隔开;②INPUT语句中只能是变量,而不能是表达式;③PRINT语句中不用赋值号“=”;④PRINT语句可以输出常量、表达式的值.点拨:(1)输入语句要求输入的值只能是具体的常数,不能是变量或表达式.(2)输出语句可以输出常量、变量或表达式的值.例2 阅读下列程序,并回答问题.(1)中若输入1,2,则输出的结果为________;(2)中若输入3,2,5,则输出的结果为________.【知识点:算法的输入、输出、赋值语句】详解:(1)阅读程序,由语句c=a-b及a=1,b=2,可得c=-1;又根据语句b=a+c-b,可得b=-2.所以程序运行后的结果为1,-2,-1.(2)阅读程序,由语句A=A+B及A=3,B=2,C=5,可得A=5.又根据语句B=B-A,可得B=-3,又C=C/A*B,所以输出结果为C=-3.点拨:(1)赋值号左边只能是变量名称而不能是表达式.赋值语句的作用是先算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值.(2)赋值号两边的内容不能对调,如a=b与b=a表示的意义完全不同.(3)赋值语句只能给一个变量赋值,不能接连出现两个或多个“=”.可给一个变量多次赋值,但只保留最后一次所赋的值.●活动二应用输入语句、输出语句、赋值语句设计简单的程序例3 交换两个变量A和B的值,并输出交换前后的值.【知识点:算法的输入、输出、赋值语句】详解:点拨:引入一个中间变量X,将A 的值赋予X,又将B 的值赋予A ,再将X 的值赋予B ,从而达到交换A ,B 的值.(比如交换装满水的两个水桶里的水需要再找一个空桶)例4 编写一个程序,要求输入一个圆的半径,便能输出该圆的周长和面积.(π 取3.14) 【知识点:算法的输入、输出、赋值语句】 详解:点拨:设圆的半径为R ,则圆的周长为2C R π=,面积为2S R π=,可以利用顺序结构中的INPUT 语句,PRINT 语句和赋值语句设计程序. 3.课堂总结 【知识梳理】 (1) 输入语句格式: (2) 输出语句格式:(3) 赋值语句格式:【重难点突破】(1)赋值语句中的“=”与数学运算中的等号一样吗? 名师点拔:不一样.①赋值号左边只能是变量,而不是表达式.②赋值号左右不能对换.赋值语句是将赋值号右边表达式的值赋给赋值号左边变量.③不能利用赋值语句进行代数式的演算(如化简、因式分解等).赋值语句中的赋值号右边的表达INPUT “半径为R=”;R C=2*3.14*R S=3.14*R^2PRINT “该圆的周长为:”;C PRINT “该圆的面积为:”;S ENDINPUT A INPUT B PRINT A ,B X=A A=B B=XPRINT A ,B END式中的每一个“变量”都必须事先赋给确定的值.在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“=”.④赋值号与数学中的等号的意义不同.(2)输入语句输入的值可以是变量吗?输出语句呢?名师点拔:①输入语句要求输入的值只能是具体的常数,不能是变量或表达式.②计算机执行到输入语句时,暂停等候用户输入“提示内容”所提示的数据,输入后回车,则程序继续运行.“提示内容”及其后的“;”可省略.③输出语句可以输出常量、变量或表达式的值.4.随堂检测1.阅读下面的程序,然后判断下列程序执行后的结果是( )A.5 B.15 C.11 D.14【知识点:算法的输入、输出、赋值语句】【解析】由x=2,得y=3×2-1=5;把5赋值给x,输出的值为3×5-1=14.解:D2.下列输入语句不正确的是( )A.INPUT“x=”;xB.INPUT x,y,zC.INPUT 2,3,4D.INPUT“请输入x”;x【知识点:算法的输入、输出、赋值语句】【解析】输入语句后不能是具体数字或值,必须为变量名,故C错误.解:C3.下列输出语句中正确的有( )①PRINT a②PRINT“a=”;a③PRINT a+4 ④PRINT“a的值为”;aA.1个B.2个C.3个D.4个【知识点:算法的输入、输出、赋值语句】【解析】根据算法的输出语句的格式,4个语句全部正确,答案为D.解:D4.将两个数a=8,b=17交换,使a=17,b=8,下列语句正确的是( )【知识点:算法的输入、输出、赋值语句】【解析】先把b的值赋给中间变量c,这样c=17,再把a的值赋给变量b,这样b=8,把c的值赋给变量a,这样a=17,故选B.解:B(三)课后作业基础型自主突破1.下面的程序输出的结果是( )A.27 B.9C.2+25 D.11【知识点:算法的输入、输出、赋值语句】【解析】执行算法,x=2,y=9,故x+y=11.解:D2.以下程序运行时输出的结果是( )A .12,5B .12,21C .12,3D .21,12 【知识点:算法的输入、输出、赋值语句】【解析】此程序所表示的是先将3赋给A ,再将3×3=9赋给B ,再将3+9=12赋给A ,再将9+12=21赋给B ,所以输出的A 为12,输出的B 为21.故选B. 解:B3.如图所示的程序输出的结果是________.【知识点:算法的输入、输出、赋值语句】 【解析】由a =5,b =3,得42a bc +==,d =c 2=16.由程序知,输出的结果是d =16. 解:d =164.已知A (x 1,y 1),B (x 2,y 2)是平面上的两点,试设计一个算法程序,输入A 、B 两点的坐标,输出其中点的坐标,现已给出程序中的一部分,试在横线上填上适当的语句,把程序补充完整.①________;②________.【知识点:算法的输入、输出、赋值语句】【解析】本题主要考查学生对算法输入语句、输出语句、和赋值语句相关知识的理解,同时涉及到平面上两点求中点的公式.根据中点公式,可知122x x x +=,122y yy += 解:①122x x x +=②122y yy +=能力型师生共研5.下列程序:输出的结果a是( )A.5 B.6 C.15 D.120【知识点:算法的输入、输出、赋值语句】【解析】执行算法,a=1×2×3×4×5=120.解:D6.读下面两个程序:若程序1、2运行结果相同,则程序2输入的值为( )A.6 B.0 C.2 D.2或-2【知识点:算法的输入、输出、赋值语句】【解析】程序1运行结果是6.因为程序2与程序1运行结果相同,故x2+2=6,x2=4,x=±2,选D.解:D7.下面程序的运行结果为________.【知识点:算法的输入、输出、赋值语句】【解析】执行算法,①a =1,②b =4,③b =5.解:b =58.下面程序的运行结果为________.【知识点:算法的输入、输出、赋值语句】【解析】执行算法,a =b =3,b =c +2=4+2=6,c =b +4=6+4=10.故 1119()().3336103d a b c =++=++=解:19.3d = 探究型多维突破9.以下是一个用基本算法语句编写的程序,根据程序画出其相应的程序框图.【知识点:算法的输入、输出、赋值语句】【解析】根据题目中的程序语言,得出该程序是顺序结构,利用构成程序框的图形符号及其作用,即可画出流程图.解:程序框图如图所示10.甲、乙、丙三个学生的三门功课考试成绩如下:设计一个程序计算各个学生的总分和平均分.【知识点:算法的输入、输出、赋值语句】【解析】由题意可知,程序的运算过程中第一步是输入三门课的成绩;第二步是将三门课的成绩相加,得到这三门课的总分;第三步是用这三门课的总分除以3,即可得到它们的平均分,至此,即可编写出程序.解:程序如下:自助餐1.下列程序在电脑屏幕上显示的结果为( )A.2 B.“x=”;x C.“x=”;2 D.x=2【知识点:算法的输入、输出、赋值语句】【解析】PRINT后引号中提示的内容直接输出,变量输出其值,故显示的结果为x=2.解:D2.下列说法中,正确的是( )【知识点:算法的输入、输出、赋值语句】【解析】赋值语句中的“=”与代数中的“=”是不一样的,式子两边的值也不能互换,而"x=x+1"是将x+1的值赋给x,因此①错,②对,③错,④对.故选B.解:B3.下列赋值语句中运算结果等于15的是()A.15=xB.x=3^5C.x=5*3D.x2=225【知识点:算法的输入、输出、赋值语句】【解析】C4.阅读下列两个程序,回答问题.(1)上述两个程序的运行结果是①________;②________.(2)上述两个程序的第三行有什么区别:________.【知识点:算法的输入、输出、赋值语句】【解析】(1)①从所给的赋值语句中可以看出,x,y初始赋给的值分别为3,4,接下来x是y 赋给的值:x=4,故输出的d的值是:x=4,y=4,故答案为:4,4;②从所给的赋值语句中可以看出,x,y初始赋给的值分别为3,4,接下来y是x赋给的值:y=3,故输出的d的值是:y=3,x=3,故答案为:3,3.(2)由程序框图可知:程序①中的x=y是将y的值4赋给x,赋值后,x的值变为4;程序②中的y=x是将x的值3赋给y,赋值后y的值变为3.解:(1)4,4;3,3 (2)程序①中的“x=y”是将y的值4赋给x,赋值后x的值变为4;程序②中的“y=x”是将x的值3赋给y,赋值后y的值变为3.5.下面程序的功能是求所输入的两个正数的平方和,已知最后输出的结果是3.46,则此程序中,①处应填________;②处应填________.【知识点:算法的输入、输出、赋值语句】【解析】由于程序的功能是求所输入的两个正数的平方和,故S=x12+x22,由于最后输出的数是3.46,所以3.46=1.12+x22,即x22=2.25,又x2>0,故x2=1.5.解:1.5;x1^ 2+x2^ 26.根据下列程序,画出程序框图.【知识点:算法的输入、输出、赋值语句】【解析】从编号的程序可以看出,此程序只用INPUT 输入语句、赋值语句和 PRINT 输出语句组成,因此根据程序画程序框图,只要按顺序从上到下把输入语句、赋值语句、输出语句换成输入框、处理框、输出框就可以了.解:程序框图如图.7.用算法语句写出下面程序框图的程序.【知识点:算法的输入、输出、赋值语句】【解析】本题主要考查学生对算法知识的掌握,关键是理解算法前后的逻辑关系.题中该程序的作用是依次用输入的x 1,x 2,求出y 1,y 2,运用2121x x y y K --=,再综合运用输入语句、输出语句、赋值语句的格式,进而得出答案.解:程序如下:8.对于平面直角坐标系中给定的两点A (a ,b ),B (c ,d),编写一个程序,要求输入两点的坐标,输出这两点间的距离.【知识点:算法的输入、输出、赋值语句】【解析】本题考查了程序语句的书写,同时考查了两点间的距离公式,综合性较强,需恰当运用输入、输出、赋值语句.解:9.给定函数()321213f x x x =++,编写程序求任意给定x 的值,求f (f (x ))的值,并画出程序框图. 【知识点:算法的输入、输出、赋值语句】【解析】本题考查了程序框图和解析几何的相关知识.经分析,本框图为顺序结构,在编写程序和程序框时应注意格式及变量的应用.解:程序框图:。
《基本算法语句》教案6(苏教版必修3)第10课时 5.3 基本算法语句【学习导航】学习要求1.进一步掌握循环语句结构,并能进行简单的综合应用; 2.进一步培养学生的探索问题、分析问题和解决问题的能力,培养学生思维的严谨性和条理性.【课堂互动】自学评价当型循环:常用"While" 循环语句和"For" 循环语句表示While循环语句一般形式为:For循环语句一般形式为:【说明】当循环的次数确定时,我们通常用For循环语句,而当循环的次数不确定时,我们通常用While循环语句,这两种语句都是前测试语句,即先判断后执行。
若初始条件不成立,则一次也不执行循环体中的内容,任何一种需要重复处理的问题都可以用这种前测试循环来实现。
【经典范例】例1 读入100个自然数,统计出其中奇数的个数,并将所有奇数输出,用伪代码表示解决这个问题的算法过程.【解】例2 假定有一房地产投资,投资10000元,按11.25%的回报率,一年后连本带利润将变为11125元,若将此款继续做房地产投资,试问多长时间就会连本带利翻一番?请用适当语句写出程序。
【解】例3 设区间[0,1]是方程的有解区间,可用二分法求方程近似解(精确到0.001).请用适当的语句描述这个算法.(思路点拨:这也是循环结构中的一条题目。
终止条件有两个:(1) (2).)【解】语句如下(完成算法)a←0b←1e←0.001Print例4 阅读下面程序,试说明程序所实现的功能。
如将语句S←S+i和i←i+1调换顺序,运算结果是否有变化,请说明。
【解】追踪训练1、下面的伪代码输出的结果为()A.17B.19C.21D.232、下面的伪代码输出的结果是()A 3B 5C 9D 133、下面的伪代码中,"While"语句的循环体是________________.。
基本算法语句 教学目标 (1)正确理解条件语句的步骤、结构及功能,并掌握其结构;(2)能正确地使用条件语句表示选择结构.重点难点条件语句的步骤、结构及功能使用条件语句表示选择结构 教学过程一、问题情境1.问题1:某居民区的物业管理部门每月按以下方法收取卫生费:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.试设计算法,根据输入的人数计算应收取的卫生费?二、学生活动学生思考后得出:若用c (单位:元)表示应收取的费用,n 表示住户的人口数,则5, 035 1.2(3), 3n c n n <≤⎧=⎨+->⎩. 具体算法步骤如下:S1 输入n ;S2 若3n ≤,则5c ←,否则5 1.2(3)c n ←+-;S2 输出c .流程图如右图所示.从流程图可以看出这是一个选择结构,我们可以用条件语句来实现该过程.三、建构数学1.条件语句:条件语句的一般形式为:If —then —Else (如图1所示),对应的程序框图为图2。
“条件A ”表示判断的条件,“语句1”表示满足条件A 时执行的操作内容;“语句2”表示不满足条件A 时执行的操作内容;End if 表示条件语句的结束。
计算机在执行时,首先对If 后的条件进行判断,如果符合条件A ,则执行Then 后面的语句1;若不符合条件A ,则执行Else 后面的语句2。
我们把步骤“5c ←”称为“The n ”分支,步骤“5 1.2(3)c n ←+-”称为“Else ”分支.为了醒目和便于阅读这些分支一般缩进书写.If 条件A then 语句1 Else 语句2End if (图1)否是 满足条件? 语句1 语句2 (图2)四、数学运用1.例题:例1.写出输入两个数a和b,将较大的数打印出来的算法,写出伪代码,并画出流程图.解:算法:S1 输入a,b; S2 若a>b,则输出a,否则输出b.例2.已知函数1,00,01,0xy xx>⎧⎪==⎨⎪-<⎩,试写出计算y值的一个算法.解:可以用条件语句表示这类分段函数的算法:Read x 流程图:If x>0 Theny←1Else If x=0 Theny←0Elsey←1-End IfPrint y课外作业用算法语句表示:输入一个数x,如果x不为0,则输出1x,否则,重新输入教学反思伪代码:Read a,bIf a>b ThenPrint aElsePrint bEnd IfEnd开始输入a,ba>b结束Y N输出a 输出b开始结束。
课题:基本算法语句(一)教学目标:⑴了解输入语句、输出语句、赋值语句的结构。
⑵通过实例使学生了解输入语句、输出语句、赋值语句的表示方法、结构和用法,进一步体会算法的基本思想。
教学难点、重点:了解输入语句、输出语句、赋值语句的作用。
教学过程—•、问题情境为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:输入语句、输出语句、赋值语句、条件语句和循环语句.伪代码—介于自然语言和计算机语言之间的文字和符号.二、建构数学(一)赋值语句(1)赋值语句的一般格式是:变量一表达式或变量.(2)赋值语句的作用是将一个表达式或变量的值赋给一个变量.它实质上是先将赋值号“一”右边表达式或变量的值计算出来,然后把该值赋给“一”左边的变量,使该变量的值等于表达式或变量的值.注意:赋值号左边只能是变量,而不能是表达式或常数;赋值号左、右两边不能对换,』一方和砰』的含义及运行结果一般来说是不同的;赋值号“一”与数学中的意义是不同的,如数学中式子伞册1应说是错误的,但在赋值语句中它的作用是将当前"的值加上1再赋给变量川这样原来的值将被新的值取代.如算法:12;xT.则运行结果为8.符号“一”两边的量应是同类型的.(二)输入、输出语句输入语句:用“Read a, b”表示输入的数据依次送给a, b.输出语句:用“Print x”表示输出运算结果x.注意:输入语句也是赋值语句,只不过是输入语句可处理批量数据的赋值问题.例如,"Read a, b, c, d, e”,便一下了读入了5个数据.输出语句是程序中不可缺少的语句,因为没有输出的程序是无意义的程序.三、数学应用2」写虹继邱运褪果-一;a—5i ib-7的—71|c~b—a ;c—(a+b)/2i i ,> [b—a+b+c ;Print c;iEnd—J Endb ba,a,a, b,c若输入3, 4,则输出结果为.|Read|a—b|b—ci|c—a施X2,3, 4,则输出结果为()D. s^-s+1例1下面的表述:①"p・,② 1—3 X 5+2;③ M3—5;④〃—((3x+2)-4)x+3;方〜芸(6)x, y, z—5;⑦ 以一3;⑧ x^y+2+x.其中正确表述的赋值语句有.例2写出后23时多项式7/+3/-5^+11的值的算法・(阅读课本第16页)例3根据程序框图,写出伪代码.四、课堂练习1.下列赋值语句正确的是A. 4—B.两 fC.厅。
基本算法语句(第3课时)教学目标:通过实例,使学生理解两种循环语句的表示方法、结构和用法,能用两种循环语句表示算法,进一步体会算法的基本思想。
教学重点:两种循环语句的表示方法、结构和用法,用循环语句表示算法。
教学难点:理解循环语句的表示方法、结构和用法。
教学工具:电脑。
教学过程: 一、引入新课1、条件语句的一般格式有两种,一种是 ,另一种是 。
2、算法中的循环结构是由 语句来实现的,对应于程序框图中的两种循环结构,循环语句也有两种:当型(WHILE )语句和直到型(UNTIL )语句。
二、新课讲授 1、WHILE 语句(1)WHILE 语句的一般格式是 对应的程序框图是(2)计算机执行此程序时,遇到WHILE 语句,先判断条件是否成立,如果成立,则执行WHILE 和WEND 之间的循环体,然后再判断上述条件,再执行循环体,这个过程反复执行,直到某一次不符合条件为止,这时不再执行循环体,将跳到WEND 语句后,执行WEND 后面的语句。
2、UNTIL 语句(1)UNTIL 语句的一般格式是 对应的程序框图是(2)计算机执行UNTIL 语句时,先执行DO 和LOOP UNTIL 之间的循环体,然后判断条件是否成立,如果不成立,执行循环体。
这个过程反复执行,直到某一次符合条件为止,这时不再执行循环体,跳出循环体执行LOOP UNTIL 后面的语句。
3、当型循环与直到型循环的区别(1)当型循环先判断后执行,直到型循环先执行后判断; (2)当型循环用WHILE 语句,直到型循环用UNTIL 语句; (3)对同一算法来说,当型循环和直到型循环的条件互为反条件。
例1、编写计算机程序计算1+2+3+……+100的值。
程序(WHILE 语句): 程序(UNTIL 语句):练习一、课本第23页练习第2、3题。
(分别用两种循环语句表示算法)例2、设计一个计算1×3×5×7×…×99的算法,编写算法程序。
基本算法语句(优质课)教案教学目标:1.理解学习基本算法语句的意义.2.学会输入语句、输出语句和赋值语句,条件语句和循环语句的基本用法.3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.教学过程:1. 赋值、输入和输出语句(1)赋值语句:在表述一个算法时,经常要引入变量,并赋给该变量一个值。
用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句。
在算法语句中,赋值语句是最基本的语句。
赋值语句的一般格式为:变量名=表达式。
赋值语句中的“=”号,称作赋值号,赋值语句的作用是先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值。
说明:①赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式;②赋值语句中的赋值号“=”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;③不能利用赋值语句进行代数式(或符号)的演算(如化简、因式分解等)。
在赋值语句中的赋值号右边的表达式中的每一个“变量”都必须事先赋给确定的值。
在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“=”;④赋值号与数学中的等号的意义不同。
赋值号左边的变量如果原来没有值,则在执行赋值语句后,获得一个值。
如果原已有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”;⑤对于一个变量可以多次赋值。
(2)输入语句在某些算法中,变量的初值要根据情况经常地改变。
一般我们把程序和初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可。
这个过程在程序语言中,用“输入语句”来控制。
不同的程序语言都有自己的输入指令和方法。
在Scilab2.7中的输入语句之一是“input”。
“input”在计算机程序中,通常称为键盘输入语句。
“input”不仅可以输入数值,也可以输入单个或多个字符,如X=input(“What is your name?”.“string”)输入你的名字。
String代表输入字符型变量。
在Scilab2.7中,还有其它输入语句。
如“read”输入语句。
在其它各种程序语言中,一般都有自己的输入控制语句,它们的作用是相同的,只是每种程序语言的控制代码和表现形式不同。
这里,我们只需理解程序语言的含义,减少你今后深入学习程序语言的困难。
输入语句与赋值语句的区别在于:赋值语句可以将一个代数表达式的值赋于一个变量,而输入语句由于要求输入的值只能是具体的常数,不能是函数、变量或表达式,因此输入语句只能将读入的具体数据赋给变量。
(3)输出语句任何求解问题的算法,都要把求解的结果“数出”。
由此可知,任何程序语言也必须有“输出语句”来控制数出。
不同的程序语言都有自己的输出语句和表现形式,但功能是一样的,就是以某种形式把求解结果“数出”出来。
在Scilab中,有各种输出语句,如:print,write,format,printf,disp。
例如:一个算法是用Scilab中的rand()函数,首先生成一个0~1之间的随机数并把它赋值a+赋值给变量c,最后把它们都输出到屏幕上,这个给变量a,再把数值3复制给变量b,把b算法用Scilab程序写出,并用print(%io(2),a,b,c)语句控制输出。
在Scilab界面内直接写出程序并运行如下:a=rand();b=3;c=ba+;print(%io(2),a,b,c)c=3.7560439b=3.a=.7560439程序中的print(%io(2),a,b,c)的参数%io(2)表示在屏幕上输出。
2. 条件语句处理条件分支逻辑结构的算法语句,叫做条件语句。
计算机通常是按照程序中语句出现的先后顺序依次往下执行的,但有时需要根据某个给定的条件是否满足而决定所要执行的语句,这时就需要条件语句。
Scilab语言中的条件语句分为if语句和select-case语句。
我们主要介绍if语句。
if语句的一般格式是:if 表达式语句序列1;else语句序列2;end该语句的功能为,如果表达式结果为真,则执行表达式后面的语句序列1;如果表达式结果为假,则执行else后面的语句序列2。
其实,if语句的简单的格式是:if 表达式语句序列1;end这就是说,如果表达式结果为真,则执行表达式后面的语句序列1,否则跳过语句序列1。
3. 循环结构在算法程序语言中一般通过循环语句来处理算法中的循环结构。
我们知道,在实际问题中会遇到许多有规律的重复运算,或者在程序中需要多某些语句进行重复的执行,这样就需要用到循环语句进行控制。
Scilab程序语言中提供了两种循环语句:for循环和while循环。
for 循环的格式为:for 循环变量=初值:步长:终值 循环体 end这种循环结构,循环变量被赋初值后,如果循环变量没有超过终值,则执行语句序列;循环变量递增(递增值为步长),如果没有超过终值,继续执行循环;否则,循环结束。
while 语句的格式为: while 表达式 循环体 end这种循环结构,首先要求对表达式进行判断,如果表达式为真,则执行循环体部分。
每次开始执行循环体前,都要判断表达式是否为真。
这样重复执行,一直到表达式值为假时,就跳过循环体部分,循环结束。
类型一 赋值语句的应用例1:请写出下面程序运行后输出的结果.a =7;b =5;c =(a -b )/2;d =c *c ;d[解析] 作为对于赋值号的理解,还要注意以下几点:①赋值号左边只能是变量名字,而不能是表达式.如:2=X 是错误的. ②赋值号左右不能对换.如“A =B ”、“B =A ”的含义、运行结果是不同的. ③不能利用赋值语句进行代数式的演算,如化简、因式分解. [答案] ∵a =7,b =5,∴c =7-52=1,∴d =12=1.∴运行输出的结果是1.练习1:下列关于赋值语句的说法错误的是( )A .赋值语句的作用是先计算出赋值号右边的表达式的值B .赋值语句是把左边变量的值赋给赋值号右边的表达式C .赋值语句是把右边表达式的值赋给赋值号左边的变量D .在算法语句中,赋值语句是最基本的语句 [答案] B练习2:请写下面程序运行的结果. x =0;x =x +1;x =x +2;x =x +3;x[解析] ∵x =0,∴x =x +1=1,x =x+2=1+2=3,x =x +3=3+3=6. 故程序运行的结果是6. 类型二 输入、输出语句例2:编写一个程序,要求输入两个数a 、b 的值,输出a +b 和ab 的值.[解析] (1)输入语句要求输入的值只能是具体的常数,不能是变量或表达式(输入语句无计算功能).若输入多个数,各数之间应用逗号“,”隔开.(2)计算机执行到输入语句时,等候用户输入“提示内容”所提示的数据,输入后回车,则程序继续运行,“提示内容”及其后的“;”可省略.(3)输出语句可以输出常量、变量或表达式的值(输出语句有计算功能)或字符,程序中引号内的部分将原始呈现.[答案] 程序如下:a =input (”a =”);b =input (”b =”);c =a +b ;d =a*b ;print (%io (2),d ,c );练习1:任给三个变量a 、b 、c 赋值,设计一个计算a 2-3b 2+5c 的程序. [解析] 程序如下: a =input(”a =”); b =input(”b =”); c =input(”c =”); S =a^2-3*b^2+5*c print(%io(2),S).类型三 三种语句的功能例3:写出下列语句描述的算法的输出结果.(1)a =5;b =3;c =(a +b )/2d =c*c ;print (%io (2),d ); (2)a =1;b =2;c =a +b ;b =a +c -b ;print (%io (2),a ,b ,c );(3)a =10;b =20;c =30;a =b ;b =c ;c =a ;print (%io (2),a ,b ,c );[解析] 分别将输入的值代入程序中依次逐步计算即可,要注意赋值前后变量值的变化.赋值语句在给变量赋值时,先计算右边的式子,然后赋值给左边的变量,另外可以给一个变量先后多次赋不同的值,但变量的取值只与最后一次赋值有关,解决此类问题要时刻把握某个变量在程序中的来龙去脉,时刻关注其值的改变情况.[解析] (1)∵a =5,b =3,∴c =a +b 2=4.又d =c 2,∴d =16.故输出结果为:d =16. (2)∵a =1,b =2,c =a +b ,∴c =3. 又b =a +c -b ,∴b =2.故输出结果为: c =3. b =2. a =1.(3)∵b =20,且a =b ,∴a =20; ∵c =30,且b =c ,∴b =30; ∵a =20,且c =a ,∴c =20;故输出结果为:c =20. b =30. a =20.练习1:阅读下列程序,给出当a =2,b =-5时的运行结果: (1)a =input (“a =”);b =input (“b =”);x =a +b ;y =a -b ;a =(x +y )/2;b =(x -y )/2;print (%io (2),a ,b );(2)a =input (“a =”);b =input (“b =”);a =a +b ;b =a -b ;a =(a +b )/2;b =(a -b )/2;print (%io (2),a ,b );(3)a =input (“a =”);b =input (“b =”);a =a +b ;b =a -b ;a =(a -b )/2;b =(a +b )/2;print (%io (2),b ,a );[答案] (1)∵a =2,b =-5,∴x =a +b =-3,y =a -b =7,a =x +y 2=2;b =x -y 2=-3-72=-5.故运行的结果为:b =-5,a =2. (2)∵a =2,b =-5,∴a =a +b =-3,∴b =a -b =-3-(-5)=2,a =a +b 2=-3+22=-0.5,b =a -b 2=-0.5-22=-1.25.故运行的结果为:b =-1.25,a =-0.5. (3)∵a =2,b =-5,∴a =a +b =-3,b =a -b =-3-(-5)=2, ∴a =a -b 2=-3-22=-2.5,b =a +b 2=-2.5+22=-0.25.故运行的结果为:a =-2.5,b =-0.25. 类型四 条件语句的应用例4:编写程序计算:y =⎩⎪⎨⎪⎧1, x ≥0-1,x <0.[解析] 以x ≥0是否成立作为条件判断,利用if 语句的一般格式. [答案] 程序如下: x =input (”x =”);if x>=0 y =1;else y =-1;endprint (%io (2),y );练习1:编写程序,输入两个实数,由大到小输出这两个数. [答案] 程序如下:a =input (“a =”);b =input (“b =”);if a<b t =a ;a =b ;b =t ; end a b练习2:编写一个程序对输入的任意一个非零实数,判断其符号. [答案] 程序如下: x =input (“x =”);if x>0print (%io (2),“+”);elseprint (%io (2),“-”);end类型五 循环语句的应用例5:应用循环语句编写程序求12+14+…+1100的值. [解析] 程序如下:练习1:利用循环语句编写一个程序,求所输入的50名同学数学成绩中大于80分的成绩的平均分.[解析] 程序如下:S =0;b =0;for i =1:1:50a =input (“chengji =”); if a>80 S =S +a ; b =b +1; end endaver =S/b ;disp (aver );例6:写出求满足1+2+3+…+n >2 010的最小的自然数n 的程序,并画出其程序框图. [解析] 程序框图如下:程序如下:练习1:编写程序计算102+202+302+…+1002的值.[解析]程序如下:1.下列赋值语句正确的是()A.6=x B.x+y=6C.x=y=2 D.x=x+2[答案]D2.当a=1,b=3时,执行完下面一段程序后x的值是()if a<bx=a+belsex=a-bendxA.1 B.3C.4 D.-2[答案]C3.下列程序运行后输出的结果为()x=1;y=1;z=0;while x<=4while y<=x+2z=z+1;y=y+1;endprint(%io(2),z);x=z+1;y=1;endendA.3,4,5,6 B.4,5,6,7C.5,6,7,8 D.6,7,8,9[答案]A4.下列程序的运行结果是________.a=1;b=3;a=a+b;b=b*a;print(%io(2),a,b);[答案]12,45.运行下面的程序时,若输入的值为100、99,则输出的结果为________;若输入的值为1、2,则输出的结果为________.A=input(”A=”);B=input(”B=”);if A<BT=A;A=B;B=T;elseA=A-B;endprint(%io(2),A);[答案]126.在求1+2+3+…+50的值时,在Scilab中的文本编辑中写出的程序如下:则横线上应填写的语句是________.S=0;for i=1150;endprint(%io(2),S);[答案]S=S+i7.根据以下给出的程序,画出其相应的程序框图,并指明该算法的功能.n=1;S=1;while S<5 000S=S*n;n=n+1;endn=n-1;print(%io(2),n);[答案]该算法的程序框图如图所示:该算法的功能是求使1×2×…×n<5 000的最大正整数.__________________________________________________________________________________________________________________________________________________________________基础巩固一、选择题1.执行“print(%io(2),3+5)”的输出结果是( ) A .3+5=3+5 B .3+5=8 C .8 D .8=8[答案] C[解析] 输出语句有计算功能,∴3+5=8. 2.下列给出的输入、输出语句正确的是( ) ①input a ;b ;c ②input x =3 ③print A =4 ④print(%io(2),a) A .①② B .②③ C .③④ D .④[答案] D[解析] 由输入、输出语句的定义可知①②③不正确,故选D.3.给出以下四个问题:①输入一个数x ,输出它的相反数;②求面积为6的正方形的周长;③求三个数a 、b 、c 中的最大数;④求函数f (x )=⎩⎪⎨⎪⎧x -1, x ≥0x +2, x <0的函数值.其中不需要用条件语句来描述其算法的有( ) A .1个 B .2个 C .3个 D .4个[答案] B[解析] ①②直接用顺序结构即可,不需用条件语句;而③需要判断三个数的大小,④是分段函数求值问题,故需用到条件语句.4.下列对while 语句的说法不正确的是( )A .当计算机遇到while 语句时,先判断是否满足条件,如果符合条件,就执行循环体B .当条件不符合时,将不执行循环体直接跳出循环C .while 语句的格式为:while—表达式—循环体—endD .while 语句的特点是“后测试”,即先执行循环体,然后判断是否满足条件 [答案] D[解析] while 语句的特点是“前测试”,即先判断是否满足条件,后执行循环体. 5.下列关于for 循环的说法错误的是( ) A .在for 循环中,循环表达式也称为循环体B .在for 循环中,步长为1,可以省略不写;若为其他值,则不可省略C.理解for循环关键是理解为循环变量设定初值、步长、终值D.在for循环中,“end”控制结束一次循环,开始一次新的循环[答案]C[解析]本题是对for循环的综合考查,理解for循环的关键是理解循环体在计算机中是如何执行的,故选C.二、填空题6.执行下列程序:A=20;B=15;A=A+B;B=A-B;A=A*B;B=A+B;print(%io(2),B);运行结果为________.[答案]720[解析]∵A=20,B=15,∴A=A+B=35,B=A-B=20,∴A=A×B=35×20=700,∴B =A+B=700+20=720.故运行结果为720.7.执行下面的程序语句,输入a=3,b=-1,n=4后,输出的结果是________.a=input(“a=”);b=input(“b=”);n=input(“n=”);i=1;while i<=nc=a+b;a=b;b=c;i=i+1endprint(%io(2),c);[答案]4[解析]循环体被执行了四次,第一次执行循环体得到的结果是:c=2,a=-1,b=2,i=2;执行第二次得到的结果是:c=1,a=2,b=1,i=3;执行第三次得到的结果是:c=3,a=1,b=3,i=4;执行第四次得到的结果是:c=4,a=3,b=4,i=5,这时的c被输出.能力提升一、选择题1.下边程序的输出结果为()A=8;B=7;A=A+B;B=A-B;C=A*B;A=C;print(%io(2),B,A);A.15,1 B.15,7C.56,8 D.120,8[答案]D[解析]执行过程中,A,B,C的值的变化情况为:A=7,B=7,A=15,B=8,C=120,A =120,故输出结果是A=120,B=8.2.若输入4,则下面程序执行后输出的结果是()A.4B.0.2C.0.1D.0.3[答案]B[解析]∵输入4,满足t≤4,∴c=0.2,故选B.3.下面程序的作用是()i=1;sum=0;for i =1110sum=sum+i;endprint(%io(2),sum);A.求1+3+…+9+11B.求1+2+3+…+10C.求1×3×5×…×11D.求1×2×3×4×…×10[答案]B[解析]i的初值为1,sum的初值为0,步长为1.程序的处理过程为:第1轮的结果为:sum=0+1=1,i=1+1=2;第2轮的结果为sum=1+2,i=2+1=3;第3轮的结果为:sum=1+2+3,i=3+1=4;…;第10轮(最后一轮)的结果为:sum=1+2+3+4+5+6+7+8+9+10,i=10+1=11.i =11>10,跳出循环.故选B.4.以下程序运行后的输出结果为( )A .21B .13C .17D .25[答案] A[解析] 执行第一次后,i =3,S =9;执行第二次后,i =5,S =13;执行第三次后,i =7,S =17;执行第四次后,i =9,S =21.二、填空题5.下列程序的运行结果是________. a =2;b =3;c =4;a =b ;b =a +c ;c =b +a ;a =(a +b +c )/2;print (%io (2),a );[答案] 10[解析] ∵a =2,b =3,c =4,∴a =b =3,b =a +c =7,c =b +a =10,a =a +b +c 2=3+7+102=10. 故运行结果为10.6.如图的程序框图所对应的程序是________.[答案] x =input (”x =”);y =2^x ;print (%io (2),y );[解析] 输入x 、输出y 分别转化为输入语句、输出语句,y =2x 转化为赋值语句.7.读下面的程序,如果输出y 的值是20,则通过键盘输入的变量x 的值是________.[答案] 2[解析] 该程序的功能是求分段函数y =⎩⎪⎨⎪⎧10x (x ≤5)5x +5 (x >5)的函数值. 若x ≤5时,10x =20,∴x =2,满足x ≤5,∴x =2.若x >5时,5x +5=20,∴x =3,不满足x >5,∴输入的变量x 的值为2.8.下面是一个用于计算11×2+12×3+13×4+…+120×21的程序,试填上适当的语句.[答案] s =s +1/(i*(i +1))[解析] 累加求和需用赋值语句“s =s +1/(i*(i +1))”.9.如果以下的程序运行的结果为240,那么在程序中while 后面的“表达式”应为i>________.[答案] 14[解析] 该程序使用了while 循环语句,当表达式为真时,执行循环体;当表达式为假时,退出循环.由于输出的结果为240=16×15,所以执行了两次循环,因此表达式应为i>14.三、解答题10.设计一个程序,输入一个学生的成绩S ,根据该成绩的不同值作以下输出:若S <60,则输出“不及格”;若60≤S ≤90,则输出“及格”;若S >90,则输出“优秀”.[解析] 程序如下:11.铁路运输托运行李,从甲地到乙地,规定每张客票托运费计算方法是:行李重量不超过50kg 时,按0.25元/kg ;超过50kg 而不超过100kg 时,其超过部分按0.35元/kg ;超过100kg 时,其超过部分按0.45元/kg.编写程序,输入行李重量,计算并输出托运费用.[解析] 设行李质量为ωkg ,应付运费为x 元,则运费公式为x =⎩⎪⎨⎪⎧ 0.25×ω, ω≤500.25×50+0.35(ω-50), 50<ω≤1000.25×50+0.35×50+0.45×(ω-100),ω>100.程序框图如下图所示:程序如下:。