第一章 程度设计初步

一、本章内容介绍本章主要内容是计算机程序设计初步知识,教材从计算机语言及分类入手,通过一些简单易懂的实例开始,分析用计算机处理问题的基本过程,让学生理解程序设计的基本思想,认识流程图的概念。还是结合一些简单的实例,教材按照从简单到复杂的顺序,分别介绍了顺序结构、分支结构和循环结构程序设计的基本方法,先从日常生活中的流程开始入手,学会分析解决问题的方法,画出流程图。最后,通过数学问题、汉字输入法研究和冒泡排序法,较深入地学习程序设计的方法,巩固前面所学的知识。第一节 程序设计入门本课首先让学生了解二进制、机器语言、汇编语言和高级语言,对计算机语言的发展历程有一个初步的了解。然后通过一个简单的实例,让学生理解用计算机处理问题的基本过程,并对流程图有初步的认识。第二节 流程图本课从流程图的基本概念入手,着重培养学生良好的分析问题的习惯。认识几种常用的流程图图例及用法,并且通过学生日常生活的一些实例,让学生学习画流程图的基本方法。第三节 顺序结构程序设计本课结合生活中的顺序事件,通过亲身体验,了解电子邮件的申请过程及常用软件安装的基本步骤,让学生了解顺序结构程序设计的基本思想,培养学生的综合信息素养,并进一步巩固流程图一节知识。第四节 分支结构程序设计本课通过电子邮件及生产过程中的典型事例,分析分支结构程序设计的基本思想,并且通过练习,掌握分支结构程序设计的基本方法。第五节 循环结构程序设计本课通过生产中的循环事件,自然界的循环事件,以及数学问题中的循环事件,分析了循环结构程序设计的基本方法。通过课后的练习,学生应该对循环结构程序设计有了初步的认识。第六节 数学问题本课通过学生对小学奥数中出现的二个问题,以及高中数学中出现的阶乘问题的分析,使学生对用计算机解决数学问题有一定的认识和了解。课文中还提供较多的练习,让学生在实际操作中得到更多的锻练机会。第七节 汉字输入法研究本课通过对汉字输入法的研究,引出计算机中较常用的算法--查找算法的概念,使学生对计算机编程的过程有一定的了解。通过课后的几个练习,使学生懂得计算机软件的编制离他们并不遥远。第八节 冒泡排序法本课通过冒泡法基本思想的介绍和冒泡法算法过程的较为详细的分析,使学生了解到计算机编程是一个严密的过程,计算机的运行是一丝不苟的按照程序的要求来完成,从而培养学生的逻辑分析能力,以及处理问题的条例性。二、学习目标学习目标分为知识性目标、技能性目标和情感性目标。下面就本章知识性目标和技能性目标的要求加以描述。1、知识性目标:·“a”表示了解水平。再认或回忆事实性知识;识别、辨认事实或证据;列举属于某一概念的例子;描述对象的基本特征等·“b”表示理解水平。把握事物之间的内在逻辑联系;在新旧知识之间建立联系;进行解释、推断、区分、扩展;提供证据;收集、整理信息等。·“c”表示迁移应用水平。归纳、总结规律和原理;将学到的概念、原理和方法应用到新的问题情境中;建立不同情境之间的合理联系等。2、技能性目标:·“a”表示模仿水平。在原型示范和他人指导下完成操作。·“b”表示独立操作水平。独立完成操作;在评价和鉴别基础上的调整与改进;与已有技能建立联系等。·“c”表示熟练操作水平。根据需要评价、选择并熟练操作技术和工具。1.知识性目标

内容

课  程

1

2

3

4

5

6

7

8计算机语言及其发展历程a变量的概念a流程图的概念b流程图的表示方法b顺序结构程序设计的概念abcccc分支结构程序设计的概念abccc循环结构程序设计的概念abbb用计算机解决数学问题的方法b查找算法的基本概念b汉字编码的基本知识a汉字输入法的流程b冒泡法排序基本概念b算法过程模拟b2.技能性目标

内容

课  程

1

2

3

4

5

6

7

8流程图画法aabbccc顺序结构流程图aabbcc分支结构流程图aabbc循环结构流程图abbc

