跳转到内容

KS3 计算机/编程

来自维基教科书,开放书籍,开放世界


什么是编程?

[编辑 | 编辑源代码]

编程是指为计算机设计和编写一组指令(程序)的过程,这些指令必须用计算机可以理解的语言编写。这可以很简单,比如让机器人玩具画出一个正方形的程序;也可以非常复杂,比如用于预测天气或生成一组排名搜索结果的软件。

编程是一个两步过程

[编辑 | 编辑源代码]

首先,你需要分析问题或系统并设计解决方案。这个过程将使用逻辑推理、分解、抽象和模式来设计算法以解决问题或模拟系统。其次,你需要在计算机上用特定的编程语言表达这些想法。这被称为编码,我们可以将组成程序的指令集称为“代码”。编程为学习计算机科学提供了动力——当计算机按你的要求执行操作时,你会有一种巨大的成就感,因为你编写了使事情发生的必要的一组精确指令。编程还提供了测试想法和立即获得反馈的机会,无论它是否有效。

编程概念

[编辑 | 编辑源代码]

有许多编程概念,包括:

编程语言

[编辑 | 编辑源代码]

计算机硬件只响应二进制(0 和 1)数据加载到内存并被视为程序指令时产生的电子脉冲。作为旁注,这意味着计算机程序是数据,这对某些类型的程序来说是一个重要的概念。然而,仅仅使用二进制 1 和 0 来编写程序不是一个现实的选择,因为它非常耗时且容易出错。出于这个原因,计算机工程师很快开发了编程语言的概念。

编程语言允许程序员使用符号和单词将程序编写为一段文本,使人类更容易理解。在执行程序之前,必须将其从文本翻译成计算机所需的二进制形式。

以下是用 Python 编程语言编写的简单程序示例

print("Hello World");

以及用 C 编程语言编写的同一程序

#include <stdio.h>

int main() {
    printf("Hello, World!");
    return 0;
}

编程语言类型

[编辑 | 编辑源代码]

有很多不同的方法可以对编程语言进行分类。包括:

  • 高级语言与低级语言
  • 解释型与编译型
  • 支持的编程风格(如面向对象、函数式或块状)。语言可以支持多种编程风格。

高级语言与低级语言

[编辑 | 编辑源代码]

当硬件设计师创建 CPU 的控制单元时,他们会决定处理器将支持哪些指令集。这些指令将涵盖诸如算术;控制流(允许程序执行跳转、循环等);以及数据存储和检索等领域。根据处理器的硬件功能,其中一些指令可能会被实现以提供复杂的操作,例如针对多媒体进行优化。

在低级编程中,应用程序程序员可以直接访问在硬件中实现的这些低级命令。但是,程序员通常不会用二进制编写,而是使用宏汇编语言编写。然后使用汇编工具将程序翻译成二进制。以下是一个针对简单 Z80 处理器的示例程序(所有在 ';' 后的文本都是注释):

CR      EQU  $0D          ; carriage return
PROUT   EQU  $xxxx        ; character output routine
;
        LD   HL,MSG        ; Point to message
;
PRLOOP  LD   A,(HL)        ; read byte from message
        AND  A             ; set zero flag from byte read
        RET  Z             ; end of text if zero
        CALL PROUT         ; output char
        INC  HL            ; point to next char
        JR   PRLOOP        ; repeat
;
MSG     DB   "Hello, world!",CR,0
;

如你所见,这不是一种非常友好的方式来编写和维护代码。此示例与之前的“Hello World”示例完全相同,这突出了低级汇编代码与 Python 和 C 等高级语言之间的区别。

解释型与编译型

[编辑 | 编辑源代码]

所有计算机语言都需要一个翻译程序(汇编器、编译器或解释器)将计算机程序翻译成可以在计算机硬件上运行的形式,最终这些形式都是二进制 1 和 0。

编译器是一个程序,它接受用高级计算机语言编写的程序,并使用目标计算机的二进制形式生成相同的程序。目标计算机是程序将运行的位置。

如果程序需要在具有不同硬件的目标机器上运行,那么通常需要修改编译器以生成所需的不同的二进制代码。编译器是复杂的程序,并且存在大量的计算机科学知识。此外,

更多资源

[编辑 | 编辑源代码]

赤脚计算 - 概念 - 编程

华夏公益教科书