首页 » 技术分享 » 算法与程序设计

算法与程序设计

 

内容:1、简要介绍程序,算法与程序的关系;

           2、了解结构化程序设计;

           3、构建对称方阵。


1、什么是程序?

      所谓程序,就是一组计算机能识别与执行的指令每一条指令使计算机执行特定的操作,用来完成一定的功能。

      计算机的一切操作都是由程序控制的,离开了程序,计算机将一事无成。从这个意义来说,计算机的本质是程序的机器,程序算机的灵魂。


2、程序与算法是什么关系?

     算法是程序的核心。程序是某一算法用计算机程序设计语言的具体实现。事实上,当一个算法使用计算机程序设计语言描述时,就是程序。具体来说,一个算法使用C语言描述,就是C程序。

    程序设计的基本目标是应用算法对问题的原始数据进行处理,从而解决问题,获得所期望的结果。在能实现问题求解的前提下,要求算法运行的时间短,占用系统空间小。 

    而初学者往往把程序设计简单地理解为编写一个程序,这是不全面的。程序设计反映了利用计算机解决问题的全过程,通常先要对问题进行分析并建立数学模型,然后考虑数据的组织方式,设计合适的算法,并用某一种程序设计语言编写程序实现算法。

显然,一个程序包括对数据的描述与对运算操作的描述。

著名计算机科学家尼克劳斯.沃斯就此提出一个公式:

                  数据结构+算法=程序

概述:数据结构是对数据的描述,而算法是对运算操作的描述。


3、结构化程序设计

结构化程序设计的基本要点:

(1)、自顶向下,逐步求精;

(2)、模块化设计;

(3)、结构化编码。

      自顶向下是指对设计求解的问题要有全面的理解,从问题的全局入手,把一个复杂的问题分解成若干个相互独立的子问题,然后对每个子问题再作进一步的分解,如此重复,直到每一个子问题都容易解决为止。

      逐步求精是指程序设计的过程是一个渐进的过程,先把一个子问题用一个程序模块来描述,再把每个模块的功能逐步分解细化为一系列的具体步骤,直至能用某种程序设计语言的基本控制语句来实现。

      逐步求精总是和自顶向下结合使用,将问题求解逐步具体化的过程,一般把逐步求精看作自顶向下设计的具体体现。

      模块化是结构化程序设计的重要原则。所谓的模块化就是把纷繁复杂的主程序按照功能来划分为若干个小程序,用来实现特定的功能。子模块也可以划分为更为详细的子程序,由此便形成了程序的模块化结构


4、结构化程序设计的基本结构

  算法是由一系列操作组成的,这些操作之间的执行次序就是控制结构

  计算机科学家Bohm和Jacopini证明了这样的事实:

  任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种结构组合而成。

 因此,这三种结构是结构化程序设计基本也是必须采用的结构。


ps:本博客内容主要源于杨克昌主编清华大学出版的《计算机常用算法与程序设计案例教程》。    

谢谢关注!!!

      

不忘初心,方得始终!

 

 

                                   

 

     

转载自原文链接, 如需删除请联系管理员。

原文链接:算法与程序设计,转载请注明来源!

0