第1节 程序设计入门一、教学目标知识目标:1、了解计算机语言及其发展历程2、初步了解二进制(机器语言)、汇编语言(低级语言)、高级语言等概念3、初步了解变量概念技能目标:会用计算机分析及处理日常问题二、重点难点 教学重点:用计算机处理问题的过程教学难点:如何理解用数学模型表示出解决实际问题的方法三、环境与素材1、三只瓶子或烧杯,碘酒和酒精(或其他两种不同颜色的液体)2、流程图(电子文稿、挂图或小黑板),用以显示教材中相关图例3、用来演示变量的盒子或模型4、多媒体网络教室四、教学过程建议课时:2课时。对于绝大多数第一次接触计算机语言的同学来说,计算机语言无疑是非常神秘的。这种神秘感从积极意义上看可以激发学生学习和探知的欲望,但同时也有可能使学生产生畏难情绪。所以,教师要在教学过程中,通过自己通俗易懂的讲解和形象生动的举例,逐步消除学生对计算机语言的这种神秘感,从而激发学生的学习热情和探求欲望。对于二进制,大多数学生可能都是陌生的。本课只要求学生对二进制有一个初步的认识和了解,不要求掌握。教师可以通过摩尔斯电码、海上旗语等进行比喻,进而加深学生对二进制的理解。本课中提供的知识链接只是用于加深学生对二进制的认识,也是不要求学生掌握的。教学中,教师还可以引入二进制与十进制转换等内容对学生加以适当训练,但这些也只能是点到为止。对于汇编语言,虽然说比机器语言容易理解和记忆,但对学生来说也是很难的东西。本课中提供的实例也只是抛砖引玉的作用,把它作为引出高级语言的一个过渡。教师可根据学生的实际情况,对汇编语言与高级语言的特点加以适当介绍。高级语言是现在程序开发广泛采用的语言,由于它接近人的自然语言,所以比较容易学习。要向学生交代:我们以后要学习的计算机程序设计所涉及的就是高级语言。高级语言的种类很多,不同的语言有不同的特点。现在常用的高级语言basic语言、pascal语言、c语言等,现在已经发展出面向对象的高级语言,如visual basic、delphi、visual c等。这些教师可以有选择地向学生作简单介绍,但不可过多、过细,过多或过详细的介绍会使学生觉得计算机语言高不可攀,加重学生畏难情绪。课本也只是通过一个最简单的basic程序对高级语言提供了一个范例。“用计算机处理问题的过程”一小节是本课的重点和难点所在。教师课堂上可以先向学生提出问题:如何实现瓶中两种不同液体的交换?再进而把问题转换成计算机问题——如何实现两个变量的交换。通过这样的讲解,学生在理解上应该没有太大的问题。教师在教学中要讲清楚一点,就是“计算机中的变量与实际生活中的容器的区别”——容器中如果已经装了东西就不能再装其他东西了,只有把里面的东西倒出来才能再装其他东西;而计算机的变量可以反复赋值,新的一次赋值后,原有的数据就被替换掉了。另一方面,把一个变量的值赋给另一个变量,这个变量中的值依然是不变的。这一概念与学生日常生活中通常的理解是不同的,学生理解起来可能会有困难,本课中适当加以说明,但在以后的教学中还要反复强调,才能使学生加深理解,真正掌握。用数学模型模拟现实生活中的过程,是教材中反复要用到的教学手段,也是学生日后在编程时非常重要的环节。本课虽然只是一个开始,只提供一个范例,但是对学生建立正确的编程思想是非常重要的。所以这个问题也是教师在本节教学过程中不可忽视的重要内容。用流程图表示出解决问题的过程,是本章中一贯的教学内容,意在培养学生养成分析问题的习惯。有关流程图的表示方法将在第二节中详细分析,本课只是要学生理解在程序设计过程中有这样一个环节,而且是非常重要的环节,但对其具体内容不必详细分析。五、练习实施建议课文中的练习1最好让学生通过实际操作加深理解。可以先用文字描述把交换过程的步骤写下来,再进行抽象,模仿课文中的写法转化成数学模型。练习2写流程图让学生模仿课文中的流程图进行练习,但不作要求。·练习答案:1、交换的基本过程:数学模型如下:

