第一章 程度设计初步.docx
《第一章 程度设计初步.docx》由会员分享,可在线阅读,更多相关《第一章 程度设计初步.docx(43页珍藏版)》请在冰豆网上搜索。
第一章程度设计初步
第一章程度设计初步
第一程度设计初步
一、本内容介绍
本主要内容是计算机程序设计初步知识,教材从计算机语言及分类入手,通过一些简单易懂的实例开始,分析用计算机处理问题的基本过程,让学生理解程序设计的基本思想,认识流程图的概念。
还是结合一些简单的实例,教材按照从简单到复杂的顺序,分别介绍了顺序结构、分支结构和循环结构程序设计的基本方法,先从日常生活中的流程开始入手,学会分析解决问题的方法,画出流程图。
最后,通过数学问题、汉字输入法研究和冒泡排序法,较深入地学习程序设计的方法,巩固前面所学的知识。
第一节程序设计入门
本首先让学生了解二进制、机器语言、汇编语言和高级语言,对计算机语言的发展历程有一个初步的了解。
然后通过一个简单的实例,让学生理解用计算机处理问题的基本过程,并对流程图有初步的认识。
第二节流程图
本从流程图的基本概念入手,着重培养学生良好的分析问题的习惯。
认识几种常用的流程图图例及用法,并且通过学生日常生活的一些实例,让学生学习画流程图的基本方法。
第三节顺序结构程序设计
本结合生活中的顺序事,通过亲身体验,了解电子邮的申请过程及常用软安装的基本步骤,让学生了解顺序结构程序设计的基本思想,培养学生的综合信息素养,并进一步巩固流程图一节知识。
第四节分支结构程序设计
本通过电子邮及生产过程中的典型事例,分析分支结构程序设计的基本思想,并且通过练习,掌握分支结构程序设计的基本方法。
第五节循环结构程序设计
本通过生产中的循环事,自然界的循环事,以及数学问题中的循环事,分析了循环结构程序设计的基本方法。
通过后的练习,学生应该对循环结构程序设计有了初步的认识。
第六节数学问题
本通过学生对小学奥数中出现的二个问题,以及高中数学中出现的阶乘问题的分析,使学生对用计算机解决数学问题有一定的认识和了解。
中还提供较多的练习,让学生在实际操作中得到更多的锻练机会。
第七节汉字输入法研究
本通过对汉字输入法的研究,引出计算机中较常用的算法--查找算法的概念,使学生对计算机编程的过程有一定的了解。
通过后的几个练习,使学生懂得计算机软的编制离他们并不遥远。
第八节冒泡排序法
本通过冒泡法基本思想的介绍和冒泡法算法过程的较为详细的分析,使学生了解到计算机编程是一个严密的过程,计算机的运行是一丝不苟的按照程序的要求完成,从而培养学生的逻辑分析能力,以及处理问题的条例性。
二、学习目标
学习目标分为知识性目标、技能性目标和情感性目标。
下面就本知识性目标和技能性目标的要求加以描述。
1、知识性目标:
·“A”表示了解水平。
再认或回忆事实性知识;识别、辨认事实或证据;列举属于某一概念的例子;描述对象的基本特征等
·“B”表示理解水平。
把握事物之间的内在逻辑联系;在新旧知识之间建立联系;进行解释、推断、区分、扩展;提供证据;收集、整理信息等。
·“”表示迁移应用水平。
归纳、总结规律和原理;将学到的概念、原理和方法应用到新的问题情境中;建立不同情境之间的合理联系等。
2、技能性目标:
·“A”表示模仿水平。
在原型示范和他人指导下完成操作。
·“B”表示独立操作水平。
独立完成操作;在评价和鉴别基础上的调整与改进;与已有技能建立联系等。
·“”表示熟练操作水平。
根据需要评价、选择并熟练操作技术和工具。
1知识性目标
内容
程
1
2
3
4
6
7
8
计算机语言及其发展历程
A
变量的概念
A
流程图的概念
B
流程图的表示方法
B
顺序结构程序设计的概念
A
B
分支结构程序设计的概念
A
B
循环结构程序设计的概念
A
B
B
B
用计算机解决数学问题的方法
B
查找算法的基本概念
B
汉字编码的基本知识
A
汉字输入法的流程
B
冒泡法排序基本概念
B
算法过程模拟
B
2技能性目标
内容
程
1
2
3
4
6
7
8
流程图画法
A
A
B
B
顺序结构流程图
A
A
B
B
分支结构流程图
A
A
B
B
循环结构流程图
A
B
B
第1节程序设计入门
一、教学目标
知识目标:
1、了解计算机语言及其发展历程
2、初步了解二进制(机器语言)、汇编语言(低级语言)、高级语言等概念
3、初步了解变量概念
技能目标:
会用计算机分析及处理日常问题
二、重点难点
教学重点:
用计算机处理问题的过程
教学难点:
如何理解用数学模型表示出解决实际问题的方法
三、环境与素材
1、三只瓶子或烧杯,碘酒和酒精(或其他两种不同颜色的液体)
2、流程图(电子稿、挂图或小黑板),用以显示教材中相关图例
3、用演示变量的盒子或模型
4、多媒体网络教室
四、教学过程
建议时:
2时。
对于绝大多数第一次接触计算机语言的同学说,计算机语言无疑是非常神秘的。
这种神秘感从积极意义上看可以激发学生学习和探知的欲望,但同时也有可能使学生产生畏难情绪。
所以,教师要在教学过程中,通过自己通俗易懂的讲解和形象生动的举例,逐步消除学生对计算机语言的这种神秘感,从而激发学生的学习热情和探求欲望。
对于二进制,大多数学生可能都是陌生的。
本只要求学生对二进制有一个初步的认识和了解,不要求掌握。
教师可以通过摩尔斯电码、海上旗语等进行比喻,进而加深学生对二进制的理解。
本中提供的知识链接只是用于加深学生对二进制的认识,也是不要求学生掌握的。
教学中,教师还可以引入二进制与十进制转换等内容对学生加以适当训练,但这些也只能是点到为止。
对于汇编语言,虽然说比机器语言容易理解和记忆,但对学生说也是很难的东西。
本中提供的实例也只是抛砖引玉的作用,把它作为引出高级语言的一个过渡。
教师可根据学生的实际情况,对汇编语言与高级语言的特点加以适当介绍。
高级语言是现在程序开发广泛采用的语言,由于它接近人的自然语言,所以比较容易学习。
要向学生交代:
我们以后要学习的计算机程序设计所涉及的就是高级语言。
高级语言的种类很多,不同的语言有不同的特点。
现在常用的高级语言BASI语言、PASAL语言、语言等,现在已经发展出面向对象的高级语言,如VisualBasi、Delphi、Visual等。
这些教师可以有选择地向学生作简单介绍,但不可过多、过细,过多或过详细的介绍会使学生觉得计算机语言高不可攀,加重学生畏难情绪。
本也只是通过一个最简单的BASI程序对高级语言提供了一个范例。
“用计算机处理问题的过程”一小节是本的重点和难点所在。
教师堂上可以先向学生提出问题:
如何实现瓶中两种不同液体的交换?
再进而把问题转换成计算机问题——如何实现两个变量的交换。
通过这样的讲解,学生在理解上应该没有太大的问题。
教师在教学中要讲清楚一点,就是“计算机中的变量与实际生活中的容器的区别”——容器中如果已经装了东西就不能再装其他东西了,只有把里面的东西倒出才能再装其他东西;而计算机的变量可以反复赋值,新的一次赋值后,原有的数据就被替换掉了。
另一方面,把一个变量的值赋给另一个变量,这个变量中的值依然是不变的。
这一概念与学生日常生活中通常的理解是不同的,学生理解起可能会有困难,本中适当加以说明,但在以后的教学中还要反复强调,才能使学生加深理解,真正掌握。
用数学模型模拟现实生活中的过程,是教材中反复要用到的教学手段,也是学生日后在编程时非常重要的环节。
本虽然只是一个开始,只提供一个范例,但是对学生建立正确的编程思想是非常重要的。
所以这个问题也是教师在本节教学过程中不可忽视的重要内容。
用流程图表示出解决问题的过程,是本中一贯的教学内容,意在培养学生养成分析问题的习惯。
有关流程图的表示方法将在第二节中详细分析,本只是要学生理解在程序设计过程中有这样一个环节,而且是非常重要的环节,但对其具体内容不必详细分析。
五、练习实施建议
中的练习1最好让学生通过实际操作加深理解。
可以先用字描述把交换过程的步骤写下,再进行抽象,模仿中的写法转化成数学模型。
练习2写流程图让学生模仿中的流程图进行练习,但不作要求。
·练习答案:
1、交换的基本过程:
数学模型如下:
第2节流程图
一、教学目标
知识目标:
1、理解流程图的概念
2、认识流程图中常用的几种图形表示方法
技能目标:
学会对日常生活中的事进行描述并画出流程图
情感目标:
感受流程图的描述方法,养成对事物进行综合分析的习惯。
二、重点难点
教学重点:
画流程图的几种常见图形及其用法
教学难点:
流程图的图形的画法及其应用
三、环境与素材
常用流程图的图形、名称、意义对照表;几个实例的流程图例。
四、教学过程
建议时:
2时。
本主要围绕对事物过程分析和流程图的画法进行教学,首先通过一个工业生产流程图,让学生了解流程图的概念,同时强调无论做任何事情,都要事先做好计划,这样才能尽可能地把事情安排合理,做到有条不紊,这是一个非常好的习惯。
在展示几种常用的流程图形的画法、名称和意义之后,教材通过三个实例说明流程图的用法。
教材中使用几个学生实际生活中的实例作为范例,说明程序设计及流程图的思想,一方面是学生还没有接触到具体的计算机语言,另一方面是想通过实例指导学生把这种程序设计思想运用到实际生活中,培养学生做任何事情都要事先做好规划、分析,养成做事有条不紊的好习惯。
教材中的有些实例可以转化为计算机程序,有些则不行。
教学中,当需要把教材中的实例搬到计算机上去执行时,就需要具体的计算机语言了。
教师在教学中选择什么计算机语言,教材中并没有规定,教师可以根据学校或自身的具体情况加以选择,一般可以是BASI语言、PASAL语言、语言等。
本教参以QBASI语言为例,提供部分实例的程序。
本节中的前两个实例是学生生活中的例子,不能直接转化成计算机程序,例3是可以转化成计算机程序的。
但建议教师在本的教学中,先不要急于把中的实例转化成原程序。
因为本节的教学重点是让学生理解流程图的概念,学会流程图的绘制方法,这时候把流程图转化成原程序会冲淡教学重点,转化学生学习的注意力。
在后面的教学中,教师教学时同样也要重视学生对过程的分析和流程图的绘制,始终坚持培养学生对事物的规划、分析能力。
五、练习实施建议
本两个练习都是围绕画流程图进行的,可作为学生堂练习完成。
教师可根据学生实际情况,如果需要的话可适当增加些类似的练习题,让学生巩固所学的知识。
另外在以后几节的教学中,还会有大量练习需要结合流程图完成。
·练习答案:
(略)
第3节顺序结构程序设计
一、教学目标
知识目标:
了解顺序结构程序设计的概念
技能目标:
通过对申请电子邮箱和安装常用软(顺序结构)过程的描述,学会画顺序结构流程图
二、重点难点
教学重点:
顺序结构程序设计及画流程图
教学难点:
电子邮箱的申请和常用软的安装过程
三、环境与素材
1、能够上因特网的多媒体网络教室
2、工业生产流程图,顺序结构程序流程图(挂图或板书)
四、教学过程
建议时:
2时。
从本节的教学内容上看,顺序结构程序设计基本方法在第2节中都已经讲过了,但作为程序设计的基本结构之一必须单独作为一节讲解,所以本节结合电子邮箱的申请过程和常用软的安装进行教学,一方面让学生通过这些典型的顺序结构事例了解顺序结构程序设计思想,另一方面是通过这些教学内容,增强学生的综合信息素养,因为这些内容都是构成学生信息素养的重要组成部分。
教师在实际教学中,可根据学生的实际情况选择教学内容重点进行讲解:
●如果大多数学生没有申请电子邮箱的经历,教师可把这部分内容作为教学的重点,让学生亲身体验申请电子邮箱的过程,并让学生把申请过程加以提炼、描述,进而转化为流程图。
对常用软的安装过程可以通过教师演示简单介绍。
●如果大多数学生都已经有过申请过电子邮箱的经历,则可以把常用软的安装过程作为重点让学生体验,并把安装过程用流程图加以描述。
电子邮箱的申请让学生总结一下就可以了。
教材中是通过QQ的安装为例,介绍软安装过程,教师在实际教学中还可以根据实际情况选择其他常用软,如ADSee、Fxail等。
软安装完毕后,要让学生把安装过程记录下,并用流程图加以描述。
工业生产流程,也是日常生活中常见的流程之一,这里让学生一般一解就可以了。
已经有了第二节的基础,顺序结构程序设计对学生说理解没有什么问题,关键是通过实例加强学生对绘制流程图的训练。
这是本节的教学重点所在。
另外,从本节开始,教师可以适当考虑结合程序设计语言,把中的一些实例或练习转化成计算机程序,让学生在计算机上实际调试、运行,进行一些编程练习。
需要注意的是,我们一开始提供的练习内容,所涉及的编程语句应尽量少,并且不作为教学重点,以免冲淡本节的教学重点(过程分析及画流程图)。
对于初学编程的学生说,计算机程序中的表示与数学是有一些区别的,这是点是教师在教学过程中有必要对学生进行分析、说明的。
如在数学上,a=a+1是不可能成立的,而在编程中却是经常遇到的,它的意义是“把变量a的值加1并重新赋值给变量a”。
计算机中的“=”称为“赋值号”,它与数学上的等号也是具有不同意义的。
五、练习实施建议
本练习2、3都是可以转化成数学模型,到计算机上去运行的。
教师可结合特定的计算机语言,把流程图转化成计算机程序,拿到计算机上去调试、运行。
这里给出两个练习的BASI程序,供教师参考。
·练习答案:
练习2:
流程图和BASI语言参考如下:
流程图:
BASI原程序:
a=0:
s=0:
=0‘赋初值
INPUT“a=”,a‘输入单价
INPUT“s=”,s‘输入数量
=a*s‘计算总金额
PRINT“=”;‘输出总金额
END‘程序结束
练习3:
(参考练习2,过程略)
第4节分支结构程序设计
一、教学目标
知识目标:
了解分支结构程序设计的概念
技能目标:
1、学会对分支事进行综合分析,并用分支结构加以描述
2、学会画分支结构流程图
二、重点难点
教学重点:
分支结构程序设计及画流程图
教学难点:
多重分支结构
三、环境与素材
1、能够上因特网的多媒体网络教室
2、相关图例
四、教学过程
建议时:
2时。
电子邮箱申请过程中出现的“用户名已经被注册”的情况可能学生在注册邮箱过程中已经碰到过了,这就很自然地引出程序设计的分支结构。
教材中提供了邮箱申请过程中分支结构的流程图片段,结合上一节的流程,学生应该能够把这个流程图写完整。
需要指出的是:
“重新输入用户名”一段程序应该是流程图的哪一位置?
实际操作中,程序是在出现“用户名已经被注册”提示信息后,直接返回到上一步操作,即要求重新输入用户名及密码等信息(这里不同的网站要求及内容会有所不同)。
“行李托运问题”教材给出了完整的流程图。
教师要帮助学生对流程图加以分析,指导学生学会看流程图,学会通过对事进行分析画出流程图,最后逐步学会根据流程图写出程序。
从理解层面上看,分支结构对学生说并没有太大难度,主要问题是在应用上。
如何指导学生对分支问题进行分析是教学的关键,而分析分支结构程序最关键的是对“分支条”的分析,即怎样把判断条表达明确、清楚。
中的几个实例相对比较简单,理解和分析起应该没有太大问题,但对后练习中的两个题目分析起可能会有一定难度。
为加强学生练习,巩固分支结构,教参在本节增加几道练习,以供教师在教学过程中参考、选用。
如何把问题分析得透彻、全面,是教师在教学中应当着重把握的内容。
要重视对学生分析方法的指导,培养学生严谨的逻辑思维和良好的学习习惯。
下面补充一些分支结构练习,以供教师在教学中对学生进行训练。
在训练时还是要强调:
先对问题进行分析,画出流程图,再转化为程序,上机调试运行。
1、输入a、b、三个不同大小的数,将它们按由小到大的顺序输出。
2、某超市为了促销,规定:
购物不足0元的按原价付款,超过0不足100的按九折付款,超过100元的,超过部分按八折付款。
编一程序完成超市的自动计费的工作。
3、从键盘读入一个数,判断它的正负。
如果是正数输出“+”,是负数输出“-”,否则输出“0”。
参考程序:
1、流程图:
BASI原程序:
RE实现三个数从大到小排序
INPUTx,,z
IFx>THEN
t=x:
x=:
=t
ENDIF
IF>zTHEN
t=:
=z:
z=t
ENDIF
IFx>THEN
t=x:
x=:
=t
ENDIF
PRINTx,,z
END
2、流程图:
(为使问题简化,以单商品为例)
BASI原程序:
RE商品折价问题
S=0:
x=0:
p=0‘初始化变量
INPUT“商品单价:
”:
p‘输入商品单价
INPUT“商品数量:
”:
x‘输入商品数量
IFx*p<0THEN‘如果总金额不超过0公斤
S=x*p‘计算金额
ELSE‘否则(即总金额超过0元)
IFx*p<=100THEN
S=x*p*09‘0——100元的金额计算
ELSE‘当金额超过100元
S=90+(x*p-100)*08‘超出100元时的金额计算
ENDIF
ENDIF
PRINTS‘输出金额
END
3、流程图:
BASI程序:
RE判断数字的正负
INPUTx
IFx>0THEN
PRINT“+”
ELSE
IFx<=THEN
PRINT“-“
ELSE
PRINT“0”
ENDIF
ENDIF
END
练习答案:
1、流程图:
QBASI原程序:
RE判断闰年
INPUT“请输入年份:
”,
IF(INT(/4)=/4ANDINT(/100)<>/100)R(INT(/400)=/400)THEN
PRINT;“是闰年”
ELSE
PRINT;“不是闰年”
ENDIF
END
说明:
1、INT()函数是取整函数,即“取不大于该数的最小整数”。
如
INT(12)=12
INT(-02)=-1
2、判断A数能否被B数整除,通常是用判断INT(A/B)=A/B是否成立的方法实现,即两数相乘后取整与积相比较,如果相等,则说明积没有小数部分(能被整除)。
练习2.流程图
同一个问题可以有多种不同的分析方法,而随着分析角度不同,编写的程序也会有所不同。
这里提供两种解决方案供参考。
【方案一】
【方案二】
QBASI程序:
【方案一】
RE学生体质测试程序——0米
INPUT“请输入性别(1-男,2-女):
”;x
INPUT“请输入0米成绩(秒):
”;s
IFx=1THEN‘性别为男性
IFs<=89THEN
PRINT“合格”
ELSE
PRINT“不合格”
ENDIF
ELSE‘性别为女性
IFs<=106THEN
PRINT“合格”
ELSE
PRINT“不合格”
ENDIF
ENDIF
END
【方案二】
RE学生体质测试程序——0米
x=0:
=0:
s=0‘初始化变量
INPUT“请输入性别(1-男,2-女):
”;x
INPUT“请输入0米成绩(秒):
”;s
IFx=1THEN‘性别为男性
IFs<=89THEN
=1‘合格标记为1
ELSE
=0‘不合格标记为0
ENDIF
ELSE‘性别为女性
IFs<=106THEN
=1
ELSE
=0
ENDIF
ENDIF
IF=1THEN‘输出结果
PRINT“合格”
ELSE
PRINT“不合格”
ENDIF
END
第节循环结构程序设计
一、教学目标
知识目标:
了解循环结构程序设计的概念
技能目标:
1、学会对循环事进行分析,并用循环结构对事加以描述
2、学会画循环结构流程图
二、重点难点
教学重点:
循环结构程序设计及画流程图
教学难点:
循环与分支结构相结合的程序设计
三、环境与素材
1、能够上因特网的多媒体网络教室
2、相关图例(挂图或板书)
四、教学过程
建议时:
2时。
本从生产中、自然界的循环事入手,让学生理解:
循环事在人们的生产、生活及自然界都是广泛存在的现象。
然后,例举了一个学生大多数都熟悉的数学问题,分析用计算机是如何处理这个问题的。
讲到这里,也许有学生会说:
计算机只会用死办法计算结果,没有人聪明。
教师需要向学生说明的是:
计算机相对于人脑说,它的最大优势是在于它的运算速度。
一个人要用几年时间处理的数据量,计算机只用几秒钟就可以完成了。
另外,计算机程序是在人的控制下运行的,计算机的运行效率取决于人在编程时的方案。
上述程序也可以用较简便的方法解决,只要对程序进行适当的修改就能实现了。
下面是修改后的程序片段:
中的“开动脑筋”及练习,主要都是围绕这一例题展开的,只要以上述程序作部分修改就可以了。
要让学生有足够的练习时间,把中的练习完成,以加深对循环程序的理解。
循环结构程序设计关键点是循环变量和循环条,要帮助学生分析哪个条作为循环条,循环变量如何设定;对程序运行时实际循环次数加以分析;如何避免出现死循环。
练习1、2学生参照教材范例一般可以完成。
练习3难度较大,它需要把循环结构与分支结构程序结合起才能完成,另外对于循环变量的指定也有一定的难度。
练习参考答案:
《开动脑筋》
流程图:
(奇数和)
说明:
如果是偶数的和,则I的初值应为2。
BASI程序:
S=0:
I=1
FRI=1T100STEP2
S=S+I
NEXTI
PRINT“S=”,S
END
练习1、流程图:
程序:
S=1
FRI=1T10
S=S*I
NEXTI
PRINT“S=”,S
END
练习2:
循环变量终值改为9就可以了。
练习3:
流程图:
BASI程序:
RE猜0-9之间的随机数
RADIZETIER;用时间作为随机数参数
I=0;设置循环条,即当没有猜中时I始终是0
DHILEI=0
INPUT“请输入你猜的数字(0-9)”;x
IFx=rTHEN
PRINT“你猜对了!
”
I=1;改变循环结束条,使循环结束
ELSE
IFx>rTHEN
PRINT“大了”
ELSE
PRINT“小了”
ENDIF
ENDIF
LP
END
第6节数学问题
一、教学目标
知识目标:
了解用计算机解决数学问题的方法
技能目标:
初步学会对数学问题进行分析的方法,并能够把解决问题的过程转化为流程图
二、重点难点
教学重点:
分析问题的方法及用计算机解决数学问题的方法
教学难点:
计算机解决数学问题与一般数学方法的不同之处
三、环境与素材
演示流程图的相关挂图
四、教学过程
建议时:
2时。
计算机最初发明时就是用解决数值计算的问题,因此,解决数学问题是计算机最主要的特长。
但用计算机解决数学问题与一般的数学方法是有些不同的。
在很多情况下,我们是利用计算机的运算速度解决数学问题,而对运算过程中的技巧不太强调。
用计算机解决数学问题时