目录

  • 1 计算机基础知识
    • 1.1 计算机概论
    • 1.2 计算机系统的组成
    • 1.3 微型计算机硬件系统
    • 1.4 数制及数的转换
    • 1.5 计算机信息编码
    • 1.6 计算机安全基础
  • 2 操作系统应用基础
    • 2.1 操作系统概述
    • 2.2 几种常见的典型操作系统
    • 2.3 Windows 7的基本操作
    • 2.4 文件和文件夹的管理
    • 2.5 Windows 7的控制面板
    • 2.6 Windows 7的附件
  • 3 Office2010
    • 3.1 Word 2010
      • 3.1.1 字符和段落格式的设置
      • 3.1.2 图文混排
      • 3.1.3 长文档的排版
      • 3.1.4 测试题
    • 3.2 Excel 2010
      • 3.2.1 测试题
    • 3.3 PowerPoint 2010
      • 3.3.1 测试题
  • 4 计算机网络
    • 4.1 计算机网络的发展
    • 4.2 计算机网络系统的拓扑结构
    • 4.3 Internet简介
    • 4.4 局域网
    • 4.5 网络的实际应用
  • 5 多媒体应用基础
    • 5.1 多媒体基础
    • 5.2 图形与图像
    • 5.3 数字音频与视频
    • 5.4 动画制作工具软件Flash
  • 6 数据库基础与Access应用
    • 6.1 数据库系统概述
    • 6.2 数据模型
    • 6.3 关系数据库
    • 6.4 Access 2010系统概述
    • 6.5 创建数据库
    • 6.6 创建数据表
    • 6.7 创建查询
    • 6.8 创建窗体和报表
  • 7 算法与程序设计基础
    • 7.1 程序和程序设计语言
    • 7.2 算法的概念与描述
    • 7.3 结构化程序设计方法
    • 7.4 面向对象的程序设计方法
    • 7.5 Raptor的使用
    • 7.6 Raptor流程图程序设计工具
程序和程序设计语言

程序

程序(program)是计算机可以执行的指令或语句序列。它是用计算机解决现实生活中的一个实际问题而编制的。设计、编制、调试程序的过程称为程序设计。编写程序所用的语言即为程序设计语言,它为程序设计提供了一定的语法和语义,所编写出的程序必须严格遵守它的语法规则,这样编写出来的程序才能被计算机所接受、运行,并产生预期的结果。

指令或语句序列

程序的执行:  就是一条一条执行程序序列中的指令 。举例采用汇编语言实现 y-(2x+3)结果放入y

   mul x,2 → 指令1:乘法mul指令实现x的值乘以2结果放入x变量中

   add x,3 → 指令2:加法add指令实现x的值加2结果放入x变量中

   sub y,x → 指令3:减法sub指令实现y的值减去x的值结果放入y变量中

程序设计语言概述

程序设计语言是生成和开发程序的工具。它是能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。当使用计算机解决问题时,首先将解决问题的方法和步骤按照一定的顺序和规则用程序设计语言描述出来,形成指令序列,然后由计算机执行指令,完成所需的功能。

计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。

机器语言阶段

机器语言是第一代计算机语言。

众所周知,在计算机内部采用二进制表示信息。机器语言(Machine Language)是用二进制代码表示的、计算机能直接识别和执行的一种机器指令的集合。

它是面向机器的语言,是计算机唯一可直接识别的语言。用机器语言编写的程序称为机器语言程序(又称目标程序)。每一条机器指令的格式和含义都是由设计者规定的,并按照这个规定设计制造硬件。一个计算机系统全部机器指令的总和,称之为指令系统。不同类型的计算机的指令系统不同。

机器语言示意图

例如,存在着多至100000种机器语言的指令。以下是一些指令示例:

 指令部份的示例

        0000 代表加载(LOAD)

        0001 代表存储(STORE)

 ...

 暂存器部份的示例

       0000 代表暂存器 A

       0001 代表暂存器 B

...

 存储器部份的示例

000000000000 代表地址为 0 的存储器

000000000001 代表地址为 1 的存储器

000000010000 代表地址为 16 的存储器

100000000000 代表地址为 2^11 的存储器

 

