1、1.3.2输入、输出语句整体设计教材分析算法是一种数学语言,本节通过伪代码的方式来学习算法语句,而伪代码是介于自然语言和计算机语言之间的文字和符号,是表达算法的简单而实用的好方法.它不是计算机语言,计算机无法识别,但它能很好地体现设计者的思想和意图.为了便于表达,我们在伪代码中使用BASIC语言的关键词,但不是BASIC语言.经历将具体问题的程序流程图转化为程序语句的过程,理解几种基本算法语句输入语句、输出语句、赋值语句、条件语句、循环语句,体会算法的基本思想.教学中采用以学生自主学习、动手实践、合作交流的方式为主,倡导学生勇于实践、大胆表达.教师起指点、调节和提出新问题的作用.问题的设计应增
2、强亲和力,体现本节课所包含的数学思想.三维目标1.通过让学生充分地感知、体验应用计算机解决数学问题的过程,采取对现实生活情境探究,尝试设计出解决问题的程序.2.理解逻辑推理的数学方法,使学生掌握输入语句、输出语句的结构知识与处理使用这些基本语句解决一些基本问题的技能,达到培养学生认识到计算机与人们生活密切相关,增强计算机应用意识的情感与提高学习新知识的兴趣和逐步养成扎实严谨的科学态度的价值观.重点难点教学重点:正确理解输入语句、输出语句的作用.教学难点:准确写出输入语句、输出语句.课时安排1课时教学过程导入新课设计思路一:(情境导入)先给大家讲个成语故事:“东汉有个对佛教教义很有研究的学者,叫
3、牟融.他引用儒家的诗书向儒者宣讲佛经,受到了一些儒者的责难,指斥他为什么不直接依据佛经来回答问题.于是牟融讲了音乐家公明仪的故事:公明仪对着一头正吃草的牛弹了一首高深的曲子,牛毫不理会,只顾自己吃草,后来公明仪改弹像蚊子、牛蝇和小牛叫唤的声音,牛就摇着尾巴、竖起耳朵来听了.”哪位同学能说出故事中讲的是什么成语?这个成语说明了什么?答:对牛弹琴,对牛弹琴讥笑听话的人听不出所以;也讽刺说话的人不看对象,不注意方式、方法.贬义.这说明我们要对方做任何事情,都必须以对方能够理解和接受的方式、方法进行.如果用自然语言编制的算法或用流程图表示的算法来让计算机执行我们交给的任务,它是不会理会的,因为它“看”
4、不懂,所以我们必须用计算机能“看”得懂的语言程序语言.本节课我们就一起通过伪代码(pseudo code)(伪代码是介于自然语言和计算机语言之间的文字和符号,是表达算法的简单而实用的好方法,它稍加改造就可以上机运行.)学习基本的算法语句.下面,我们在伪代码中将使用BASIC语言的关键词.设计思路二:(事例导入)在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,如:听MP3,看电影,玩游戏,打字排版,画卡通画,处理数据等等.那么,计算机是怎样工作的呢?计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的.因此,还需要将算法用计算
5、机能够理解的程序设计语言(programming language)翻译成计算机程序.程序设计语言有很多种.如BASIC,Foxbase,C语言,C+,J+,VB等.为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:输入语句输出语句赋值语句条件语句循环语句这就是本节所要研究的主要内容基本算法语句.今天,我们先一起来学习输入、输出语句.推进新课新知探究1.输入语句、输出语句基本上对应于算法中的顺序结构.2.输入语句(Read statement)输入语句的一般格式:Read变量我们用输入语句“Reada,b”表示输入的数据依次送给a,b
6、.说明:(1)变量可以是多个,要用逗号来分开,但最后的变量的后面不需要任何符号,在输入时强调它们的顺序对应;(2)输入语句的作用是实现算法的输入信息功能;(3)输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式.3.输出语句(output statement)输出语句的一般格式:Print表达式用输出语句“Printx”表示输出运算结果x.说明:(1)输出语句的作用是实现算法的输出结果功能;(2)输出语句可以输出常量、变量或表达式的值以及字符.记忆技巧:结合英语的意思,来理解这种句式的构造和意义,经过较短时间的努力还是可以熟练地记忆的.应用示例思路1例1 编写程序,计算一个学生数学
7、、语文、英语三门课的平均成绩.分析:先写出算法,画出程序框图,再进行编程.算法:伪代码:ReadaReadbReadcy(a+b+c)/3Printy点评:看出来程序框图较为直观,但伪代码比较简洁,两者在应用时形成互补.例2 交换两个变量A和B的值,并输出交换前后的值.分析:引入一个中间变量x,将A的值赋予x,又将B的值赋予A,再将x的值赋予B,从而达到交换A,B的值.(比如交换装满水的两个水桶里的水需要再找一个空桶)伪代码:ReadAReadBPrintA,BXAABBXPrintA,B点评:在计算机与人的对话中,要注意它的机械的思维,主要是不怕烦琐,缺乏变通.所以设计问题的时候要注意这个特
8、点.例3 编写一个程序,要求输入一个圆的半径,便能输出该圆的周长和面积.(取3.14)分析:设圆的半径为R,则圆的周长为C=2R,面积为S=R2,可以利用顺序结构中的Read语句,Print语句和赋值语句设计程序.程序:ReadRC2*3.14*RS3.14*R2PrintCPrintS点评:这是个很实用的程序,它可以解决的是一类的问题,具有通法的作用.例4 给任意三个变量a、b、c赋值,求b24ac的值.分析:注意使用的语句和规范的书写.解:用输入语句、输出语句和赋值语句表示为:Reada,b,cyb24acPrinty点评:这是个基本应用,注意书写的规范就可以了.思路2例1 编写一个程序,
9、计算一个学生数学、语文、英语三门课成绩的方差.用输入语句、输出语句和赋值语句表示.分析:要注意方差的求法,与平均数有关,先求平均数后再解决方差问题,也可以一步求,但还是分两次比较好.解:Reada,b,cS(abc)/3S(a-S)2+(b-S)2+(c-S)2/3PrintS点评:分步求解容易理解和书写.对于一个变量可以多次赋值,变量的值就是最后一次的赋值.例2 “鸡兔同笼”是我国隋朝时期的数学著作孙子算经中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何.”请对比问题编写一个程序.分析:对于应用问题要理出它的解法,然后再来写出它的伪代码.解:用方程组
10、的思想不难解决这一问题.设有x只鸡,y只兔,则下面我们设计一个解二元一次方程组的通用算法.设二元一次方程组为(a1b2a2b10),用消元法解得因此,只要输入相应的未知数的系数和常数项,就能计算出方程组的解,即可以输出x,y的值.这样,上述解二元一次方程组的算法的流程图与相应的伪代码就可以表示为:Reada1,b1,c1,a2,b2,c2x(b2c1b1c2)/(a1b2a2b1)y(a1c2a2c1)/(a1b2a2b1)Printx,y当输入a1,b1,c1,a2,b2,c2分别为1,1,35,2,4,94时,输出的x,y的值分别为23,12.即“鸡兔同笼”的答案是23只鸡和12只兔.点评
11、:对于一类问题的求解,就看出了算法的优越性和计算机的强大功能.例3 写出下边程序运行的结果:Reada,b,cabbccaPrinta,b,c若输入10,20,30,则输出结果为_.分析:这是个循环赋值的问题,要注意最后的值才是变量的值.解:输出的是20,30,20.点评:思考时只要抓住最后的变化就可以了.知能训练课本本节练习解答:1.Reada2h3sa2sin60vhsPrintv2.Reada,b,cp(a+b+c)sPrints3.用ai(i=1,2,12)表示第i个月的产值,A,B,C,D,E分别表示一到四季度的平均产值和全年的平均产值.Reada1,a2,a3,a12A(a1+a2
12、+a3)B(a4+a5+a6)C(a7+a8+a9)D(a10+a11+a12)E(A+B+C+D)PrintA,B,C,D,E点评:本练习注重基础,贴近学生的发展区,学生很容易接受.课堂小结1.利用三种语句编写程序时应明确:需输入信息时用Read语句,需输出信息时用Print语句,当变量需要的数据较少或给变量赋予算式时,用赋值语句,当变量需要输入多组数据且程序重复使用时,使用输入语句较好.2.赋值语句是最重要的一种基本语句,也是一个程序必不可少的重要组成部分.使用赋值语句,一定要注意其格式要求,如:赋值号左边只能是变量而不能是表达式;赋值号左右两边不能对换;不能利用赋值语句进行代数式计算等.
13、3.利用赋值语句可以实现两个变量值的互换,方法是引进第三个变量,用三个赋值语句完成.作业例1 写出下列程序的运行结果.(1)a=1b=2c=a-bb=a+c-bprinta,b,c运行结果为_.(2)a=3b=2a=a+bb=b-ac=a*bprint“c=”;c运行结果为_.分析:赋值语句在给变量赋值时,先计算右边的式子,然后赋值给左边的变量.答案:(1)1-2-1(2)c=-15例2 读下列两个程序,回答问题.x=3y=4x=yprintx,yx=3y=4y=xprintx,y(1)上述两个程序的运行结果分别是_,_;(2)上述两个程序中和第三行有什么区别?解:(1)两个程序的运行结果分别
14、是44,33;(2)上述两个程序中的第三行的区别是:“x=y”是将y的值赋给x,“y=x”是将x的值赋给y.设计感想算法的价值和重要性很大程度上还是通过计算机来体现的,计算机完成任何一项任务都需要算法.为此,我们必须把需要计算机执行的任务用计算机能够理解的语言描述出来,再传递给计算机.但是,我们用自然语言或流程图描述的算法,计算机是无法“理解”的.因此还需要将算法用计算机能够理解的程序设计语言翻译成计算机程序.也就是说,计算机程序才是最终的人机接口,由此我们可以体会程序设计的重要性.教学中采用以学生自主学习,动手实践,合作交流的方式为主,倡导学生勇于实践、大胆表达.教师起指点、调节和提出新问题的作用.问题的设计应增强亲和力,体现本节课所包含的数学思想.