计算机是为人类服务的,那么我们拿餐厅的服务员来做一下比较。比如说你想要一杯水,你可以和服务员说“给我一杯水”
但对计算机就不一样了,你和它说“给我一杯水”,它根本不会搭理你,不是故意无视你,而是它真的不知道怎么做呀。计算机需要程序员输入一条条指令才会动,所以聪明的不是计算机,虽然凭借内部的芯片,让计算机拥有速度可以执行多项任务的智能,但一切智慧的源头都是来自程序员。所以每当程序员要让计算机执行任务时,都必须要给出十分具体,清晰的指令。
对人可以说“what to do”;但对计算机就得是“how to do”了
编程(Programming)
- 是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
程序(program)
- 定义:一组指示计算机或其他具有消息处理能力设备每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。
- 程序是如何解决问题的东西
- 指特定的一系列动作、行动或操作,或一系列指令的集合
- 程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。为实现预期目的而进行操作的一系列语句和指令。
程序设计(programming)
- 程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。专业的程序设计人员常被称为程序员。
算法(Algorithm)
- 如果想让计算机做计算任务,那么就需要将程序员的想法,思维过程用编程语言将步骤一步一步列出来
- 这些步骤就是算法
- 计算机做的都是计算
- 算法是为了解决某个问题的步骤和方法,有多种算法可以解决同一个问题,只不过就看它们的复杂度,选取最优的算法
编程语言:不是与计算机用来和计算机沟通的,而是发出指令的,程序员将自己的思维过程用编程语言列出来,让计算机执行计算,去解决问题
程序的执行有两种方法:解释与编译
-
解释(Python):另一个程序试图去理解你的程序
- 解释性语言拥有特殊的计算能力,容易修改,执行效率会低一点
-
编译(C语言):另一个程序会翻译你的程序去机器语言,变成可直接执行文件,相当于一个翻译器
- 编译性语言效率更快,并且有确定的运算
加深理解:
-
解释性语言就好像吃火锅,边做边吃,编译性语言就是全部菜上来再开吃,因为火锅要边煮边吃,所以效率会低一些
-
但语言本无解释与编译之分,仅凭个人喜好安排,你要是想用编译器就用,想用解释器就用,都是凭靠自己的习惯与喜好
程序设计步骤
分析问题
- 对于接受的任务要进行认真的分析,研究所给定的条件,分析最后应达到的目标,找出解决问题的规律,选择解题的方法,完成实际问题。
设计算法
- 即设计出解题的方法和具体步骤。
编写程序
- 将算法翻译成计算机程序设计语言,对源程序进行编辑、编译和连接。
运行程序,分析结果
- 运行可执行程序,得到运行结果。能得到运行结果并不意味着程序正确,要对结果进行分析,看它是否合理。不合理要对程序进行调试,即通过上机发现和排除程序中的故障的过程。
编写程序文档
- 许多程序是提供给别人使用的,如同正式的产品应当提供产品说明书一样,正式提供给用户使用的程序,必须向用户提供程序说明书。内容应包括:程序名称、程序功能、运行环境、程序的装入和启动、需要输入的数据,以及使用注意事项等。