Logo
Section 1 / 4

编程

了解编程、算法和伪代码。

导入

编程

了解编程、算法和伪代码。

你想学习编程吗?你做出了一个很好的决定。编程是一项非常出色的技能,而且非常有趣。它可以用来开发下一代应用程序,操控树莓派或Arduino,编写最新的爆款游戏——还有无数其他用途。事实上,一旦你学会了编程,唯一限制你的就是你的想象力。

在本章中,我们将简要回顾编程的历史,了解计算机程序的本质,然后介绍我们将用于学习编程的JavaScript编程语言。

我们还将立即投入实践,开始编写编程代码,用JavaScript写出两个程序!

最后,我们会通过一些编程挑战来检验你新掌握的技能——就像本书每一章结尾都会做的那样。

编程入门

编程 的本质是让计算机按照我们的意愿执行任务。一个计算机程序本质上是一系列指令,告诉计算机如何完成某项任务。不幸的是,计算机并不使用和我们一样的语言。

例如,我们不能简单地写下“把圆的颜色改为蓝色”,就指望计算机能理解。编程语言就起到了中介的作用:它是一种既能被计算机理解,也能被人类理解的语言。

学习编程有点像学习一门外语,只不过计算机对语法的要求非常严格。
我们必须确保每个细节都准确无误,语法必须完全正确。计算机功能强大,可以完成令人惊叹的任务,但只要一个括号位置不对,程序就会崩溃!

编写程序本质上就是为计算机写一组精确的指令。问题在于,这些指令必须极其精确。哪怕有一点模糊,计算机执行的结果可能与我们的预期完全不同——甚至可能导致程序崩溃。

算法

如今,“算法”这个词频繁出现。我们可能听说过“Instagram算法”或“谷歌搜索算法”。那么,算法到底是什么?
“算法”一词源自波斯数学家阿尔·花拉子米(Al-Khwarizmi)的名字,他是第一位撰写代数教科书的人,并习惯用逐步分解的方法来解释自己的方法。

这使得“算法”一词被用来描述任何一种分步骤进行的方法。每一步都应该清晰明确,知道该做什么以及每一步的作用是什么。例如,以下是一个泡一杯茶的算法:

  1. 把水烧开。
  2. 拿一个杯子。
  3. 拿一个茶包。
  4. 把茶包放进杯子里。
  5. 当水壶烧开后,将水倒入杯中。
  6. 静置两分钟让茶浸泡。
  7. 把茶包从杯中取出。
  8. 拿一些牛奶。
  9. 将牛奶加入茶中。
  10. 搅拌茶。

先加奶还是后加奶:
有些人可能不同意“等茶做好后再加牛奶”的建议。如果你认为应该先加牛奶,我们尊重你的选择,尽管我们的建议有所不同。

这些指令看起来简单直接,但实际上包含了不少假设,有些步骤也略显模糊。比如,怎样才能烧开水?杯子和茶包从哪里拿?该倒多少水进杯子里?这些问题都没有回答。通常这没问题,因为大多数人熟悉泡茶的过程,但如果有人从未见过泡茶,可能会难以理解其中某些步骤。

伪代码

伪代码 是一种模拟代码,用来说明程序的功能,而无需关心具体编程语言的复杂细节。它仍然遵循程序的结构和规范,使用明确的命令,但不涉及特定语言的语法。

例如,“在屏幕上显示一条消息”这条指令,在伪代码中可以写作 display(message),而在Python语言中则写作 print(message)。注意,Python代码使用了非常具体的 print 命令,这是它用来在屏幕上输出信息的方式。其他语言虽然使用的命令不同,但基本功能类似。

下面是一个用伪代码描述泡茶过程的例子:

1boil(water, 250ml) in kettle 2get(cup) from cupboard 3get(teabag) from box 4put(teabag) in cup 5when(kettle boils) 6{ pour(water, 250ml) in cup } 7wait(2 mins) 8remove(teabag) from cup 9get(milk, 20ml) 10add(milk, 20ml) to tea 11stir(tea)

一个熟悉某种编程语言的程序员,应该能够根据伪代码理解逻辑,并将其转换为实际的编程语言。伪代码在编写代码之前用于规划程序结构非常有用,也便于使用不同编程语言的程序员之间交流想法。

课程简介

编程与JavaScript的发展历程