第2节 流程图一、教学目标知识目标:1、理解流程图的概念2、认识流程图中常用的几种图形表示方法技能目标:学会对日常生活中的事件进行描述并画出流程图情感目标:感受流程图的描述方法,养成对事物进行综合分析的习惯。二、重点难点 教学重点:画流程图的几种常见图形及其用法教学难点:流程图的图形的画法及其应用三、环境与素材常用流程图的图形、名称、意义对照表;几个实例的流程图例。四、教学过程建议课时:2课时。本课主要围绕对事物过程分析和流程图的画法进行教学,首先通过一个工业生产流程图,让学生了解流程图的概念,同时强调无论做任何事情,都要事先做好计划,这样才能尽可能地把事情安排合理,做到有条不紊,这是一个非常好的习惯。在展示几种常用的流程图形的画法、名称和意义之后,教材通过三个实例来说明流程图的用法。教材中使用几个学生实际生活中的实例来作为范例,来说明程序设计及流程图的思想,一方面是学生还没有接触到具体的计算机语言,另一方面是想通过实例指导学生把这种程序设计思想运用到实际生活中,培养学生做任何事情都要事先做好规划、分析,养成做事有条不紊的好习惯。教材中的有些实例可以转化为计算机程序,有些则不行。教学中,当需要把教材中的实例搬到计算机上去执行时,就需要具体的计算机语言了。教师在教学中选择什么计算机语言,教材中并没有规定,教师可以根据学校或自身的具体情况加以选择,一般可以是basic语言、pascal语言、c语言等。本教参以qbasic语言为例,提供部分实例的源程序。本节中的前两个实例是学生生活中的例子,不能直接转化成计算机程序,例3是可以转化成计算机程序的。但建议教师在本课的教学中,先不要急于把课文中的实例转化成原程序。因为本节课的教学重点是让学生理解流程图的概念,学会流程图的绘制方法,这时候把流程图转化成原程序会冲淡教学重点,转化学生学习的注意力。在后面的教学中,教师教学时同样也要重视学生对过程的分析和流程图的绘制,始终坚持培养学生对事物的规划、分析能力。五、练习实施建议本课两个练习都是围绕画流程图来进行的,可作为学生课堂练习来完成。教师可根据学生实际情况,如果需要的话可适当增加些类似的练习题,让学生巩固所学的知识。另外在以后几节的教学中,还会有大量练习需要结合流程图来完成。·练习答案:(略)

