计算机程序设计与语言.ppt
《计算机程序设计与语言.ppt》由会员分享,可在线阅读,更多相关《计算机程序设计与语言.ppt(40页珍藏版)》请在三一办公上搜索。
1、1,第四章 计算机程序设计与语言,DNA,它是我们舞蹈的乐章。,2,本章概要,本章介绍计算机程序设计的基本概念,包括模型的建立、算法的设计和表达、计算机程序设计语言、程序的编写、程序的测试、程序文档的建立和程序的维护。通过本章的学习,你将具备计算机程序设计的基本能力,可以利用学到的知识和方法尝试解决很多问题。学完本章,你将能够:了解程序设计的基本步骤;掌握至少两种表达算法的方法;识别简单程序中的控制结构;列出如今流行的编程语言;描述各种编程语言的主要特征。,3,4.1.1 计算机程序,程序是计算机执行任何操作的驱动力,是计算机为完成某一任务所必须执行的一系列指令。除了少量存储在ROM等存储器中
2、的特殊程序外,程序大多以文件的形式存储在磁盘等外存储器上。,4,4.1.2 程序设计步骤,设计一个能解决实际问题的计算机程序需要经过以下几个过程:(1)建立模型:由实际问题的描述抽象出数学模型,即由物理模型到抽象模型,用形式化方法描述现实世界。(2)算法设计:给出解决问题的步骤,即算法。同一个问题可以有各种不同的解决办法,可以从中选取一种最合适的算法。(3)算法表达:选择一种表达算法的工具,对算法进行清晰的表达。(4)编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。(5)程序调试:对编写好的程序进行调试,修改程序中的错误。(6)程序文档编写与程序维护:整理和编写程序文档,以便
3、更好地维护程序。,5,4.2.1 建立模型,模型是对现实系统的一种描述,是现实系统的抽象和简化。模型分为物理模型和数学模型两大类。物理模型的建立:对客观存在的事物进行形象的描述,列出已知的所有物理元素及关系,明确需要解决的问题。所以物理模型也是现实系统的一个简化.数学模型的建立:在物理模型的基础上,忽略其非重要的细节,抓住本质性的元素,对其符号化后,用数学的方法描述出来。,6,4.2.2 算法设计,算法是指为完成某项任务而构造的指令集,简单地说就是解决问题的方法和步骤。,7,4.2.2 算法设计,(1)输入系数a1,b1,c1,a2,b2,c2;(2)计算d=a1b2-a2b1;(3)如果d=
4、0,打印“方程组无解或有无穷组解”,转(7);(4)计算x=(c1b2-c2b1)/d;(5)计算y=(a1c2-a2c1)/d;(6)输出:x,y;(7)输入是否继续解其他方程组的标记s(s=“Y”或s=“N”);(8)如果s=“Y”,转(1);(9)结束。若要解决我们提出的“鸡兔同笼”问题,只要输入计算机已知的信息,如a1=1,b1=1,c1=36,a2=2,b2=4,c2=96,就可以按以上算法计算出结果:x=24,y=12。,8,4.2.2 算法设计,对于算法的评价有许多标准。但基本的标准有两个:一个是时间标准(时间复杂度),一个是空间标准(空间复杂度)。所谓时间标准,简单说来,即执行
5、这个算法需要多少时间,基本的原则是时间越短越好。所谓空间标准,即执行这个算法需要占用多少资源(可以理解为占用了多少计算机存储单元),基本的原则是资源的占用越少越好。但是随着计算机技术的发展,硬件性能不断提高,程序的规模越来越庞大,算法的清晰程度成了一个非常重要的问题。算法的易懂性也是我们衡量一个算法好坏的重要指标。,9,4.2.2 算法设计,设计算法时,还要注意以下几点:(1)通用性。一个算法总是针对某类问题设计的,所以对于求解某类问题中的任何一个问题应该是有效的。(2)确定性。算法中的每个步骤都是确定的,在什么情况下做什么都非常明确,没有含糊不清的地方。(3)有限性。一个算法在执行时,必须经
6、过有限步后停下来,结束算法执行,给出结果,而不能无限地执行下去。,10,4.2.3 算法表达,为了提高表达算法的清晰程度,需要选择一种合适的描述算法的工具。常用的描述工具有:流程图,N-S图,PAD图,伪码等。,11,流程图(也称为程序框图)是最常用的一种表示法,12,PROCEDURE求解二元一次方程组TYPE a1,b1,c1,a2,b2,c2,x,y IS REALTYPE s IS CHAR DO WHILE TRUE/*输入方程组系数 READ a1,b1,c1,a2,b2,c2 d=a1*b2-a2*b1 IF d=0 THEN WRITE 方程组无解或有无穷组解 ELSE/*求方
7、程组的惟一解并输出 BEGIN x=(c1*b2-c2*b1)/d y=(a1*c2-a2*c1)/d WRITE X,Y ENDENDIF,/*控制循环是否结束WRITE若继续循环输入Y,否则输入NREAD SIF S“Y”THENEXITENDIF ENDDO END,伪码表示法好比是算法的注释系统,由编程语言和自然语言混合而成,13,4.3 编写计算机程序,程序的编写就是用程序设计语言把算法程序化。编写程序的基本要求:首先是保证语法上的正确性。然后是保证语义的正确性,也就是通过运行程序,得到我们需要的正确结果。高质量的程序还应体现在以下四个方面:可靠性高、运行速度快、占用存储空间小和易懂
8、性。通常这四个方面不能同时满足,要根据具体情况权衡利弊,兼顾某些方面。在计算机速度越来越快,内存越来越大的今天,程序的易懂性显得更为重要。,14,“顺序控制结构”、“选择控制结构”和“重复控制结构”,15,4.3 编写计算机程序,这三种基本控制结构有以下共同的特点:(1)只有一个入口。(2)只有一个出口。(3)结构内的每一部分都有机会被执行到,也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它。(4)结构内没有死循环(无终止的循环)。,16,4.3 编写计算机程序,2.程序设计风格 程序编码时,保持良好的程序设计风格可以增加程序的可读性。由于影响程序可读性的因素很多,我们这里仅列出
9、几个主要的方面供编程者参考。(1)文档化(documentation)(2)格式化(layout)(3)模块化(modularization),17,4.4 程序的调试与维护,程序调试是为了验证程序正确性而执行程序的过程。调试时需要选择测试数据作为输入,运行程序后看是否会输出预期的结果。如果没有产生正确的结果,程序员必须查找程序中的错误,修改错误,然后再调试修改后的程序。可能要经过多次反复,直到得出满意的结果。所以要求我们根据某些原则选择有代表性的测试数据进行调试,以较少的调试次数,最大可能地发现程序中的错误。,18,4.4.1 黑盒调试法与白盒调试法,对程序进行调试可用两种方法进行一种是把程
10、序看成一个“黑盒子”,调试人员完全不考虑程序内部结构和处理过程,只考虑程序的功能,通过选择一些测试数据,看程序的功能是否都已实现,这就是黑盒调试法。另一种是把程序看成一个打开的盒子,调试人员只关注程序内部的处理细节,通过选择一些测试数据,检查程序中的每个语句或分支是否都能正确执行,这就是白盒调试法。,19,4.4.1 黑盒调试法与白盒调试法,黑盒调试法为了调试程序的各个功能,我们把输入的二元一次方程组的系数分为以下四类,每一类设计一个调试用例。合理的系数:(1)方程组有唯一解:a1=1,b1=1,c1=1,a2=0,b2=1,c2=2(2)方程组无解:a1=1,b1=1,c1=1,a2=1,b
11、2=1,c2=2(3)方程组有无穷解:a1=1,b1=1,c1=1,a2=2,b2=2,c2=2不合理的系数:(4)输入的不全是数值:a1=“a”,b1=5,c1=0,a2=6,b2=8,c2=7选择合理的输入数据是验证程序的功能、性能是否符合设计的要求。选择不合理的输入数据对程序进行调试非常重要,这是对程序可靠性的考验。,20,4.4.1 黑盒调试法与白盒调试法,白盒调试法为了让程序中的每个语句至少执行一次,使每个判断条件取一次真或取一次假,我们选择如下调试用例:(1)d=0,s=“Y”:a1=1,b1=1,c1=1,a2=2,b2=2,c2=2(2)d0,s=“N”:a1=1,b1=0,c
12、1=1,a2=0,b2=1,c2=2这两个例子调试后,使得程序中的每个语句至少执行了一次,每个判断条件分别取了一次“真”和一次“假”。,21,4.4.2 调试的步骤,调试工作先对每个模块进行调试,一般采用白盒调试法保证每个程序模块内部的正确性,然后再把调试后的模块组装在一起进行整体调试,主要调试各模块是否能正常配合工作,使用的方法多采用黑盒调试法。对模块的接口进行调试,适当辅以白盒调试法,以便对主要控制路径进行调试。,22,4.4.3 程序维护和程序文档的编写,我们通常把程序的修改称为程序维护。程序维护一般有三种类型,即改正性维护、适应性维护和完善性维护。程序维护在软件生命周期中占相当重要的地
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 程序设计 语言
链接地址:https://www.31ppt.com/p-6023838.html