如何解读程序和算法的区别?

发布时间:
2023-08-15 23:36
阅读量:
14

这个算是编程入门(启蒙)的基础概念了,现在很多少儿编程,其实并没有真的在编【程】,而是在【编】程——因为孩子这么小,根本学不会coding,所以算法启蒙是远早于写程序/代码的。

先说下基本概念:

程序是一组指令的集合,用于指导计算机执行特定的任务。它是计算机程序设计的产物,通常由程序员编写。程序告诉计算机如何执行一个特定的任务,包括输入、处理和输出。

算法是一组解决问题的规则和指令。它是一种逻辑上的思考方式,是解决问题的一种方法。算法可以用自然语言、流程图、伪代码等方式来描述,同时也可以用程序来实现。

用一张表来表示两者的区别:

程序算法
定义一组指令的集合,用于指导计算机执行特定的任务一组解决问题的规则和指令
实现方式具体的实现方式解决问题的思考方式
抽象程度较低较高
编写者程序员研究人员
描述方式编程语言自然语言、流程图、伪代码等
依赖关系依赖于具体的编程语言或计算机不依赖于具体的编程语言或计算机
作用实现算法的具体方式程序设计的基础
重要性次重要重要


再来举几个例子,方便题主理解。

我经常对6岁以下的小朋友举【积木】的例子。


假设你要搭积木,那么,

程序——就是搭积木的详细步骤。例如,拿出积木,按照形状和颜色分类,一块一块地搭建,直到构建出你想要的形状。

算法——就是一种将积木按照一定规则组合的方法。你可以选择不同的积木、不同的形状或数量等等,但只要你遵循了规定的步骤,最终会得到一个稳定的、符合你期望的积木结构。


对入门的新手来说,可以大致理解如下:

假设你要煮一锅米饭,那么,

程序——就是煮饭的详细步骤。例如,洗米,加水,煮沸,转小火,焖煮等等。

算法——就是一种将生米煮成熟饭的方法。例如,你可以选择不同的锅、使用不同的水量或火力等等,但只要你遵循了规定的步骤,最终会得到一锅熟饭。


再举个例子:

假设你想在一张纸上画一条直线,那么,

程序——就是画线的详细步骤。例如,拿出一支笔,准备一张纸,画出起点,沿着直线移动,画出终点等等。

算法——就是一种将两个点之间连接的方法。例如,你可以选择不同的笔、使用不同的压力或角度等等,但只要你遵循了规定的步骤,最终会得到一条直线。


简单来说,不需要会写代码,也可以学习算法,算法是一种解决问题的思考方式,不仅可以通过代码来实现,也可以用自然语言、流程图等方式来描述~

END