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。
编译器是一个程序,它接受用高级计算机语言编写的程序,并使用目标计算机的二进制形式生成相同的程序。目标计算机是程序将运行的位置。
如果程序需要在具有不同硬件的目标机器上运行,那么通常需要修改编译器以生成所需的不同的二进制代码。编译器是复杂的程序,并且存在大量的计算机科学知识。此外,