字体
第(2/6)页
关灯
   存书签 书架管理 返回目录
 中。Turbo C  在启动时, 若

    没有找到配置文件, 则取 TC.EXE 中的缺省值。

    一个程序应包括:

    谭浩强      C 语言程序设计               2001 年 5 月 1 日

    2 程序的灵魂—算法

    ? 对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构(data

    structure)。

    ? 对cāo作的描述。即cāo作步骤,也就是算法(algorithm)。

    Nikiklaus Wirth 提出的公式:

    数据结构+算法=程序

    教材认为:

    程序=算法+数据结构+程序设计方法+语言工具和环境

    这 4 个方面是一个程序涉及人员所应具备的知识。

    本课程的目的是使同学知道怎样编写一个 C 程序,进行编写程序的初步训练,因此,

    只介绍算法的初步知识。

    2.1 算法的概念

    做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。

    ? 计算机算法:计算机能够执行的算法。

    ? 计算机算法可分为两大类:

    ? 数值运算算法:求解数值;

    ? 非数值运算算法:事务管理领域。

    2.2 简单算法举例

    【例 2.1】求 1×2×3×4×5。

    最原始方法:

    步骤 1:先求 1×2,得到结果 2。

    步骤 2:将步骤 1 得到的乘积 2 乘以 3,得到结果 6。

    步骤 3:将 6 再乘以 4,得 24。

    步骤 4:将 24 再乘以 5,得 120。

    这样的算法虽然正确,但太繁。

    改进的算法:

    S1: 使 t=1

    S2: 使 i=2

    S3: 使 t×i,  乘积仍然放在在变量 t 中,可表示为 t×i→t

    S4: 使 i 的值+1,即 i+1→i

    谭浩强      C 语言程序设计               2001 年 5 月 1 日

    S5: 如果 i≤5, 返回重新执行步骤 S3 以及其后的 S4 和 S5;否则,算法结束。

    如果计算 100!只需将 S5:若 i≤5 改成 i≤100 即可。

    如果该求 1×3×5×7×9×11,算法也只需做很少的改动:

    S1: 1→t

    S2: 3→i

    S3: t×i→t

    S4: i+2→t

    S5:若 i≤11,  返回 S3,否则,结束。

    该算法不仅正确,而且是计算机较好的算法,因为计算机是高速运算的自动机器,实现循环

    轻而易举。

    思考:若将 S5 写成:S5:若 i<11, 返回 S3;否则,结束。

    【例 2.2】有 50 个学生,要求将他们之中成绩在 80 分以上者打印出来。

    如果,n表示学生学号,ni表示第个学生学号;g表示学生成绩,gi表示第个学生成绩;

    则算法可表示如下:

    S1: 1→i

    S2: 如果gi≥80,则打印ni和gi,否则不打印

    S3: i+1→i

   
上一页 目录 下一页