标签:开始 计算 代码 思维 空间不足 c# 数值 怎样 索引
1.程序
完成指定功能的指令。
沃斯:程序 = 数据结构 + 算法
程序和软件之间的关系,就类似于生活中博客和书的关系。
计算机语言
人与人之间沟通使用的是自然语言。人与计算机进行沟通就使用的是计算机语言。换句话说,计算机语言就是用来和计算机进行交流的。
2.计算机语言的发展史
计算机语言是从二十世纪40年代开始,大致分为3个阶段:
第一代计算机语言:机器语言
第二代计算机语言:汇编语言
第三代计算机语言:高级语言
机器语言:
机器语言全部都是有0和1组成。可以被计算机直接执行。但是,这样的语言不便于理解和记忆。
机器语言举例:
10101010001010101
补充:关于进制知识
所谓进制,就是逢几进一位。然后需要注意的是,n进制里面是没有n这个数的。
汇编语言:
汇编语言并不比机器语言高级多少。因为汇编语言其实就是机器语言的一种助记符。
汇编语言举例:
例如要计算c = 7+8
START GET 7; 将7送入到累加器
ADD 8; 将8送入到累加器里面
PUT C 将7和8的和推送到C
END STOP;
虽说汇编语言只是一种助记符,但是确实相比机器语言,它的易读性更高
高级语言:
高级语言的话更加接近我们平时所使用的自然语言。
举个例子:
C = 7 + 8
高级语言以1980年代为一个分界点:80年代之前的语言都是结构化语言,80年代之后都是面向对象语言。
使用高级语言写出来的代码,计算机是不能直接执行的。中间需要一个翻译的过程。翻译器有两种:编译器 和 解释器
编译器:一次性将我们写出来的程序转换为二进制。类似于生活中将整本外语书翻译成中文。
解释器:逐行进行解释。类似于同声传译。
相比解释性语言,编译性语言的速度更快。但是解释性语言比编译性语言更加灵活。
常见的编译性语言:C# Java
常见的解释性语言:PHP JavaScript Ruby
编译性语言片段:
int a = 5;
a = “Hello”;错误,因为数据类型不同
解释性语言片段:
Let a = 5;
a = “Hello”;
a = true;
3.程序设计的步骤
编写程序类似于我们的盖楼房,需要先有一定的步骤
(1) 分析问题
我们在进行程序开发之前,首先需要进行的就是分析问题。我们必须明确问题是什么?用户需求是什么?
(2) 确定数据结构和算法
数据结构:怎样将数据存入到计算机里面。
算法:解决问题的方法和步骤
(3) 编制程序
开始敲代码实现具体的功能
(4) 调试问题
我们写出来的代码,99%都是会出现错误的。接下来我们就需要对这些错误进行调试,直至达到预期结果。
一定程度来讲,我们的代码不是写出来的,而是调试出来的。
补充:真正做软件开发的时候的步骤
4.常见的错误类型
(1) 语法错误
这种错误类型是无法通过编译的。这种错误是最容易发现和修改的。
(2) 逻辑错误
这种错误是都符合语法规范,代码能够通过编译,但是逻辑思维有问题,导致不能得到预期的结果。这种错误往往比较难发现
(3) 开发错误
往往是指开发的时候偏离了用户需求
(4) 运行错误
语法,逻辑,开发方向都是正确的,这种错误往往出现于整个程序的算法有问题。这种算法导致内存泄露,存储空间不足等。所以这个时候需要换一个算法
5.算法
所谓算法,就是指解决问题的方法和步骤。
算法可以分为两大类:数值型运算算法和非数字型运算算法
数值型运算算法:求解数值,得到一个数值的答案
非数值型运算算法:往往应用事务的管理领域,比如搜索引擎,增删改查
算法的特性:
一般来讲,算法有5个特点:
(1) 有穷性
一个算法应该包含有限的操作步骤而不能是无限的。
(2) 确定性
算法中的每一个步骤都应该是有意义的,而不应该是含糊的,模棱两可。
(3) 有零个或者多个输入
根据算法的不同,有些算法在实现的过程汇总,需要输入一些原始的数据
(4) 有一个或者多个输出
设计算法的最终目的就是为了解决问题,所以每个算法至少应该有一个或者多个输出。
(5) 有效性
每一个步骤都是能够有效执行的。
标签:开始 计算 代码 思维 空间不足 c# 数值 怎样 索引
原文地址:http://www.cnblogs.com/Nellyyang/p/7827892.html