当前位置:首页 > 科学研究 > 电子编程 > 正文内容

C语言教程02:算法的概念

RonWang1年前 (2023-05-13)电子编程526

算法(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。计算机算法 是用计算机求解一个具体问题或执行特定任务的一组有序的操作步骤(或指令),是构成计算机 程序的核心部分。

瑞士计算机科学家沃思(Nikiklaus Wirth)曾提出一个公式“程序=数据结构+算法”,并因此成为1984年图灵奖得主。  最新这个公式被更新为:“程序=算法+数据结构+程序设计方法+语言工具和环境”,其中,数据结构主要是数据的类型和数据的组织形式,是对程序中数据的描述;算法则是 对程序中操作的描述,也就是操作步骤。

一个程序应该包括两方面的工作内容:一是对数据进行合理的组织,即在程序中要指定 数据的类型和数据的组织形式,即数据结构(Data structure);二是设计解决问题的算法,即操作步骤。

算法的特性

1 有穷性 任何算法都应该在执行有穷步骤之后结束。

2 确定性 算法的每一步骤必须有确切的定义,不能具有二义性。算法中每一步的语义 都应该清晰明了,明确指出应该执行什么操作,如何执行操作。

3 可行性 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。 根据算法编写出来的程序应具有较高的时空效率,执行时间短,不占用过多内存。

4 有零个或多个输入 算法可以有零个或多个输入,用来刻画运算对象的初始情况。

5 有零个或多个输出 一个或多个输出:算法必须具有一个或多个执行结果的输出,用来反映对输入数据 加工后的结果。没有输出的算法是毫无意义的,是一个无效算法。

算法的表示

算法表示的常见方式有以下几种:

1 自然语言表示:易理解和交流,但易产生二义性。

2 伪代码表示:伪代码使用介于自然语言和计算机语言之间的文字和符号来描述算法。

3 程序流程图:用图形符号和文字说明表示数据处理的过程和步骤。

4  N-S 流程图:也称方框图,适于结构化程序设计的算法描述工具。 传统的程序流程图由一些特定意义的图形、流程线及简要的文字说明构成,它能明确地表 示算法的运行过程,是描述算法的良好工具。

版权声明:本文为原创文章,版权归donstudio所有,欢迎分享本文,转载请保留出处!

本文链接:http://www.donstudio.cn/?id=226

相关文章

Books Exploring Arduino

Books Exploring Arduino

Exploring Arduino uses the popular Arduino microcontroller platform as an instrument to teach topics...

Python 适合儿童的编程语言

Python 适合儿童的编程语言

Scratch图形编程优点在于图形化拖拽的方式简化了编程的理解,而C,JAVA,JAVASCRIPT,PYTHON等编程语言相对枯燥复杂,涉及复杂编程语法,变量规则,函数,对象等等,因此直接教授这类编...

C语言教程03:C语言程序结构

一个 C 语言程序由一个固定名称为 main 的主函数和若干个其他函数(可没有)组成。下面通 过几个例题,总结出 C 语言程序的结构特点。在 Dev C++环境下编写的第一个 C 语言如下。例1-1...

电子制作|启程前的入门知识

电子制作|启程前的入门知识

电子制作是一件充满乐趣和成就感的活动,也许在开始时会有一些挑战或者坎坷,慢慢的当你踏入电子制作的世界之后,我相信你肯定再也停不下脚步,本部分电子制作的入门知识将主要围绕:工具、元器件和电路基础三个部分...

Arduino UNO Mp3音乐播放代码

Arduino UNO Mp3音乐播放代码

Arduino UNO Mp3音乐播放代码今天我们将使用Arduino UNO 和SD卡制作音乐播放器。这个播放器不需要添加多余的模块,只需要SD读卡器和Arduino UNO开发板就可以播放音频文件...

C语言调试运行环境Pelles C的安装

C语言调试运行环境Pelles C的安装

C语言调试运行环境之TurboC一文介绍了在32位Windows系统下安装C语言运行环境之TubroC,但是由于TurobC只能在32位系统下运行,导致现在很多Windows10和Windows 11...