跳转到内容

编程概念:编程范式

来自维基教科书,开放的书籍,为一个开放的世界

试卷 1 - ⇑ 编程基础 ⇑

编程范式 面向过程编程 →


编程范式

[编辑 | 编辑源代码]
范式 - 某事物的典型例子或模式;模式或模型

你应该有编程解决问题的经验。这种经验可能是在诸如 VB.NET、PHP、Python、Java 或 Pascal 等语言中,你应该能够快速理解类似这样的代码会做什么

numBananas = 2
numApples = 5
numFruit = numBananas + numApples

到目前为止,你一直在使用结构化编程技术。看看上面的例子,结构化语言从程序一行一行地执行,从 1 开始,然后是 2,然后是 3。

编程中还有许多其他范式,但在这门课程中,你将学习以下类型

  • 结构化编程技术
  • 函数式编程
  • 逻辑编程
  • 事件驱动编程
  • 面向过程编程
  • 面向对象编程

结构化编程技术

[编辑 | 编辑源代码]

结构化编程技术涉及给你的代码编写结构,这些结构通常涉及在块中编写代码,例如

  • 顺序 - 代码逐行执行
  • 选择 - 分支语句,例如 if..then..else 或 case。
  • 重复 - 迭代语句,例如 for、while、repeat、loop、do、until。

它还涉及将问题分解成更小的问题,直到可以编写执行单个任务的例程。例程对通过参数传递给它们的数据进行操作,这些例程可以重复使用,并且通常打包到库中以节省开发时间。

dim x as integer
x = 7
If x = 2 then
  x = x + 4
else
  x = x - 2
end if

面向过程编程

[编辑 | 编辑源代码]

面向过程编程与结构化编程技术共享相同的特性,它实现过程/子例程来执行通用功能

dim x as integer
x = 7
x = doubleIt(x)
console.writeline(x)

面向对象编程

[编辑 | 编辑源代码]

面向对象编程将结构化编程中使用的技术进一步发展,并将例程及其使用的数据组合到对象中。为对象存储的数据项称为属性,而对这些字段进行操作的例程称为方法

class Building
{
	private int height = 50;

	public int getHeight()
	{
		return height;
	}

	public void demolish()
	{
		System.out.println( "3 .. 2 .. 1 .. BOOM!" );
		height = 0;
	}
}

class Program
{
	public static void main( String[] args )
	{
		Building house1 = new Building();
		Building house2 = new Building();

		house2.demolish();
		System.out.println( "House 1 height = "+house1.getHeight() );
		System.out.println( "House 2 height = "+house2.getHeight() );
	}
}

函数式编程

[编辑 | 编辑源代码]

在函数式编程中,程序定义数学函数。解决问题的方案包括一系列函数调用。没有变量或赋值语句,而是有列表和操纵这些列表的函数。函数式编程语言的一个例子是Haskell

逻辑编程

[编辑 | 编辑源代码]

一个逻辑程序包含一组事实和规则。建立一个关于特定主题的知识库,并且一个推理引擎使用知识库来回答以目标形式提出的查询。逻辑编程通常用于人工智能系统。

事件驱动编程

[编辑 | 编辑源代码]

事件驱动编程指的是标准的 Windows 窗体概念,程序在一个循环中等待,直到发生一个事件(例如,单击一个按钮或按下一个键)。然后,程序运行与该事件相关联的代码,然后返回到其循环,前提是代码没有指示它关闭。

如果发生多个事件,程序会将代码排队,并按事件触发的顺序运行。

练习:编程范式

列出 4 种不同的编程范式

答案


  • 面向过程编程
  • 结构化编程技术
  • 事件驱动编程
  • 面向对象编程

什么是编程范式

答案


模型或模式;模板,定义编程语言如何运作

描述事件驱动语言的工作原理

答案


程序在一个循环中等待,直到发生一个事件(例如,单击一个按钮或按下一个键)。然后,程序运行与该事件相关联的代码,然后返回到其循环,前提是代码没有指示它关闭。

描述你可能期望一个电脑游戏处理的 2 个事件

答案


  • 按钮按下
  • 网络通信,例如有人给你发送消息

描述你可能期望一个文字处理器处理的 2 个事件

答案


  • 键盘输入
  • 鼠标按钮
华夏公益教科书