第3节 顺序结构程序设计一、教学目标知识目标:了解顺序结构程序设计的概念技能目标:通过对申请电子邮箱和安装常用软件(顺序结构)过程的描述,学会画顺序结构流程图二、重点难点 教学重点:顺序结构程序设计及画流程图教学难点:电子邮箱的申请和常用软件的安装过程三、环境与素材1、能够上因特网的多媒体网络教室2、工业生产流程图,顺序结构程序流程图(挂图或板书)四、教学过程建议课时:2课时。从本节的教学内容上看,顺序结构程序设计基本方法在第2节中都已经讲过了,但作为程序设计的基本结构之一必须单独作为一节来讲解,所以本节结合电子邮箱的申请过程和常用软件的安装来进行教学,一方面让学生通过这些典型的顺序结构事例来了解顺序结构程序设计思想,另一方面是通过这些教学内容,增强学生的综合信息素养,因为这些内容都是构成学生信息素养的重要组成部分。教师在实际教学中,可根据学生的实际情况选择教学内容重点进行讲解: 如果大多数学生没有申请电子邮箱的经历,教师可把这部分内容作为教学的重点,让学生亲身体验申请电子邮箱的过程,并让学生把申请过程加以提炼、描述,进而转化为流程图。对常用软件的安装过程可以通过教师演示简单介绍。 如果大多数学生都已经有过申请过电子邮箱的经历,则可以把常用软件的安装过程作为重点来让学生体验,并把安装过程用流程图加以描述。电子邮箱的申请让学生总结一下就可以了。教材中是通过qq的安装为例,介绍软件安装过程,教师在实际教学中还可以根据实际情况选择其他常用软件,如acdsee、foxmail等。软件安装完毕后,要让学生把安装过程记录下来,并用流程图加以描述。工业生产流程,也是日常生活中常见的流程之一,这里让学生一般一解就可以了。已经有了第二节的基础,顺序结构程序设计对学生来说理解没有什么问题,关键是通过实例加强学生对绘制流程图的训练。这是本节的教学重点所在。另外,从本节开始,教师可以适当考虑结合程序设计语言,把课文中的一些实例或练习转化成计算机程序,让学生在计算机上实际调试、运行,进行一些编程练习。需要注意的是,我们一开始提供的练习内容,所涉及的编程语句应尽量少,并且不作为教学重点,以免冲淡本节的教学重点(过程分析及画流程图)。对于初学编程的学生来说,计算机程序中的表示与数学是有一些区别的,这是点是教师在教学过程中有必要对学生进行分析、说明的。如在数学上,a=a+1是不可能成立的,而在编程中却是经常遇到的,它的意义是“把变量a的值加1并重新赋值给变量a”。计算机中的“=”称为“赋值号”,它与数学上的等号也是具有不同意义的。五、练习实施建议本课练习2、3都是可以转化成数学模型,到计算机上去运行的。教师可结合特定的计算机语言,把流程图转化成计算机程序,拿到计算机上去调试、运行。这里给出两个练习的basic程序,供教师参考。·练习答案:练习2:流程图和basic语言参考如下:流程图:                           basic原程序:a=0 : s=0 : m=0  ‘赋初值input “a=”,a   ‘输入单价input “s=”,s   ‘输入数量m=a*s         ‘计算总金额print “m=”;m  ‘输出总金额end          ‘程序结束练习3:(参考练习2,过程略)第4节 分支结构程序设计一、教学目标知识目标:了解分支结构程序设计的概念技能目标:1、学会对分支事件进行综合分析,并用分支结构加以描述2、学会画分支结构流程图二、重点难点教学重点:分支结构程序设计及画流程图教学难点:多重分支结构三、环境与素材1、能够上因特网的多媒体网络教室2、相关图例四、教学过程建议课时:2课时。电子邮箱申请过程中出现的“用户名已经被注册”的情况可能学生在注册邮箱过程中已经碰到过了,这就很自然地引出程序设计的分支结构。教材中提供了邮箱申请过程中分支结构的流程图片段,结合上一节的流程,学生应该能够把这个流程图写完整。需要指出的是:“重新输入用户名”一段程序应该是流程图的哪一位置?实际操作中,程序是在出现“用户名已经被注册”提示信息后,直接返回到上一步操作,即要求重新输入用户名及密码等信息(这里不同的网站要求及内容会有所不同)。“行李托运问题”教材给出了完整的流程图。教师要帮助学生对流程图加以分析,指导学生学会看流程图,学会通过对事件进行分析画出流程图,最后逐步学会根据流程图写出源程序。从理解层面上看,分支结构对学生来说并没有太大难度,主要问题是在应用上。如何指导学生对分支问题进行分析是教学的关键,而分析分支结构程序最关键的是对“分支条件”的分析,即怎样把判断条件表达明确、清楚。课文中的几个实例相对比较简单,理解和分析起来应该没有太大问题,但对课后练习中的两个题目分析起来可能会有一定难度。为加强学生练习,巩固分支结构,教参在本节增加几道练习,以供教师在教学过程中参考、选用。如何把问题分析得透彻、全面,是教师在教学中应当着重把握的内容。要重视对学生分析方法的指导,培养学生严谨的逻辑思维和良好的学习习惯。下面补充一些分支结构练习,以供教师在教学中对学生进行训练。在训练时还是要强调:先对问题进行分析,画出流程图,再转化为程序,上机调试运行。1、输入a、b、c三个不同大小的数,将它们按由小到大的顺序输出。2、某超市为了促销,规定:购物不足50元的按原价付款,超过50不足100的按九折付款,超过100元的,超过部分按八折付款。编一程序完成超市的自动计费的工作。3、从键盘读入一个数,判断它的正负。如果是正数输出“ ”,是负数输出“-”,否则输出“0”。参考程序:1、流程图:basic原程序:rem 实现三个数从大到小排序input x,y,zif x>y then  t=x : x=y : y=tend ifif y>z then  t=y : y=z : z=tend ifif x>y  then   t=x : x=y : y=tend ifprint x,y,zend2、流程图:(为使问题简化,以单件商品为例)basic原程序:rem 商品折价问题s=0 : x=0  :p=0        ‘初始化变量input “商品单价:”:p  ‘输入商品单价input “商品数量:”:x  ‘输入商品数量if x*p<50 then          ‘如果总金额不超过50公斤s=x*p                 ‘计算金额else                    ‘否则(即总金额超过50元)if x*p<=100 thens=x*p*0.9         ‘50——100元的金额计算else                 ‘当金额超过100元  s=90+(x*p-100)*0.8  ‘超出100元时的金额计算end ifend ifprint s                 ‘输出金额end3、流程图:basic程序:rem 判断数字的正负input xif x>0 thenprint “+”elseif x<= then  print “-“else  print “0”end ifend ifend练习答案:1、流程图:qbasic原程序: rem 判断闰年input “请输入年份:”,yif (int(y/4)=y/4 and int(y/100)<>y/100) or (int(y/400)=y/400) thenprint  y;“是闰年”elseprint  y;“不是闰年”end ifend说明:1、int()函数是取整函数,即“取不大于该数的最小整数”。如int(12.5)=12   int(-0.2)= -12、判断a数能否被b数整除,通常是用判断int(a/b)=a/b是否成立的方法来实现,即两数相乘后取整与积相比较,如果相等,则说明积没有小数部分(能被整除)。练习2.流程图同一个问题可以有多种不同的分析方法,而随着分析角度不同,编写的程序也会有所不同。这里提供两种解决方案供参考。【方案一】【方案二】qbasic源程序:【方案一】rem 学生体质测试程序——50米input “请输入性别(1-男,2-女):”;xinput “请输入50米成绩(秒):”;sif x=1 then                                ‘性别为男性if s<=8.9 thenprint “合格”elseprint “不合格”end ifelse                                      ‘性别为女性if s<=10.6 thenprint “合格”elseprint “不合格”end ifend ifend【方案二】rem 学生体质测试程序——50米x=0 : y=0 : s=0                           ‘初始化变量input “请输入性别(1-男,2-女):”;xinput “请输入50米成绩(秒):”;sif x=1 then                               ‘性别为男性if s<=8.9 theny=1                                   ‘合格标记为1elsey=0                                   ‘不合格标记为0end ifelse                                      ‘性别为女性if s<=10.6 theny=1elsey=0end ifend ifif y=1 then                               ‘输出结果print “合格”elseprint “不合格”end ifend

