资源简介 《输入、输出语句和赋值语句》教学设计1 内容和内容解析 算法的定义中有这样一段话:“现在,算法通常可以编成计算机程序,让计算机执行并解决问题”,可见,要完整地认识算法,就必须学习算法程序,而算法程序是由基本算法语句组成的,因此学习基本算法语句是编写算法程序的基础.换个角度说:计算机已经成为人们日常生活和工作不可缺少的工具,它解决任何问题都要依赖算法.前面已经学习了用自然语言和程序框图来表示算法,但这些表示计算机是无法“理解”的.为了使算法在计算机上实现,还需将自然语言和程序框图转变成计算机能够理解的程序语言.可以说,用算法语句描述算法是用计算机解决问题的前提条件.程序语言的种类很多,但各种程序语言中基本上都包含了输入语句、输出语句、赋值语句、条件语句和循环语句5种基本的算法语句,而且形式都是相似的.算法都存在着基本逻辑结构,而掌握了以上5种基本算法语句,就足以表示顺序、条件和循环结构,编写出算法的程序.这是为什么基本算法语句只选五种的原因.同时,只用五种基本算法语句编写程序,必须分析算法的基本逻辑结构,这对培养逻辑思维能力十分有利.5种基本算法语句与3种基本逻辑结构之间存在着对应.输入、输出语句和赋值语句基本上对应算法中的顺序结构.本节课紧接着《程序框图与算法的基本逻辑结构》之后,学习的内容是用于表达顺序结构的基本语句.教学的重点在于:通过实例,使学生理解输入、输出语句和赋值语句的含义、格式和用法,能把仅有顺序结构的简单算法用程序表示,同时,进一步体会算法的基本思想.本节学习的是3种计算机能“理解”基本语句,对学生而言是首次接触的语言,也是后续学习的基础,良好的开端将会是成功的一半.2 目标和目标解析 通过本节内容的学习,要求学生能正确理解输入、输出语句和赋值语句的含义、格式和用法,能把仅有顺序结构的简单算法用程序表示,同时,进一步体会算法的基本思想.具体目标解析如下:(1)理解引入基本算法语句的必要性,了解5种基本算法语句的名称.(2)结合具体的问题,理解输入、输出语句和赋值语句与程序框图、逻辑结构3者之间的对应关系.借助简单算法,正确理解输入、输出语句和赋值语句的结构.(3)能够通过模仿,将仅有顺序结构的程序框图转换为程序,会写一些简单的程序,进行3种语句的简单运用.(4)能阅读简单程序,分析运行结果,促进对语句的认识与理解.(5)经历分析算法步骤,画出程序框图,写出程序的过程,促进理解3种基本算法语句,进一步体会算法的基本思想.发展学生有条理的思考、表达的能力,培养逻辑思维能力.3 教学问题诊断分析算法基本语句对于学生而言,是一个全新的概念.通过前面的学习,学生已经了解了算法的含义,学习了用自然语言和程序框图表示算法的方法,知道了算法的3种基本的逻辑结构.学生对算法有了初步了解后,如何将算法在计算机上加以实现的问题也变得更加迫切.基本算法语句的出现在时机上恰到好处,暗合了学生心中的疑问.同时,学生对几个基本的程序框图的符号和功能的了解将有助于本节内容的学习.因为算法语句是计算机语言,也是学生第一次遇到的概念,没有基础依托,会找不到思考方向,因此,在将“输入、输出语句和赋值语句”的名称与程序框图表达对应起来时,学生会有困难;又因为缺乏足够的时间和上机操作的机会,因此,即使有了语句与框图的对应后,学生也会在将具体的程序语句抽象为一般格式时产生困难,因而不能充分理解3种基本算法语句的作用和用法,特别是对于类似“x=x+1”的赋值语句,学生会存在疑惑.由于上面2个原因,教学的难点会发生在将具体问题的程序框图转换为程序语句的过程中.当然,企图一节课就彻底解决所有问题是不现实的,需要随着条件语句、循环语句的后续学习逐步加深理解.同时,也决定本节课的教学,在概念出现前,要设置“缓冲”,给学生提供思考机会,能让他们先感知困惑所在,先有自己的见解,而后教师进行讲解.4 教学支持条件分析?为有效实现教学目标需要使用一种语言,如QBASIC程序演示、验证编写好的程序或利用图形计算器让学生直接上机操作,从而体会3种语句的格式、作用和用法,可以结合QBASIC的演示,把该程序的使用方式介绍给学生,以便学生进行自主学习.5 教学过程设计5.1 课题引入设计为了使课题的提出更加自然和顺理成章,教师可以从以下2个方面进行引导:5.1.1 为什么要学习本节课内容计算机已经成为人们日常生活和工作不可缺少的工具.“计算机解决任何问题都要依赖算法”,计算机解决问题的过程就是一个对算法的执行过程,但这个算法必须是用计算机能够理解的语言描述.目前,我们会用自然语言或程序框图描述算法,也能看懂它们,但计算机却无法“看得懂,听得见”,因此,需要将自然语言或程序框图翻译成计算机程序语言,需要学习基本算法语句.5.1.2 本节要学习什么不管是用自然语言描述算法,还是用程序框图或程序设计语言表示算法,都是对算法形式化的表示,写出算法不等于实现了算法.将算法用程序设计语言翻译成计算机程序在计算机上运行,就是对算法的一种实现,算法也因此变得更有生命力.? 程序设计语言有很多种,如BASIC,Foxbase,C语言,C++,Visual Basic等.为了实现算法中的3种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本算法语句:输入语句、输出语句、赋值语句、条件语句和循环语句.? 这就是这一节所要研究的主要内容——基本算法语句.本节课,我们先学习输入、输出语句和赋值语句.5.2 问题链设计情境1 用描点法作函数y=x3+3x2-24x+30的图像时,需要求出自变量与函数的一组对应值.编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值.问题1 请写出算法步骤,画出程序框图.设计意图 通过具体问题的解决复习所学知识,诊断学生的掌握情况,明白“算法步骤”和“程序框图”是算法的2种表达形式.同时,为算法的程序表示和建立3者的对应关系作好铺垫.师生活动 给出情境问题,让学生自己写出算法步骤和程序框图.? 问题2 为了在计算机上实现算法,将程序框图中的内容翻译为相应的算法语句,就得到以下程序:?INPUT?"x=";x?LET?y=x^3+3*x^2-24*x+30?PRINT?"y=";y?END你能根据英文“INPUT”、“LET”和“PRINT”的中文意思,猜测程序中哪些是输入语句、输出语句和赋值语句吗?设计意图 基本语句作为完全陌生的内容,学生很难找到思考的方向.从英文“INPUT”、“LET”和“PRINT”的中文意思出发,一方面,降低了问题的难度,切合学生的思维,避免了先入为主的介绍性讲学;另一方面,使问题有了内在的“逻辑”联系,让学生觉得有迹可寻、有据可依,在思维上起到了自然的顺应过程.师生活动 学生思考后,教师调用课前准备好的程序,演示运行结果,学生可以先不深究该程序是如何得来的.问题3 输入、输出语句和赋值语句与程序框图之间存在怎样的对应关系?它们基本上对应于算法中的哪种逻辑结构?设计意图 通过问题的解决,理解输入、输出语句和赋值语句的含义(输入、输出信息,给变量赋值),体会算法语句与程序框图之间的对应关系,为两者之间的转化打好基础.师生活动 教师同时向学生展示问题1中的算法步骤、程序框图以及问题2中的程序,在前2问的基础上学生比较容易得到正确结论.问题4 每一种算法语句都有比较固定的格式,观察问题2中的程序,你认为输入语句的一般格式是怎样的呢?你能通过计算机验证你的结论吗?设计意图 此时学生只有比较直观的感觉,所以不要求学生有准确的描述,应侧重于操作、验证、讨论,最终得到并理解输入语句的一般格式:INPUT "提示内容";变量.强调动手操作,通过切身体验使学生经历从感性认知到理性认知的过程.如果条件不允许,教师可以自己验证演示或者直接对学生的直观猜测进行评价、纠正,然后对知识进行讲授教学.师生活动 教师提出问题,并对问题进行分解,逐步引导学生去探究、讨论、寻找正确的结果.在教学中,教师可以从以下几个方面对问题进行解析:(1)输入语句中的“"x=";”可以省略吗?(可以)(2)“"x=";”的作用是什么?(提示用户输入什么样的信息,即“提示内容”)(3)“提示内容”与变量之间的分号“;”可以省略吗?(不可以)(4)给多个变量赋值时,各“提示内容”之间以及各变量之间必须用逗号“,”隔开.在教学时,通过教师的引导,最好让学生自己对以上几个方面进行上机操作、验证,加强对基本算法语句的体会和模仿能力.问题5 根据问题4,你认为输出语句的一般格式是怎样的呢?你能通过计算机验证你的结论吗?设计意图 得到并理解输出语句的一般格式:PRINT "提示内容";表达式.师生活动 教师引导学生对原先程序中的输入、输出语句进行比较,也可以仿照问题4,对问题进行分解、验证.在问题4的基础上,学生可能会得到“PRINT "提示内容";变量”的结果,教师可以将所给程序中的第2行和第3行合并为:“PRINT ?"y="; x^3+3*x^2-24*x+30”加以运行,进行说明,也可以采用讲授法教学.问题6 将课本中图1.1-7中输入、输出框的内容分别用输入、输出语句表示出来.设计意图 理解输入、输出语句的含义及其写法,将程序框图的局部转换为程序,为解决教学难点找到突破口.师生活动 学生书写,教师对出现的问题进行纠正.问题7 所给程序的赋值语句中“LET”可以省略吗?你认为赋值语句的一般格式是怎样的呢?设计意图 探究赋值语句的写法与一般格式.师生活动 从已知程序中的赋值语句本身的形式出发,帮助学生导出赋值语句的一般格式:变量=表达式,并对赋值号以及赋值语句作用作说明:先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式的值.问题8 “3=X”是赋值语句吗?设计意图 概念辨析.进一步体会赋值语句的作用和书写格式.师生活动 向学生说明,赋值号左边只能是变量名字,而不能是表达式.问题9 下面的程序中输出的A的值是多少?赋值语句“A=A+15”的含义是什么?它在数学中成立吗?? A=10A=A+15? PRINT A? END设计意图 说明这里的语句“A=A+15”是语句“LETA=A+15”的缩写,此时的“=”是赋值而不是相等,即表示用右边的量替代左边的量.因为有了“=”赋值的含义,语句中才可以省略“LET”.问题10 “A=B”与“B=A”的含义和运行结果一样吗?设计意图 对于类似“x=x+1”的赋值语句,学生往往很难理解.如果将这个式子看成代数式,显然是不成立的.要让学生真正理解赋值的含义就需要理解变量的含义,这里的“A”仅仅表示一个数值的储存位置,第2次赋值后,“A”的初值被覆盖.师生活动 问题9与问题10可以一起给学生,让学生先思考、交流.随后,教师按问题的设计意图,从2个角度作说明,加深对赋值语句的理解.有条件的话,可以用计算机演示程序,操作验证.问题11 运行以下程序,输出的A,B的值分别是多少?程序有没有将变量A,B的初值进行交换?? A=10B=15A=BB=A?PRINT A,BEND问题12 如果要交换问题11中2个变量A,B的值,该如何修改这个程序呢?设计意图 给出一个学生可以理解的起点,既促进对赋值语句的理解,同时也解决交换变量的值时会产生的难点.师生活动 同时呈现问题11和12,组织学生先形成自己的结果,并进行讨论和交流.而后教师小结学生的思考情况,并按下列要点展开讲解:问题11输出的值分别是15、15.原因是后面的赋值会“覆盖”前面的值,因此想交换变量A,B的值必须引入一个新的中间量.可得问题12和算法:第1步:引入一个中间变量T,将A的值赋予T;第2步:再将B的值赋予A;第3步:最后将T的值赋予B,从而实现A,B值的交换.程序修改如下:A=10B=15T=AA=BB=T? PRINT A,B? END问题13 比较下面的程序与问题12中得到的程序有何异同,说说输入语句与赋值语句在给变量提供初值时的区别.INPUT A,BT=AA=BB=T? PRINT A,B? END设计意图 帮助学生理解输入语句与赋值语句的区别.师生活动 紧接着问题12,教师展示程序,让学生比较异同.学生通过操作比较,得到:前者只能交换一组变量的值,后者可以不断调用,交换任意一组变量的值.问题14 谈谈你对输入、输出语句和赋值语句的认识和体会.设计意图 归纳小结,帮助学生梳理知识.师生活动 教师引导学生对输入、输出语句和赋值语句的含义、作用、格式及与程序框图的对应关系等方面作出描述,然后进行补充小结.5.3 语句应用情境2 编写程序,计算一个学生数学、语文、英语3门课的平均成绩.设计意图 运用输入、输出语句和赋值语句编写简单的程序,让学生理解“算法步骤”、“程序框图”、“程序语句”3者之间的对应与转换,体验用计算机解决具体问题的一般步骤:“算法步骤”→“程序框图”→“程序语句”,进一步体会算法的思想.师生活动 给学生足够的时间思考,要求先写出算法步骤和程序框图.教师巡视并了解学生的活动情况,在学生活动后调用并展示学生的活动成果,通过讲授、修订形成下面的成果.? 开始→输入a,b,c→y=(a+b+c)/3→输出y→结束由于PRINT语句具有计算功能,所以算法可以直接写成程序:INPUT "数学=";a? INPUT "语文=";b?INPUT? "英语=";c?PRINT "The average=";?(a+b+c)/3? END教师要事先准备好上面结果的展示课件,以备学生活动结果不理想时,给出解决这一问题的严谨过程,起到示范作用.教师引导学生思考并总结用计算机解决具体问题的一般步骤,并说明这种解决问题的步骤本身就是算法.6 目标检测设计6.1 课堂检测(1)阅读程序,说明程序运行的结果(“*”表示相乘).?A=1A=A*2A=A*3A=A*4A=A*5?PRINT? "1×2×3×4×5=";A?END设计意图 通过本题检测学生能否阅读简单的程序,真正理解赋值的含义以及输出语句中“提示内容”的作用.(2)把图中所示的程序框图转化为程序语句.设计意图 建立程序框图与3种基本算法语句的联系,检测运用语句建立对应关系的掌握情况.(3)编写一个程序,计算任意2个非零实数加、减、乘、除的运算结果(要求输入2个非零实数,能得出4种运算结果).设计意图 通过运用本节所学的算法语句编写程序,检测学生对3种语句的理解、运用情况.6.2 课后检测(1)编写一个程序,输入梯形的上底、下底和高的值,输出梯形的面积.设计意图 通过本题检测学生能否运用输入、输出语句和赋值语句编写简单的程序,从而解决数学问题.(2)编写一个程序求二元一次方程组?的解.设计意图 通过本题检测学生由算法的自然语言描述到算法框图表达,再到算法程序表示的掌握情况,使学生体验算法程序形成的过程.(3)试对生活中某个简单问题或是常见的数学问题,利用所学的基本算法语句等知识来解决自己所提出的问题.要求写出算法,画出程序框图,并写出程序设计.设计意图 这是一个开放性的问题,侧重于能力的培养.通过本题评价学生能否用数学的眼光去观察问题,解决问题,了解学生对算法步骤、程序框图和3种基本语句的掌握情况以及提出问题、解决问题的能力. 展开更多...... 收起↑ 资源预览