软件—程序—算法之间的关系与区别首先,要明白 软件 = 程序+文档 = 数据结构+算法+文档(如右图所示)另外,软件是包含程序的有机集合体,程序是软件的必要元素。任何软件都有可运行的程序,至少一个。比如:操作系统给的工具软件计算器等,很多都只有一个可运行程序。而Office是一个办公软件包,却包含了很多可运行程序...... 严格来说程序指用编程语言编制的完成特定功能的软件.程序从属于软件.软件除包含程序外,一般把各种资料文档等也包括在内。 软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序是软件的一部分。 算法就是程序的灵魂,一个需要实现特定功能的程序,实现它的算法可以有很多种,所以算法的优劣决定着程序的好坏。程序员很熟练的掌握了程序设计语言的语法,进行程序设计,软件开发的时候就是设计好的算法,加上软件工程的 理论才能做出较好的系统。软件是包含程序的有机集合体,程序是软件的必要元素。任何软件都有可运行的程序,至少一个。比如:操作系统给的工具软件,很多都只有一个可运行程序。而Office是一个办公软件包,却包含了很多可运行程序软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序是软件的一部分。 一般一款软件具有起自身的各种各样的功能,而程序一般执行专一的命令。软件一般都是由很多程序组成的,每条程序在其中做着比较固定的工作。软件就好比是工程,程序就好比是工人程序是通过计算机语言写出来的具有许多算法的摸板,是实现软件功能的底层推手(推手的意思可以理解为动力)。所以,程序是软件的内在因子,而软件是一个或多个程序通过编译器编译出来的成品。打个比方,软件是一件衣服,那程序就是材料。软件是由许多能实现某些固定任务的程序的集合也就是说,软件是由许许多多的程序组合而成的。程序是由编程人员通过某种编程语言,编写出来能实现某些固定任务的代码。可这么说,编程人员能过 通过C语言或其他某种语言,编写出一些能实现任务某些固定任务的函数,再把这些函数集合起来,通过编译程序编成软件,也就是我们通常在电脑上用的各种软件了。