第5节 循环结构程序设计

一、教学目标知识目标:了解循环结构程序设计的概念技能目标:1、学会对循环事件进行分析,并用循环结构对事件加以描述2、学会画循环结构流程图二、重点难点教学重点:循环结构程序设计及画流程图教学难点:循环与分支结构相结合的程序设计三、环境与素材1、能够上因特网的多媒体网络教室2、相关图例(挂图或板书)四、教学过程建议课时:2课时。本课从生产中、自然界的循环事件入手,让学生理解:循环事件在人们的生产、生活及自然界都是广泛存在的现象。然后,例举了一个学生大多数都熟悉的数学问题,分析用计算机是如何处理这个问题的。讲到这里,也许有学生会说:计算机只会用死办法来计算结果,没有人聪明。教师需要向学生说明的是:计算机相对于人脑来说,它的最大优势是在于它的运算速度。一个人要用几年时间来处理的数据量,计算机只用几秒钟就可以完成了。另外,计算机程序是在人的控制下运行的,计算机的运行效率取决于人在编程时的方案。上述程序也可以用较简便的方法来解决,只要对程序进行适当的修改就能实现了。下面是修改后的程序片段:课文中的“开动脑筋”及练习,主要都是围绕这一例题展开的,只要以上述程序作部分修改就可以了。要让学生有足够的练习时间,把课文中的练习完成,以加深对循环程序的理解。循环结构程序设计关键点是循环变量和循环条件,要帮助学生分析哪个条件作为循环条件,循环变量如何设定;对程序运行时实际循环次数加以分析;如何避免出现死循环。练习1、2学生参照教材范例一般可以完成。练习3难度较大,它需要把循环结构与分支结构程序结合起来才能完成,另外对于循环变量的指定也有一定的难度。练习参考答案:《开动脑筋》 流程图:(奇数和)说明:如果是偶数的和,则i的初值应为2。basic源程序:s=0 : i = 1for i=1 to 100 step 2s=s+inext iprint “s=”,send练习1、流程图:源程序:s=1for i=1 to 10s=s*inext iprint “s=”,send练习2:循环变量终值改为9就可以了。练习3:流程图:basic源程序:rem 猜0-9之间的随机数ramdomize timer           ;用时间作为随机数参数i=0                       ;设置循环条件,即当没有猜中时i始终是0do while i=0   input “请输入你猜的数字(0-9)”; x   if x=r then      print “你猜对了!”      i=1                  ;改变循环结束条件,使循环结束   else      if x>r then         print “大了”       else         print “小了”       end if    end ifloopend

