首页 理论教育 C语言程序开发过程-C语言程序设计教程

C语言程序开发过程-C语言程序设计教程

时间:2023-10-27 理论教育 版权反馈
【摘要】:例如,第3章中的“图3-3双分支结构流程图”改为N-S流程图,如图1-5所示。图1-5双分支结构的N-S流程图例1-4在高度为100m的铁塔上平抛一物体,初速度v0=20m/s,求其运动轨迹。编码完成后,要进行检查,发现并修改那些由于疏忽大意而造成的错误。

C语言程序开发过程-C语言程序设计教程

1.分析问题、确定算法

首先要对问题进行分析,找出合适的算法。

所谓算法是指解决一个问题而采取的方法与步骤。一个算法应当具有以下五个特性。

①可行性:算法中指定的操作,都可以通过已经验证过可以实现的基本运算执行有限次后实现。

②确定性:算法中的每一条指令必须有确切的含义,不能有二义性,对于相同的输入必能得出相同的执行结果。

③有穷性:一个算法包含的操作步骤应该是有限的。也就是说,在执行若干个操作步骤之后,算法将结束,而且每一步都在合理的时间内完成。

④有零个或多个输入:在计算机上实现的算法是用来处理数据对象的,在大多数情况下,这些数据对象需要通过输入来得到。

⑤有一个或多个输出:算法的目地是为了求解,这些解只有通过输出才能得到。

解决一个问题的算法往往不是唯一的,要找出效率高而且比较简单的算法,然后将算法用流程图、伪代码和自然语言等方式表示出来。

●伪代码是一种近似于高级语言但又不受语法约束的语言描述方式。

自然语言是用文字描述解决一个问题所采用算法的方法和步骤。

●流程图也是描述算法的好工具,一般的流程图由图1-4所示的几种基本图形组成。

图1-4 一般的流程图所用的几种基本图形

由这些基本图形中的框和流程线组成的流程图来表示算法,形象直观,简单方便。但是,这种流程图对于流程线的走向没有任何限制,可以任意转向,在描述复杂的算法时所占篇幅较多,费时费力且不易阅读。

1973年美国学者I.纳斯(I.Nassi)和B.施内德曼(B.Shneiderman)提出了一种新的流程图形式,这种流程图完全去掉了流程线,算法的每一步都用一个矩形框来描述,把一个个矩形框按执行的顺序连接起来就是一个完整的算法描述。这种流程图用两位学者名字的第一个英文字母命名,称为N-S流程图。

例如,第3章中的“图3-3双分支结构流程图”改为N-S流程图,如图1-5所示。

下面举例说明如何建立模型和确定算法。(www.xing528.com)

图1-5 双分支结构的N-S流程图

例1-4 在高度为100m的铁塔上平抛一物体,初速度v0=20m/s,求其运动轨迹(以0.1s为时间间隔,直到物体落到地面为止)。

分析:设坐标原点在塔底,物体初始位置是x=0,y=100。物体在时刻t的位置是:

这两个公式就是该问题的数学模型。求出物体运动轨迹的算法是按以上公式,每隔0.1 s计算一组x、y的值,直到y=0为止。

用自然语言描述算法:

①定义变量、赋初值。

②计算t=0.1时物体的坐标x、y并输出,然后t增加0.1。

③判断:如果y>0,则重复步骤②,否则结束。

用流程图描述算法,如图1-6所示。

2.编写程序

按照已确定的算法编写程序称为编码。编码完成后,要进行检查,发现并修改那些由于疏忽大意而造成的错误

3.上机调试

上机调试包括程序的编辑、编译、连接和运行,用“试验数据”进行测试,发现并排除程序中的错误。有人说“三分编程七分调试”,说明程序调试不仅重要,而且有时工作量也是很大的。

图1-6 求平抛物体运动轨迹流程图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