A-level 计算机科学 2009/AQA/处理和编程技术/编程概念
高级语言通常是面向问题的。这意味着大多数(但不是全部)高级语言被编写来解决特定领域的难题。因此,程序员可以使用许多不同的高级语言 - 互联网上的一些资源列出了超过 2,000 种。这使得选择最合适的语言成为一项艰巨的任务。
程序员可以使用以下几种方法来选择合适的语言:
- 查看语言提供的功能并将其与问题进行比较
- 程序需要与其他现有程序进行交互的程度
- 输入或输出的适宜性以满足用户的需求
- 程序员对特定语言的熟练程度
- 必要的编译器/解释器的成本
- 如果需要,学习新语言需要多长时间
没有程序员可以精通目前市场上所有计算机语言。现有的语言一直在不断升级和添加,新的语言正在开发以应对新情况。
高级语言可以通过它们组织的方式进行分类。这种组织方法被称为范式,其中有几个公认的范式。
命令式是一种必须服从的命令,这就是命令式语言的工作方式。这种语言由计算机将执行的一长串指令组成。只要输入了完全相同的变量,它将始终执行完全相同的过程。变量允许用户控制程序,但它仍然会以类似的方式执行。
命令式语言的一些示例包括
- Fortran - 用于帮助数学和科学产品。
- COBOL(面向商业的通用语言) - 专为处理数据文件而开发,并由强大的搜索和报告创建例程支持。
- BASIC(初学者通用符号指令代码) - 最初是为了让学生创建简单的计算机程序而创建的。近年来,微软从原始语言中派生出 Visual Basic,并将其转向面向对象。
- Java - 近年来,这种语言与互联网和创建在线应用程序相关联,但最初用于为移动电话和传呼机的芯片编程。这种语言允许开发人员创建称为“applet”的独立程序,这些程序无需解释器即可运行。
声明是在做出陈述的地方。在编程语言的上下文中,使用声明式语言,你向计算机提供有关问题领域的事实和规则,这些事实和规则可以被查询以返回数据。
面向对象程序由许多交互对象组成。每个对象都有属性和行为,就像物理对象一样。这种与物理世界的相似性通常用于对现有系统进行建模,或对程序的动作进行理论化。对象类似于过程式程序,它们具有变量、方法和函数。
对象和线性代码段之间的主要区别在于,变量、方法和函数的使用可能存在限制。通过不允许直接访问状态,而是自行执行任何更改,对象可以确保自身状态的一致性。此属性称为对象封装,它是面向对象编程比线性代码更适合复杂问题的首要原因之一。在线性代码中,通常将系统状态存储在一系列全局变量中,这些全局变量可以被程序的任何部分访问。对象封装允许对每个对象进行推理,而不必考虑来自另一个对象中的代码的可能副作用。
对象有两个部分,对象的状态和行为。对象的状态存储在一系列变量中,而行为则在方法和函数中定义。对象由“类”定义。“类”是变量和方法代码的定义。当面向对象程序运行时,内存中只需要一个类的单个副本,但可以创建多个状态集。这些状态集被称为对象,因为编译器、解释器或运行时环境隐藏了对类信息的共享。
当面向对象程序启动时,没有对象,那么对象是如何创建的呢?程序加载器被提供一个初始类加载到内存中,以及一个初始方法来开始处理。第一个方法然后负责创建更多对象,这些对象可能还会创建更多对象。
面向对象程序也适合在对象集合中具有一个或多个并发处理流。
实例化、类、继承、多重继承、多态性。
面向对象编程采用“椅子”和“人”等物理现实生活对象的思想,并将这一概念应用于编程语言。它将“对象”作为基本基础,可以为其分配变量(例如,一个人的姓名、一个人的年龄)和方法(例如,一个用于返回存储在对象中的姓名的调用方法)。然后将这些对象组合在一起以构建程序。
与函数式和面向对象语言形成对比的是,声明式语言(如 prolog)包含关于问题领域的断言,通常以元组的形式出现。语言运行时通常是交互式的,并允许输入查询。然后,语言使用声明来推断答案。
数据结构涉及数据算法和数据重组,用于定义良好的数据库管理系统。
算法是逐步表示,不应用任何特定的逻辑,例如,在添加 3 个数字的程序中,步骤 1 - 开始,步骤 2 - 获取数字 m1、m2、m3、temp。步骤 3 - 获取 m1=1、m2=2、m3=3。步骤 4 - 添加三个数字。步骤 5 - temp=m1+m2+m3(加法的结果值转到 temp)步骤 6 - 打印 temp。步骤 7 - 停止