第6节 数学问题一、教学目标知识目标:了解用计算机解决数学问题的方法技能目标:初步学会对数学问题进行分析的方法,并能够把解决问题的过程转化为流程图二、重点难点 教学重点:分析问题的方法及用计算机解决数学问题的方法教学难点:计算机解决数学问题与一般数学方法的不同之处三、环境与素材演示流程图的相关挂图四、教学过程建议课时:2课时。计算机最初发明时就是用来解决数值计算的问题,因此,解决数学问题是计算机最主要的特长。但用计算机解决数学问题与一般的数学方法是有些不同的。在很多情况下,我们是利用计算机的运算速度来解决数学问题,而对运算过程中的技巧不太强调。用计算机解决数学问题时,采用什么样的“算法”是问题的关键。本节通过三个数学问题的实例,分析用计算机解决数学问题的方法。“年龄问题”是小学数学中常见的问题。用小学数学方法解决这个问题时,通常采用的是“画线段图”的方法,而在初中则采用“解方程”的方法解决。现在我们采用计算机编程来解决上述问题,又有另外一种不同的方法——“穷举法”。对穷举法,前面几课中已经举过一些例子,通过数学问题的解决对这种方法也是一种复习。教材中“年龄问题”提供的流程图留下一个小bug来让学生思考(即开动脑筋):如果判断条件永远不能成立,程序会出现什么情况?怎样避免上述问题出现?“鸡兔同笼”求解过程与“年龄问题”类似。对于教材中提出的问题——输出语句出现在循环体内与循环体外有什么不同?很显然,当输出语句在循环体内时,它要被多次执行,即会输出多次(根据循环次数而定)。而在循环体外部的输出语句只是在循环结束后被执行一次。“求自然数的阶乘”问题,教师在分析时应注意与累加问题进行比较。一是要注意分析清楚循环被执行几次,二要分析用来保存累乘结果的变量(s)的初值与累加时有什么不同?为什么要有这些不同?程序运行过程中各变量的变化可以通过列表方式进行分析:

循环次数

0

1

2

3

4

i的值

2

3

4

5

6

s的值

1

1*2

1*2*3

1*2*3*4

1*2*3*4*5

s=s*i

1*2

1*2*3

1*2*3*4

1*2*3*4*5

1*2*3*4*5*6

…本节练习题提供了几道与课本范例相似的题目,以让学生反复练习,加深对数学问题分析方法的理解。五、练习实施建议本课练习比较多,其中3、4两题难度较大,是选做题。第1、2二题主要是为巩固学生基础知识,加强对教材中范例的理解。要让学生通过练习,加深对计算机编程的理解,培养学生正确的思维习惯(与数学思维的不同)。要指导学生先对问题进行分析,画出解决问题的流程图,然后再动手编程的好习惯。·练习答案:练习1:流程图
basic语言原程序:练习2: 流程图basic原程序:for i=49 to 1 step -1if i+5=4*(50-i+5) thenprint i,50-iend ifnext iend练习3: 要用到循环嵌套①流程图:注:s作为累加器,其初值赋值为0,而m用于保存累乘结果,初值应赋为1。②basic语言原程序:s=0for i=1 to 5        ‘外循环,循环5次m=1for j=1 to i      ‘内循环,循环i次m=m*j         ‘计算i的阶乘的值next js=s+m           ‘累加器,把计算的各数阶乘相加next iprint s            ‘输出计算结果end 练习4: 让我们先来模拟操作结果:

操作次数

四个盒子中的球数

0

8

5

3

2

1

5

6

4

3

2

6

3

5

4

3

3

4

6

5

4

4

5

3

6

5

5

6

4

3

6

6

3

5

4

7

3

4

6

5

8

4

5

3

6

9

5

6

4

3

10

6

3

5

4流程图(略)basic语言原程序:clsa1=8:a2=5:a3=3:a4=2print a1,a2,a3,a4for i=1 to 10  rem 找大数  t=0:a=a1  if a>a2 then    t=1  else    t=2:a=a2  end if  if a>a3 then      else    t=3:a=a3  end if  if a>a4 then      else    t=4:a=a4  end if   rem 变数  if t=1 then    a1=a1-3:a2=a2+1:a3=a3+1:a4=a4+1  endif  if t=2 then    a1=a1+1:a2=a2-3:a3=a3+1:a4=a4+1  endif  if t=3 then    a1=a1+1:a2=a2+1:a3=a3-3:a4=a4+1  endif  if t=4 then    a1=a1+1:a2=a2+1:a3=a3+1:a4=a4-3  endif  print a1,a2,a3,a4next iend