集成示例

0000,0000,000000010000代表 LOAD A,16     表示进行加载16到暂存器A

0000,0001,000000000001代表 LOAD B,1      表示进行加载1到暂存器B

0001,0001,000000010000代表 STORE B,16    表示进行存储16到暂存器B

0001,0001,000000000001代表 STORE B,1     表示进行存储1到暂存器B

主要优点:

机器语言优点是不需要翻译而能够直接被计算机接收和识别,由于计算机能够直接执行机器语言程序,所以其运行速度最快。

主要缺点:

1.大量繁杂琐碎的细节牵制着程序员,使他们不可能有更多的时间和精力去从事创造性的劳动,执行对他们来说更为重要的任务。如确保程序的正确性、高效性;

2.程序员既要驾驭程序设计的全局又要深入每一个局部直到实现的细节,即使智力超群的程序员也常常会顾此失彼,屡出差错,因而所编出的程序可靠性差,且开发周期长;

3.由于用机器语言进行程序设计的思维和表达方式与人们的习惯大相径庭,只有经过较长时间职业训练的程序员才能胜任,使得程序设计曲高和寡;

4.因为它的书面形式全是"密"码,所以可读性差,不便于交流与合作;

5.因为它严重地依赖于具体的计算机,所以可移植性差,重用性差。

简单地说缺点是机器语言通用性极差,用机器指令编制出来的程序可读性差,程序难以修改、交流和维护。这些弊端造成当时的计算机应用未能迅速得到推广。

汇编语言阶段

汇编语言是第二代计算机语言。

为了克服机器语言的缺点,使语言便于记忆和理解,人们采用能反映指令功能的助记符来表达计算机语言,称为汇编语言(Assembly Language)。汇编语言采用助记符比机器语言直观、容易记忆和理解。汇编语言也是面向机器的程序设计语言,每条汇编语言的指令对应了一条机器语言的指令,不同类型的计算机系统一般有不同的汇编语言。

例如,用汇编语言编写的程序如下:

      MOV  AL  10D     // 将十进制数10送往累加器

      SUB   AL  12D     // 从累加器中减去十进制数12

      ……

用汇编语言编写程序比用机器语言要容易得多,但计算机不能直接执行汇编语言程序。必须把它翻译成相应的机器语言程序才能运行。将汇编语言程序翻译成机器语言程序的过程叫做汇编,汇编过程是由计算机运行汇编程序自动完成的,如图所示:

汇编过程示意图

汇编语言指令和机器指令对照图(左侧为机器语言16进制写法,右侧为汇编语言指令)

汇编语言——优点与缺点

在计算机语言系统中,汇编语言仍然列入“低级语言”的范畴,它仍然依赖于计算机的硬件,移植性差。

但汇编语言比起机器语言在很多方面都有优越性,如编写容易、修改方便、阅读简单、程序清楚等,针对计算机硬件而编制的汇编语言程序,能准确地发挥计算机硬件的功能和特长。程序精炼而且质量高,所以至今仍是一种常用的程序设计语言。

汇编语言——应用

70%以上的系统软件是用汇编语言编写的。某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。某些高级绘图程序、视频游戏程序是用汇编语言编写的。

汇编语言是我们理解整个计算机系统的最佳起点和最有效途径。人们经常认为汇编语言的应用范围很小,而忽视它的重要性。其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。所有可编程计算机都向人们提供机器指令,通过机器指令人们能够使用机器的逻辑功能。所有程序,不论用何种语言编制,都必须转成机器指令,运用机器的逻辑功能,其功能才能得以实现。机器的逻辑功能,软件系统功能构筑其上,硬件系统功能运行于下。汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点和最有效途径。

高级语言阶段

高级语言是第三代计算机语言。目前广泛应用的高级语言有多种,如Visual Basic.NET、FORTRAN、C、C++、JAVA及C#等。

