算法:入门
你将在这节课中学习到算法在解决问题时如何发挥作用。
我们已经接触过算法。通过将问题分解为一系列步骤,我们就能解决任何问题。在编写最终代码之前,可以先用自然语言描述这些步骤,这就是构造算法来解决问题的方法。
计算烃类中的分子数量
在接下来的部分中,我们将计算烃类中的分子数量。
注意这个算法。无论使用哪种编程语言,该算法都是相同的,我们可以用 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() 方法,第二种情况使用了科学记数法。然而,这两种写法的输出结果略有不同。