第七节   汉字输入法研究一、教学目标知识目标:1、了解查找算法的基本概念2、了解汉字的编码基本知识3、理解汉字输入法的工作流程技能目标:1、学会设计汉字输入法的流程图2、学会循环方法设计实际应用软件的流程图情感目标:培养学生养成使用流程图分析和解决实际问题的习惯二、重点难点教学重点:查找算法、汉字编码、输入法流程图的设计教学难点:汉字编码的理解、输入法流程图的设计三、环境与素材1、多媒体网络教室,也可以在有多媒体投影机的普通教室上课2、有关流程图的文件和相关程序,或者可以使用画有流程图的挂图四、教学过程建议课时:2课时本课是本章教材第一单元综合应用课的第二课,通过学习可以消除学生对计算机软件那种高不可攀的神秘感,本课的教学要做到顺序渐进,整个课是思维的传授过程,教师要根据学生的实际情况调节课堂的进度,不可操之过急。本课的教学可以分以下几个模块进行。1、查找算法的教学教师可以通过日常生活的例子,如货价上找物品、公共场所找人、翻字典等例子,也可以引导学生举例来提高学生的感性认识,增加课堂气氛。在让学生思考和想象各种例子的查找过程和方法的基础上,引出查找算法的基本原理,可以告诉学生有很多的查找算法,如二分法、回溯法,老师可以说出或写出名称,直接告诉学生今天要学的是顺序查找算法是那些算法中最简单最容易理解和掌握的方法,算法的基本思想介绍就比较简单了。介绍算法时可以展示书上的流程图,同时可以用事先编好的程序来说明这种思想在计算机上是可行的。参考程序如下:input “输入要找的数字”, afor i=1 to 10  read x  if a=x then print “数字以找到”    goto e:  endifnext iprint “找不到”e:data 10,20,30,40,50,60,70,80,90,100注:data部分的数据教师根据实际情况调整。    2、汉字编码的教学汉字编码的概念比较抽象,也是本课的难点之一,建议用机械汉字打字机字盘的结构引出区位码的知识,告诉学生编码相当于给汉字一个编号或取名,有了编码就可以比较容易找到汉字,可能学生会问:“为什么要分内码和外码?”等问题时,教师可以直接告诉学生,如有兴趣深入学习下去就会明白的。这里主要向学生讲授外码的知识。因为拼音输入法是学生最熟悉的输入法,用汉字拼音作为题材比较合适,在讲解的最后告诉学生不管是那种输入法,建立的数学模型是一样的。练一练的参考答案:              四种类型的各种输入法的名称编码汉字输入法数字类区位(也称电报)字型类五笔、表形码字音类各种拼音输入法音型结合类二笔输入法(阴阳码)、丁码汉字词组输入码(拼音)对照表

汉字

编码中国zhongguo

浙江省zhejiang杭州hangzhou信息xinxi计算机jisuanji科学kexue生活shenghuo学习xuexi学校xuexiao3、汉字输入法工作流程和流程图教学因为不牵涉具体的编程,而且学生没有编程的经验,对于复杂的(当然实际上也并不复杂)流程图学生就比较难以把握,特别是一些细节的处理,学生往往很难一次性的完成整个流程的设计,建议教师在教学中采用分步教学的方法,将讲解过程进行分解,来降低难度,帮助学生的理解。也就是将流程图进行模块化,然后将每个模块逐步细化。关于细化到什么程度,是流程图教学中的难点,也是学生最难把握的地方,教师只能根据学生的实际情况来掌握,我们具体只要求学生能理解流程图中的逻辑关系即可,如果条件许可,可以将具体的语句(如qbasic)列出,简单介绍流程图和语句具有一一的对应关系,使学生懂得流程图能直接转化为可以执行的计算机语言,流程图和具体的语言是无关的,明确画好流程图是计算机编程的基本功,将来不管学习什么计算机语言,都离不开流程图。教科书中汉字输入法处理流程图参考程序如下:rem 汉字输入法dim  a$(17,1)for i=1 to 17  read a$(i,0),a$(i,1)next ia:input “输入编码”,bm$for i=1 to 17  if bm$=a$(i,1) then    rem 转换机内码    print “找到 :”a$(i,0)    goto  b:end ifnext iinput “找不到你输入编码对应的汉字,是否重输y/n?”,ch$if ch$=”y”  goto  a:end ifdata  “中”,”zhong”,”华”,”         hua”,”人”,”ren”,”民”,”min”,”共”,”gong”,”和”,”he”,”国”,”guo”data  “中国”,”zhongguo”,”浙江省”,”zhejiang”,”杭州”,”hangzhou”data  ”信息”,”xinxi”,”计算机”,”jisuanji”,”科学”,”kexue”,”生活”,”shenghuo”