机器语言和汇编语言都是面向机器(计算机硬件)的语言(低级语言),受机器硬件的限制,通用性差,也不容易学习,一般只适用于专业人员。人们意识到,应该设计一种语言:它接近于数学语言或自然语言,同时又不依赖于计算机的硬件,编出的程序能在所有的计算机上通用。高级语言(High-Level Language)就是这样的语言。例如,用C语言编写的程序片断如下:

     int i , j , k ;                      /*定义变量 i , j , k*/

     scanf("%d%d" ,&i,&j)            /*输入i , j的值*/

     k=i*j ;                               /*将变量i , j的值相乘,结果赋给变量k*/

     printf("%d",k);                    /*输出求积结果*/

如上例,使用高级语言编写程序时,不需要了解计算机的内部结构,只要告诉计算机“做什么”即可。至于计算机用什么机器指令去完成(即“怎么做”),编程者不需要关心。高级语言是面向用户的。

用高级语言编写的程序即源程序必须翻译成计算机能识别和执行的二进制机器指令,才能被计算机执行。由源程序翻译成的机器语言程序称为目标程序。

例如C语言源程序转换成可执行程序过程分为两步,即编译和连接,翻译过程如图所示:   

编译和连接过程示意图

在上图中,高级语言C语言源程序经过编译后,得到目标程序(.obj),再与库程序连接生成可执行程序(.exe)。

高级语言源程序转换成目标程序有两种方式:解释方式和编译方式。解释方式是把源程序逐句翻译,翻译一句执行一句,边解释边执行。解释程序不产生将被执行的目标程序,而是借助于解释程序直接执行源程序本身。编译方式是首先把源程序翻译成等价的目标程序,然后再执行此目标程序。

高级语言——好处

程序设计语言从机器语言到高级语言的抽象,带来的主要好处是:

高级语言接近算法语言,易学、易掌握,一般工程技术人员只要几周时间的培训就可以胜任程序员的工作;

高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;

高级语言远离机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可移植性好,重用率高;

由于把繁杂琐碎的事务交给了编译程序去做,所以自动化程度高,开发周期短,且程序员得到解脱,可以集中时间和精力去从事对于他们来说更为重要的创造性劳动,以提高程序的质量。

程序设计的基本步骤

在拿到一个需要求解的实际问题之后,怎样才能编写出程序呢?一般应按下图所示的步骤进行:

程序设计的基本步骤示意图

1.提出和分析问题

对于接受的任务要进行认真的分析,研究所给定的条件,分析最后应达到的目标,找出解决问题的规律,选择解题的方法,完成实际问题。

例如兔子繁殖问题。

如果一对兔子每月繁殖一对幼兔,而幼兔在出生满二个月就有生殖能力,试问一对兔子一年能繁殖多少对兔子?

问题分析:

第一个月后即第二个月时,一对兔子变成了两对兔子,其中一对是它本身,另一对是它生下的幼兔。

第三个月时两对兔子变成了三对,其中一对是最初的一对,另一对是它刚生下来的幼兔,第三对是幼兔长成的大兔子。

第四个月时,三对兔子变成了五对,

第五个月时,五对兔子变成了八对,……。

这组数从三个数开始,每个数是两个数的和,按此方法推算,第六个月是13对兔子,第七个月是21对兔子……,这样得到一个数列,人们将这个数列前面加上一项1,成为“裴波那契数列”,即:1,1,2,3,5,8,13…。一对兔子一年能繁殖也就是这个数列的第13项。

从兔子实例中总结归纳规律。规律是每个月的兔子数等于上个月的兔子数加上两个月前的兔子数。

2.确定数学模型

数学模型就是用数学语言描述实际现象的过程。数学模型一般是实际事物的一种数学简化。它常常是以某种意义上接近实际事物的抽象形式存在的,但它和真实的事物有着本质的区别。要描述一个实际现象可以有很多种方式,比如录音,录像,比喻,传言等等。为了使描述更具科学性,逻辑性,客观性和可重复性,人们采用一种普遍认为比较严格的语言来描述各种现象,这种语言就是数学。使用数学语言描述的事物就称为数学模型。

例如:兔子繁殖问题的数学表达:

如果用Fn表示斐波那契数列的第n项,则该数列的各项间的关系为:                                                                              

F1=1

F2=1        

Fn=Fn-1+Fn-2    n≥3

Fn=Fn-1+Fn-2一般称为递推公式。

3.设计算法

