程序设计基础 第四章.docx
- 文档编号:15168510
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:25
- 大小:116.98KB
程序设计基础 第四章.docx
《程序设计基础 第四章.docx》由会员分享,可在线阅读,更多相关《程序设计基础 第四章.docx(25页珍藏版)》请在冰点文库上搜索。
程序设计基础第四章
第四章程序设计基础
概述
本章的开篇指出了程序设计的基本步骤,介绍了编写一个完整的程序需要经过的一般过程,并提供了在编写程序的过程中人们需要做的各项工作和需要注意的问题。
在本章中,我们先要学习算法的概念以及描述算法的方法。
其中,将着重对流程图的绘制进行详细的介绍。
然后,通过进一步分析几个比较复杂的算法,我们可以深刻地体会到结构化程序设计思想的重要性,同时也能够感悟到使用流程图描述算法的优点,即直观易懂,便捷高效。
本教材采用TurboPascal7.0作为教学编程语言来介绍程序设计的基础知识和一些基本算法。
本章第二节至第四节详细介绍了使用TurboPascal7.0编写的程序的结构,以及进行程序的编辑、调试的方法。
此外,还详细介绍了程序设计的一些基本概念。
本章的主要内容
节名
教学内容
程序设计概述
通过求解一个问题的步骤,了解算法的概念以及表示方法,以及程序设计的基本步骤。
能够掌握结构化设计的基础思想,用流程图等算法描述方法描述出相关的算法,并解决一些比较复杂的问题。
Pascal程序结构
通过分析一个具体的pascal程序,掌握pascal程序的基本结构,以及pascal中用到的语言符号。
程序的编写与调试
介绍TurboPascal7.0软件,掌握文件新建、打开、编辑、保存、编译和执行程序等技能,了解跟踪和调试pascal程序的方法,并能够在需要的时候获得相关的帮助信息。
程序设计的几个基本概念
通过一些具体的事例详细介绍了程序设计的几个基本概念:
常量和变量、pascal语言的数据类型、TurboPascal7.0中提供的标准函数、pascal语言的运算符和表达式。
第一节程序设计概述
一、教材分析
教学目标
目标
实现
知识
了解程序设计的基本步骤
在现实生活中,解决一个问题的步骤有哪些?
以类比的方法来说明程序设计的步骤
通过解决数列求解问题的过程,了解算法的定义并懂得几种比较常见的算法描述方式
尝试解决一个数列求和问题,在实践中体会什么是算法,并体验自然语言描述法与流程图描述法
懂得结构化程序设计方法的思想,了解程序的三大结构分别是顺序、分支与循环。
寻求三大结构的示例,并结合课后ATM取款习题
技能
能够使用自然描述语言和流程图方式描述简单算法
贯穿于数列求和算法之中
能熟练使用流程图方式表示程序的三大结构
贯穿于ATM取款习题之中
能够用流程图描述出一个比较复杂的算法,算法需包含两个以上不同的程序结构。
贯穿于ATM取款习题之中
情感态度价值观
通过解决一道数列求和问题,对算法的概念有一个感性认识
数列求和算法过程中
根据自己对算法描述方法的认识,总结出自然描述语言与流程图两种的方式各自的优点。
尝试两种算法描述方式后
养成独立分析、解决大问题的习惯,能够将大问题自行分解为若干个小问题
在复杂问题分析和描述算法过程中
教学重点与难点
程序设计步骤的关键是对问题的分析,以及建立正确的算法,这需要教师合理引导学生在整个学习过程中不断地体验并加以应用和总结。
所以,教学的重点在于引导学生在解决一些比较简单的问题中,结合流程图的基本知识,分析算法,描述算法。
而难点则是在学生使用算法描述解题步骤的时候往往会忽略计算机解题的特点,一味追求细枝末节的实现,而忘记了使用结构化程序设计思想来设计算法,教师应该注意随时调整学生的解题思路,帮助学生把握解题的关键。
二、教学建议
课时安排建议
本节内容建议用2课时完成。
第1课时主要让学生了解程序设计的基本步骤,以及观察三种常见的算法描述方法的区别,学会画流程图描述简单算法。
第2课时着重讲解为什么需要结构化程序设计思想,体会结构化程序设计思想的优点,并要求学生能够用流程图画出相对较复杂的算法。
教学准备
1.机房准备
程序设计基础中流程图绘制活动的开展对机房的软硬件配置要求不高,操作系统Windows2000或WindowsXP以上,CPU为PIII以上,内存为128M以上,推荐使用MicrosoftOfficeVisio2003绘图工具,也可以使用普通Office办公套件中的Word软件代替,每个学生一台计算机。
2.教师准备
MicrosoftOfficeVisio2003是一款多功能绘图工具,其中包括绘制流程图的功能。
熟练掌握软件中与“基本流程图”相关功能的使用方法;搜集整理一些简单的算法,能够用三种基本结构清晰绘制出流程图。
3.学生准备
具备基本的信息技术操作技能,包括鼠标、键盘使用,文字输入等。
教学过程安排建议
1.导入新课,提出问题
教师可以设置如上图所示的走迷宫活动,配合讲解人类解决问题与计算机解决问题间的差异。
对于这样一张并不复杂的迷宫图,从入口到出口有许多种走法,如果人类来走的话,可能在前期摸索阶段比较迷茫,可能会走很多弯路,但是当人们走到两个小圈处时,可能立刻改变自己原定的搜索路线;因为人类可能已经看到了出口处的光亮,判断出出口的方位,或者已经直接看到了出口,所以会放弃本来的行动方向,直接向出口进发。
但对于计算机来说,如果让计算机控制机器人来走迷宫,它可能选择一个不会错误,肯定能走出迷宫的方法——回溯法(有时在迷宫问题中,人们又称为右手原则),即不管迷宫有多复杂,从进口开始,一直沿着右边的墙前进,墙如何转弯,它也跟着转弯,虽然会走很多弯路,但方法是可行的,肯定能走出迷宫(具体证明可参考相关数学论证)。
当计算机走到两个小圈处时,即使看到了出口,它也不会改变原来的解决问题的方法,仍旧按照右墙行走……这就是人类解决问题与计算机解决问题的不同。
计算机在解决问题的开始已经设置了不会改变的解决方法,即使问题出现了转机,也不会重新考虑好的方法,仍旧按原来的计划实施,而人类却不是这样。
教师紧接着活动教师提问:
计算机是如何解决人类碰到的问题呢?
计算机怎么懂得人类给予的指令?
计算机接收到的指令是否有重用性,是否可以解决所有类似的问题?
通过问题引入程序设计的概念。
2.介绍“程序设计的步骤”,重点在于讲解每一个步骤的必要性
3.从数列求和问题入手
当学生了解了程序设计的基本步骤后,开始让学生解决书中一道数学数列求和题,但是要求使用多种不同的方法。
当学生解题完成后,可以请多个同学描述解题的步骤。
教师从中引出算法的概念,让学生体会到设计算法的时候往往会从人工解决问题的过程中获取灵感。
(1)教师提问:
用现有的数学知识如何解决书中数列的求和问题,有几种不同的方法?
(2)学生活动:
学生自己完成求解过程,并用语言描述自己求解的思路。
(3)在解题的过程中,教师可以要求学生详细地记录下自己的解题步骤,为下面的算法设计作好必要的铺垫。
而在解题步骤当中,教师应该有针对性地要求学生记录一些关键性的内容,如数列的项数的变化,数列项数值的变化,类加的和等。
(4)学生整理解决问题的步骤:
理解教师对于算法的定义,检查个人使用了多少步骤来完全解决一个问题。
(5)思考:
同学们在用口头表达自己的求解过程,其实就是对算法的描述,思考一下,有没有更好的描述算法的方法,有没有更加规范的描述算法的方法。
在这一阶段的学习中,学生的注意力还是在解决问题上,而这个时候的解题方法和算法还有很大的区别,描述方式也与算法的描述方式有很大的区别。
为了让学生顺利地完成知识的转化,教师应该在教学设计中注意让学生保留一些人为解题可能省略的细节或步骤,这些细节或步骤却往往是设计算法的关键。
4.讲解三种常用的算法描述方式,着重讲解流程图
在这里,教师并不要急于让学生把刚才的数列算法用流程图表示出来,可以让全体学生尝试用自然语言写下算法的每一个步骤。
然后,师生共同尝试着用流程图的形式来翻译自然语言所描述的算法,当然,这个过程中要求教师对流程图和自然语言的区别进行分析,从而帮助学生正确地完成翻译工作。
(1)如果使用的是Visio2003软件,那么教师可以展示如何使用该工具,绘制基本流程图。
当然教师完全可以使用Word工具中的绘图工具栏来绘制基本流程图,甚至使用手工绘图,同样可以达到认知、练习的目的。
(2)先认识软件中能否找到书中的所有流程图符号(其中连接框是没有的,因为软件绘制中不存在绘图空间不够的问题)。
(3)学生将个人的数列求和算法用流程图的方法绘制出来。
5.介绍“结构化”程序设计思想,讲授程序的三大结构
以生活中的示例说明,复杂的问题都可以划分成小的问题来解决,如造船、轨道延伸等工程都是采取“分而治之”的思想。
对于三大结构,要求学生自己寻找最简单的示例来描述。
6.复杂问题算法中掌握程序三大结构
可以使用书后练习ATM取款作为复杂问题,教师也可以自己寻找复杂问题。
要求该复杂问题的算法包含三大结构,并有一定的难度,但可以比较清晰地划分模块,将一个算法分解成几个小的算法。
以小组的形式开展活动,每个学生或每两个学生解决一个小算法,然后小组将多个算法拼合起来,并尝试指出其中的三大结构分别出现在算法的哪个部分中。
7.总结
通过解决几个算法的设计与描述,让学生体会到算法是程序的灵魂。
要编写一个优秀的程序,必须要设计一个好的算法,并且用直观易懂的方法来描述算法。
在碰到复杂的问题时,需要使用结构化的设计思想来设计算法,并且划分成若干个比较简单的模块来完成。
这也是引导学生学会“化整为零”的思想,同时便于牢记程序三大结构。
教学参考
练习题:
1.程序设计步骤包含六步分别是:
分析要解决的问题、研究解决问题的答案、编写程序、程序的调试、程序的修改和维护、撰写程序说明文档。
2.程序的基本结构分别是顺序结构、分支结构和循环结构。
3.算法的描述方法有很多,常用的有自然语言描述、流程图描述和计算机语言描述。
思考题:
1.能否把ATM机取钱的过程用算法的表示方式表达出来?
2.结构化的程序设计有什么优点?
答:
(1)对于极其复杂的程序,可以将复杂的大问题变成一个个易于解决的小问题,便于构造整个大程序。
(2)便于多人同时设计一个大程序中的不同部分。
(3)便于程序的后期调试和维护工作,一旦某一功能错误,无须对所有程序进行修改,只要调试其中某一个单独模块即可。
第二节Pascal程序结构
一、教材分析
教学目标
目标
实现
知识
教师引导学生掌握pascal程序的基本结构。
活动1:
解剖一个具体的pascal程序:
计算半径为R的圆的面积S及周长C
掌握pascal语言的符号及其相关的分类情况
教师详细讲解pascal语言的各种符号。
贯穿在整个教学活动中,反复讲解和提示。
技能
在教师的引导下,通过解剖具体的pascal程序,尝试归纳总结pascal程序的结构
贯穿于整个活动1的过程之中
分类、归纳、识别判断的能力
贯穿于整个活动2的过程之中
情感态度价值观
培养严谨的程序编写的风格的习惯,激发学生学习编写程序的兴趣和学习热情
贯穿于整个活动1的过程之中
养成独立分析、善于归纳总结的习惯
贯穿于整个教学活动过程中。
教学重点与难点
掌握pascal程序的基本结构和pascal语言的符号,这将是今后学生学习编写pascal程序的重要基础,让学生掌握pascal程序的基本结构,并能对给予的某一具体的pascal程序的结构正确与否作出相应的判断,这是本课的重点。
此外,在熟悉了解pascal语言的基础上对于给出的一些具体的标识符的正确与否作出相应的判断是本课的难点。
二、教学建议
课时安排建议
本节内容建议用1课时完成。
教学准备
1.机房准备
编写pascal程序对机房的软硬件配置要求不高,操作系统选择Windows98、Windows2000或WindowsXP均可,CPU为Pentium以上即可,内存为32M(Windows98)以上,每位学生一台计算机。
2.教师准备
熟练掌握TurboPascal7.0和一些基本的常用算法。
搜集整理一些常用的算法分析题例放在教师机上;提供一些专业的算法分析和pascal程序设计网站的索引供学生学习使用。
3.学生准备
具备基本的信息技术操作技能,包括鼠标、键盘使用,文字输入等。
教学过程安排建议
1.导入新课,提出问题
在这里,教师首先提出问题:
计算半径为R的圆的面积S及周长C。
学生对于给定的R来手工计算相应的圆的面积S及周长C,然后教师演示并执行已编制完成的pascal程序来求解圆的面积S及周长C,显然,两者相较,程序执行速度快且准确,以此激发学生学习编写pascal程序的兴趣和学习热情。
2.开始活动1的内容
在激发了学生的学习兴趣以后,教师可以展示一下程序的源代码,开始和学生一起探讨这些源代码的组成结构。
提示学生,pascal程序的结构严谨,各个组成部分的先后次序是确定的。
教师解剖pascal程序结构时可以采用的原则:
由上至下、由外到里,逐层细分。
可参考下图:
教师先以上图为蓝本,大致讲解一下pascal程序的基本结构。
然后学生可以参照教材对教师给出的具体的pascal程序进行分组讨论。
要求学生找出pascal程序的每个组成部分,并写出相应划分的依据。
在讨论分析的过程中,教师可以要求学生详细标明划分的依据。
为下面的更深入的学习做好铺垫,以此强化pascal程序结构的知识。
在这一阶段的学习中,学生的注意力集中在划分pascal程序的各个组成部分上,重点是找到划分的依据,为了让学生顺利地巩固所学知识,教师可以再举一些具体的pascal程序作强化练习。
教师介绍完全的Pascal程序结构。
此处应强调在一个pascal程序中,每个组成部分的次序是不可调换的。
教师可给出一个已颠倒了次序的pascal程序,让学生来讨论此程序结构正确与否。
学生讨论:
对于教师给出的pascal程序,讨论此程序结构是否正确,并能将错误的pascal程序的结构进行正确的修改。
在这一阶段的学习中,学生在了解了pascal程序结构的组成的基础上,重点转向程序结构是否合理正确,这也是为将来学生自己动手编写打好基础。
3.教师以讲座和提问的方式讲解pascal语言的符号
教师分类介绍pascal语言的各种符号时,可参考下图:
教师在讲解过程中应适时举例并教师提问,让学生来判断所举例子正确与否,强化学生对新知识的理解和吸收。
这一阶段的学习,主要是以教师讲解结合教师提问练习的方式来掌握pascal语言的符号,重点在于识别判断自定义标识符和pascal保留字这两个知识点上。
4.总结
通过解析具体的pascal程序,让学生掌握pascal程序的固有结构,并能运用所学知识判断出所给出的具体的pascal程序的结构是否正确。
通过讲座和教师提问练习的方式,让学生掌握pascal语言的符号这一方面的知识,这是将来学生自己动手编写pascal程序的基础。
教学参考
练习题:
1.一个完整的TurboPascal程序一般由程序首部和程序体两部分组成。
2.标识符是以字母开头的字母、数字的组合,其中字母不区分大小写。
3.标识符可以用来表示常量、变量、类型、文件、程序、函数、过程等的名字。
4.在Pascal语言中,标识符分为两类,一类是标准标识符,另一类是用户自定义标识符。
5.判断标识符,请将合法的标识符填写在下面的横线上。
a1,1a,ab5,π,ω,ab12cd,a_1,x;y,a#5,ay-c
a1,ab5,ab12cd
思考题:
1.在TurboPascal语言中,可以采用哪些符号对程序代码进行注释?
解答:
在TurboPascal语言中,可以采用大括号或(**)对程序代码进行注释。
2.在定义用户自定义标识符的时候应该注意哪些问题?
解答:
用户在自定义标识符时,应该注意以下问题:
首先,选用的标识符不能和保留字相同;其次,当程序中需要引用某个自定义标识符的时候,要确定该标识符已经在程序说明部分被定义过;同时,为了提高标识符的可读性,在定义的时候应该尽量让标识符可以体现其使用的目的或含义,如average表示平均值,max表示最大值等等。
3.判断下列程序结构是否正确?
programexam1;
Var
vt,s,v:
real;
Const
v0=10;
a=2;
t=20;
Begin
vt:
=v0+a*t;
s:
=v0*t+0.5*a*t*t;
v:
=s/t;
write(vt,s,v);
End.
解答:
程序结构错误,应将常量说明放在变量说明之前,两者次序兑换一下。
第三节程序的调试与编写
一、教材分析
教学目标
目标
实现
知识
学生掌握TurboPascal软件的的基本操作:
新建、打开、保存,熟悉TurboPascal集成环境。
教师讲解演示和学生操作练习相结合。
掌握TurboPascal程序的录入、编辑、编译、调试、跟踪、取得相关帮助。
活动1:
学生按要求录入程序并进行保存、变异、调试、跟踪、获取帮助信息等,实际体验pascal软件的使用和pascal程序从编辑到运行整个完整的过程。
技能
通过操作TurboPascal软件,熟悉TurboPascal集成环境
贯穿于整个教师讲解和学生操作练习的过程之中
在教师的引导下,通过录入、编辑、保存、调试、编译、跟踪、运行pascal程序、获取帮助信息,了解pascal程序的整个过程,培养相关操作技能。
贯穿于整个活动1的过程之中
情感态度价值观
培养严谨的程序编写的风格的习惯,体验编写pascal程序的过程,激发学生学习编写程序的兴趣和学习热情
贯穿于整个活动1的过程之中
养成独立分析、善于归纳总结的习惯
贯穿于整个教学活动过程中。
教学重点与难点
掌握pascal程序的的录入、打开、编辑、编译、调试、跟踪、取得相关帮助是学生今后熟练使用pascal软件编写pascal程序的基础,也是为将来编写程序打下坚实的基础,也是本节的重点。
本节的难点在于跟踪和调试pascal程序,由于学生刚开始接触如何录入、编辑、保存pascal程序,对于程序的调试和跟踪。
二、教学建议
课时安排建议
本节内容建议用1课时完成。
教学准备
1.机房准备
编写pascal程序对机房的软硬件配置要求不高,操作系统选择Windows98、Windows2000或WindowsXP均可,CPU为Pentium以上即可,内存为32M(Windows98)以上。
2.教师准备
熟练掌握TurboPascal7.0和一些基本的常用算法。
搜集整理一些常用的算法分析题例放在教师机上;提供一些专业的算法分析和pascal程序设计网站的索引供学生学习使用。
3.学生准备
具备基本的信息技术操作技能,包括鼠标、键盘使用,文字输入等。
教学过程安排建议
1.导入新课,提出问题
在这里,教师首先提出问题:
如何在pascal软件中录入、保存、运行计算圆的面积和周长的程序?
2.教师介绍pascal软件的启动和TurboPascal集成环境
(1)教师介绍pascal软件的启动。
学生对于此处的学习,应是比较容易掌握的,只要花少许的时间让学生知道如何操作即可。
(2)介绍TurboPascal集成环境。
教师可从以下四个方面依次介绍TurboPascal集成环境:
菜单栏、代码编辑区、窗口名、功能键。
这一阶段中,主要以教师的操作演示和讲解相结合为主,某些菜单项、功能键可结合后面的程序录入一起展开,此外,关于菜单栏及各项菜单项,也只需大致作一下介绍,对于一些比较常用的,可采用例举的方法结合演示操作进行。
此一阶段只要让学生了解软件界面及最基本的使用操作即可。
3.活动1:
录入具体的pascal程序
(1)录入pascal程序时,教师可采用本节教材上提供的例1来指导学生录入程序,也可选择上节例1中的程序进行录入。
在学生录入程序过程中,教师应注意提醒学生程序录入时的书写格式,递进式的书写格式不仅能使用程序看上去层次分明,对以后程序的调试、运行、检查也有非常好的作用,也有利于养成良好的程序编写习惯和严谨的编程风格。
(2)程序的保存。
程序录入的过程中,教师应注意提醒及时保存pascal程序,在此,教师可结合文件菜单栏中的保存菜单项或另存为菜单项,也可提示学生运用功能键来保存文件,这样,更有利于学生对于保存文件这一知识的牢固掌握以及加深对于及时保存文件的重要性。
(3)程序的编译。
在学生录入完程序并保存好的基础上,教师可将如何编译程序这一知识点及时进行讲解,也可对于速度较快的同学自己尝试进行这一过程,这样,也有利于学生对这一知识点的把握。
这一过程中,不可避免地会出现编译错误的情况,教师可结合这一情况来讲解有关编译错误时报的一些错误信息,这样那个比较有利于帮助学生避免再犯类似的错误,以及能够采取相应的措施来解决类似的问题。
(4)程序的运行、调试和跟踪。
在编译通过的基础上,教师可适时地讲解程序运行的知识,并结合程序的调试和跟踪这些知识。
这一阶段的学习,主要是学生操作为主,教师在其中作适时地引导工作,让学生体验编写pascal程序的全过程及编写pascal程序时应注意的相关细节,如程序的书写格式、编译信息等等。
4.总结
通过录入具体的pascal程序,并让学生保存、编译、运行、调试、跟踪pascal程序,使学生掌握如何使用TurboPascal软件来编写pascal程序的全过程。
养成良好的程序编写格式的习惯。
教学参考
练习题:
1.TurboPascal集成环境主要由菜单栏、代码编辑区、窗口名、功能键组成。
2.在TurboPascal集成环境里,同时按ALT和菜单首字母就可以进入相应的菜单。
3.调试程序可以使用单步执行命令,即按F8键。
4.在编辑过程中,可以按CTRL和F1来快速调用相对应的帮助信息。
思考题:
1.TurboPascal集成环境可以在不同的状态之间进行切换,请问,这些不同的状态显示的信息有什么不同?
解答:
这些不同的状态,显示的功能键不同,部分菜单也会有变化。
2.除了单步执行以外,还有哪些调试程序的方法?
解答:
除了单步执行以外,还可以使用断点法来调试程序。
上机练习:
使用单步执行调试下列程序,看看,这些程序的功能是什么?
1.
programfibonacci;
var
a0,a1,a2,i:
integer;
begin
writeln;
a0:
=0;
a1:
=1;
write(a0:
8,a1:
8);
fori:
=2to19do
begin
a2:
=a0+a1;
write(a2:
8);
a0:
=a1;
a1:
=a2;
ifimod5=4then
writeln;
end;
end.
解答:
程序的功能是输出费波纳契数列的前20项,每行输出5项:
1
1
2
3
5
8
13
21
34
55
89
143
233
377
610
987
1597
2584
4181
6765
2.
Programgcd;
Var
m,n,temp,lcm:
integer;
begin
read(m,n);
writeln(‘m=’,m:
4,’n=’n:
4);
lcm:
=m*n;
whilen<>0do
begin
temp:
=mmodn;
m:
=n;
n:
=temp;
end;
lcm:
=lcmdivm;
writeln(‘gcd=’,m:
4,’lcm=’,lcm:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计基础 第四章 程序设计 基础 第四
![提示](https://static.bingdoc.com/images/bang_tan.gif)