data  ”学习”,”xuexi”,”学校”,”xuexiao”b:end五、练习参考答案:    1、第一题2、第二题3、第三题相关连接:http://www.fsec.cn/cjh/hzsr.htmhttp://www.kmxx.com.cn/    http://www.mm123.com/mm_bbs.htm

第八节  冒泡排序法一、教学目标知识目标:1、了解冒泡法排序的基本概念2、理解算法过程模拟技能目标:1、根据模拟结果画出流程图2、能熟练地设计单循环流程图3、会设计实际例子地双循环流程图情感目标:培养学生养成使用流程图分析和解决实际问题的习惯二、重点难点教学重点:冒泡法排序、算法模拟、双循环流程图的设计教学难点:模拟中循环次数地确定、双循环流程图的设计三、环境与素材1、多媒体网络教室,也可以在有多媒体投影机的普通教室上课。2、有关流程图的文件和相关程序,或者可以使用画有流程图的挂图3、模拟算法用地教具,如盒子、小球等四、教学过程建议课时:2课时,如果条件容许加一节总结课。本节是第一章的最后一节内容,学好本节内容后,今后学生继续学习编程的话已基本没有什么障碍了,特别是双重循环的教学是本节的主要难点,所以可以向学生灌输一些程序结构化的知识,特别要提示循环中的嵌套问题。通过算法的模拟过程,使学生懂得计算机其实并不聪明,它的运行完全是按照人们事先编排好的程序来运作,最大的特点高效,不会疲倦。同时让学生知道,编好程序是提高计算机效能的重要途径。对本节的教学提如下的建议:1、冒泡法排序的教学和上一节的查找法一样,让学生知道其实关于排序,科学家也发明了许多的方法,今天要学的冒泡法也是在许多方法中比较简单易懂的方法,所以使用也比较普遍,至于其他的方法有兴趣的学生可以课后去翻阅有关资料。对于排序的基本思想,教师可以通过黑板或大屏幕来简单的解释一下,或者可以让全体学生阅读教科书,告诉学生要理解其中的内容,必须听好下面的课。    2、模型的建立及模拟过程的教学    这部分内容教科书上已经写得比较清晰,教师只要按部就班得做下去就可以了,但几个地方需要特别说明。    1.关于模型的建立教学,可以用课件、实物或者直接用黑板,这里建议用黑板,因为整个过程可以调控可以多样化,比如学生的参与,当然实物也能做到,但黑板的有点就是能够留下痕迹,有利于思路的再现。    2.第一个阶段的模拟是至关重要的,也是本节教学重要部分,教师一定要主意学生的掌握程度,否则下面的教学就会无法进行下去。第一个阶段模拟过程程序清单rem 第一个阶段模拟dim a(5):a(1)=7:a(2)=15:a(3)=8:a(4)=10:a(5)=23for j=1 to 4  if a(j)>a(j+1) then  elsea(0)=a(j):a(j)=a(j+1):a(j+1)=a(0)  end ifnext jprint a(1),a(2),a(3),a(4),a(5)end    3.及时记录各个过程的主要数据,最后归纳填好下表。参加排序的盒子数比较次数阶段结果第一阶段54最少球数的盒子在第五个位置第二阶段43本阶段最少球数的盒子在第四个位置第三阶段32本阶段最少球数的盒子在第三个位置第四阶段21本阶段最少球数的盒子在第二个位置    4.根据表格提供的数据,对整个循环流程图中循环初始值加以特别说明。整个模拟过程basic语言程序清单:rem 冒泡法排序dim a(5):a(1)=7:a(2)=15:a(3)=8:a(4)=10:a(5)=23n=5for i=1 to n-1for j=1 to n-i    if a(j)>a(j+1) then    elsea(0)=a(j):a(j)=a(j+1):a(j+1)=a(0)    end ifnext jnext iprint a(1),a(2),a(3),a(4),a(5)end五、练习参考答案:    1、第一题    2、第二题    3、第三题

展开阅读全文

页面更新:2024-06-08

标签:教案   信息技术   初中信息技术   流程图   程序设计   程度   目标   过程   结构   教师   计算机   程序   方法   学生

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top