设计算法即设计出解题的方法和具体步骤。

例如兔子繁殖问题递推算法。设数列中相邻的3项分别为变量f1、f2和f3,由于中间各项只是为了计算后面的项,因此可以轮换赋值。则有如下递推算法:

(1)f1和f2的初值为1(即第1项和第2项分别为1)。

(2)第3项起,用递推公式计算各项的值,用f1和f2产生后项,即f3 = f1 + f2。

(3)通过递推产生新的f1和f2,即f1 = f2,f2 = f3。

(4)如果未达到规定的第n项,返回步骤2;否则停止计算。输出f3。

4.算法的程序化(编写源程序)

将算法用计算机程序设计语言编写成源程序,对源程序进行编译发现是否没有语法错误和连接错误。例如兔子繁殖问题C语言实现代码如下:

        f2 = f3;

    }

    printf("%ld",f3);#include <stdio.h>

int main()

{

    long f1, f2, f3;

    f1 = 1; f2 = 1;      // 初始条件

    for(int i=3;i<=13;i++)

    {

        f3=f1+f2;     //递推公式

        f1 = f2;

}

C语言编译器能够发现源程序中的编译错误(即语法错误)和连接错误。编译错误通常是编程者违反了C语言的语法规则,如保留字输入错误、大括号不匹配、语句少分号等。连接错误通常由于未定义或未指明要连接的函数,或者函数调用不匹配等。

5.程序调试与运行

运行可执行程序,得到运行结果。能得到运行结果并不意味着程序正确,要对结果进行分析,看它是否合理。不合理要对程序进行调试,即通过上机发现和排除程序中的故障的过程。

常用程序设计语言

迄今为止,各种不同应用的程序设计语言有上百种之多。下面介绍几种有影响的程序设计语言。

1FORTRAN语言

FORTRAN是FORmula TRANslation(公式翻译)的缩写词,它是一种主要用于数值计算的面向过程的程序设计语言。FORTRAN语言的特点是接近数学公式,简单易用。在处理功能上,FORTRAN语言允许复数与双精度实数运算。由于具有程序定义机制和I/O的格式说明,允许逻辑表达式、函数和子例程名作参数传递,扩充了字符处理功能等,因而也能应用于非数值计算领域。此外FORTRAN语言还具有块IF结构、DO循环结构等,使写出的程序趋于结构化。FORTRAN是进行大型科学和工程计算的有力工具.它在巨型机上还广为使用。

FORTRAN语言目前最新的国际标准是FORTRAN2008。随着计算机科学技术的发展,作为科学计算的主流程序设计语言,提供面向对象、向量计算和并行处理功能,已是FORTRAN语言发展的主要趋势。

2BASICVB语言

BASIC是“初学者通用符号指令代码”的英文缩写,它的特点是简单易学。VB(Visual BASIC)语言是微软公司在BASIC基础上开发的一种程序设计语言,它可方便地使用Windows图形用户界面编程,且可调用Windows的许多功能,因此使用相当广泛。

1991年,微软公司推出了Visual Basic1.0。当时引起了很大的轰动。这个连接编程语言和用户界面的进步被称为Tripod(有些时候叫做 Ruby)。许多专家把VB的出现当作是软件开发史上的一个具有划时代意义的事件。在当时,它是第一个“可视”的编程软件。这使得程序员欣喜之极,都尝试在VB的平台上进行软件创作。微软也不失时机地在四年内接连推出 2.0、3.0、4.0 三个版本。并且从 VB 3.0 开始,微软将 Access 的数据库驱动集成到了 VB 中,这使得VB的数据库编程能力大大提高。从VB4.0 开始,VB也引入了面向对象的程序设计思想。VB功能强大,学习简单。而且,VB还引入了“控件”的概念,使得大量已经编好的 VB 程序可以被我们直接拿来使用。

通过几年的发展,它已成为一种专业化的开发语言和环境。用户可用Visual Basic快速创建Windows 程序,并可编写企业水平的客户端/服务器程序及强大的数据库应用程序。

微软开发了一系列由Visual Basic所派生的语言:

例如在微软公司的Office软件(如Word、Excel、Access、PowerPoint)中包含着一种称为VBA(Visual Basic forApplication)的程序设计语言,它是VB的子集,用户可以使用VBA编写程序来扩展()ffice软件的功能。VBA与VB的不同之处在于它没有自己的开发环境,必须寄生于已有的应用程序,即要求有一个宿主程序(如Word)才能开发,也不能创建独立的应用程序(即不能生成.exe可执行文件),所开发出来的程序(称为“宏”)必须由它的宿主程序调用才能运行。

VB程序还可以嵌入在HTML文档中用以扩充网页的功能,这种嵌在HTMI,文档中的小程序称为脚本(Script),脚本是使用VBScript语言(也是VB的子集)编写的,借助脚本HTML文档可以动态修改网页的内容和控制文档的展现,还可以检验用户的输入信息是否正确等,给网页功能的扩展和Web应用的开发提供了很大方便。

2002年开始,微软将.NET Framework与Visual Basic结合而成为Visual Basic.NET(VB.net),重新打造VB,新增许多特性及语法,又将VB推向一个新的高度。最新版本 Visual Basic2012也带将来许多令人期待的新功能。

3Java语言

Java语言是由SUN公司于1995年发布的一种面向对象的、用于网络环境的程序设计语言。Java语言的基本特征是:适用于网络环境编程,具有平台独立性、安全性和稳定性。Java语言受到许多应用领域的重视,取得了快速的发展。大家在浏览web网页时经常会遇到用Java语言编写的应用程序(Java applet)。

此外,它在许多便携式数字设备中也得到了广泛的使用,如很多手机中的软件就是用Java编写的。随着Java芯片、Java OS、Java解释和编译以及Java虚拟机等技术的不断发展,Java语言在软件设计中将发挥更大的作用。

Java语言历史:

1995年5月23日,Java语言诞生。

1996年1月,第一个JDK-JDK1.0诞生。

1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术。

1996年9月,约8.3万个网页应用了JAVA技术来制作。

1997年2月18日,JDK1.1发布。

1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录。

1997年9月,JavaDeveloperConnection社区成员超过十万。

1998年2月,JDK1.1被下载超过2,000,000次。

1998年12月8日,JAVA2企业平台J2EE发布。

1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)。

