Logo
Section 1 / 11

算法:入门

你将在这节课中学习到算法在解决问题时如何发挥作用。

导入

算法:入门

你将在这节课中学习到算法在解决问题时如何发挥作用。

我们已经接触过算法。通过将问题分解为一系列步骤,我们就能解决任何问题。在编写最终代码之前,可以先用自然语言描述这些步骤,这就是构造算法来解决问题的方法。

...

计算烃类中的分子数量

在接下来的部分中,我们将计算烃类中的分子数量。
注意这个算法。无论使用哪种编程语言,该算法都是相同的,我们可以用 C++ 或 C# 写出同样的程序,尽管语法上会有所不同。但算法的步骤是不变的。让我们先用自然语言来描述这个算法。

该算法如下:

  • 步骤 1:输入并存储烃类的质量、碳原子个数和氢原子个数。

  • 步骤 2:计算并存储一摩尔物质的摩尔质量。

  • 步骤 3:利用上述公式,计算给定质量的烃类中包含的分子数量。

  • 步骤 4:输出输入的存储值和计算结果。

假设算法是横轴(X轴)上的固定值,对于任何编程语言都为1;而语法差异则对应纵轴(Y轴)的变化。那么,不同语言的对应点可能是 (1, 2) 和 (1, 5)。这些点是离散的、独立且相互分离的。

代码 1

来看第一个 Java 程序。若想重新运行代码,请在终端中输入 java main:

No configuration found for ID: e472d07c778a50ce4168d4bc910355fc55dcc76adfc7bea5124c0a738edcb63c

代码 2

来看第二个 Java 程序。若想重新运行代码,请在终端中输入 java main:

No configuration found for ID: bd4d2f1b0affade492e7cc17442db25bd6d3b6e79e34404509e3bd6581c1365a

代码说明

我们希望以科学记数法的形式写出阿伏伽德罗常数:

1double AvogadroNumber = 6.02e23;

输出从 6.019999999999999E23 变为 6.02E23,尽管阿伏伽德罗常数的写法本不应影响结果。第一种情况我们使用了 Java 的 pow() 方法,第二种情况使用了科学记数法。然而,这两种写法的输出结果略有不同。

迭代结构:入口控制与出口控制循环

算法示例:第一部分