2000年5月8日,JDK1.3发布。

2000年5月29日,JDK1.4发布。

2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机。

2001年9月24日,J2EE1.3发布。

2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升。

2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0。

2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。

2006年12月,SUN公司发布JRE6.0。

2009年04月20日,甲骨文74亿美元收购Sun。取得java的版权。

2010年9月,JDK7.0已经发布,增加了简单闭包功能。

2011年7月,甲骨文公司发布java7的正式版。

4C语言和C++语言

C语言是1972年至1973年间由AT&T公司Bell实验室的D.M.Ritchie在B语言基础上设计而成的,著名的UNIX操作系统就是用C语言编写的。C语言兼有高级程序设计语言的优点和汇编语言的效率,有效地处理了简洁性和实用性、可移植性和高效性之间的矛盾,语句表达能力强,还具有丰富的数据类型和灵活多样的运算符。因此目前C语言已成功地应用于各个应用领域(特别是编写操作系统和编译程序软件),是当前使用最广泛的通用程序设计语言之一。

C++语言是以C语言为基础发展起来的面向对象程序设计语言,它最先由Bell实验室在20世纪80年代设计并实现。C++语言是对C语言的扩充。由于C++语言既有数据抽象和面向对象能力,运行性能高,又能与C语言相兼容,使得数量巨大的C语言程序能方便地在C++语言环境中得以重用。因而C++语言十分流行,一直是面向对象程序设计的主流语言。

除了以上介绍的几种常用程序语言外,具有影响的程序语言还有LISP语言(适用于符号操作和表处理,主要用于人工智能领域)、PROLOG语言(一种逻辑式编程语言,主要用于人工智能领域)、Ada语言(一种模块化语言,且易于控制并行任务和处理异常情况,在飞行器控制之类的软件中使用)、MATLAB(一种面向向量和矩阵运算的提供数据可视化等功能的数值计算语言,在工业界和学术界很流行)等。

参考资料: