程序设计基础1
Bus)。
“数据总线DB”用于传送数据信息。数据总线是双向三态形式
的总线,即他既可以把CPU的数据传送到存储器或I/O接口等其它部
件,也可以将其它部件的数据传送到CU。数据总线的位数是微型计算机的一个重要指标,通常与微处理的字长相一致。例如Intel 8086微
处理器字长16位,其数据总线宽度也是16位。需要指出的是,数据的
指针类型
计算机的性能指标
1. 字长 字长以二进制位为单位,其大小是CPU能够同时处理的数据的
二进制位数,它直接关系到计算机的计算精度、功能和速度。历史 上,苹果机为8位机,IBM PC/XT与286机为16位机,386机与486机 为32位机,后推出的P III 机为64位的高档微机。
2. 运算速度 通常所说的计算机的运算速度(平均运算速度)是指每秒钟所 能执行的指令条数。一般用百万次/秒(MIPS)来描述。 3. 时钟频率(主频) 时钟频率是指CPU在单位时间(秒)内发出的脉冲数。通常, 时钟频率以兆赫(MHz)为单位。时钟频率越高,其运算速度就越 快。 4. 内存容量 内存一般以KB或MB为单位。内存容量反映了内存储器存储数
答: 程序设计的一般过程分为:问题定义,算法设计,程序编制,调 试运行,文档五个步骤。
11 .面向对象程序设计的基本特征是什么? 答: 面向对象程序设计方法是迄今为止最符合人类认识问题思维过程
的方法,这种方法具有四个基本特征:( 1 )抽象,( 2 )封装, ( 3 )继承,( 4 )多态性。 12 .常见高级语言有哪些? 答: 目前的大部分语言都属高级语言,其中使用较多的有 BASIC ( Visual Basic )、 Pascal ( Delphi )、 FORTRAN 、 COBOL 、 C 、 C++ 、 Java 等。 13.解释执行: 由解释器根据输入的数据当场执行而不生成任何的目标程序 编译执行: 先将源代码编译成目标语言(如:机器语言)之后通过连接程序连接到 生成的目标程序进行执行 A、解释程序
据的能力。存储容量越大,其处理数据的范围就越广,并且运算速度 一般也越快。现在的微型计算机内存配置能够达到128MB,甚至更 高。
总线的带宽:指的是单位时间内总线上可传送的数据量。
总线的位宽:总线的位宽指总线能同时传送的数据位数。
总线的工作频率:工作频率越高,总线工作速度越快,总线带宽越 宽。
总线带宽=总线位宽/8×总线工作频率 MB/s
含义是广义的,它可以是真正的数据,也可以是指令代码或状态信 息,有时甚至是一个控制信息,因此,在实际工作中,数据总线上传 送的并不一定仅仅是真正意义上的数据。
“地址总线AB”是专门用来传送地址的,由于地址只能从CPU 传向外部存储器或I/O端口,所以地址总线总是单向三态的,这与数 据总线不同。地址总线的位数决定了CPU可直接寻址的内存空间大 小,比如8位微机的地址总线为16位,则其最大可寻址空间为2^16= 64KB,16位微型机的地址总线为20位,其可寻址空间为2^20=1MB。 一般来说,若地址总线为n位,则可寻址空间为2^n字节。
程序设计基础
1 .简述常用计算机语言及其程序的执行方式? 答: ( 1 )机器语言,是由若干个 0 和 1 ,按照一定的规则组成的代
码串。用机器语言编写的程序叫做目标程序。计算机可直接识别目 标程序。 ( 2 )汇编语言,它不能直接使硬件工作,必须用一套相应的语言处 理程序去翻译为机器语言后,才能使硬件接受并执行。这种语言处 理程序叫做汇编程序。 ( 3 )高级语言,它必须翻译成机器语言程序后,才能在计算机上运 行。根据翻译方式的不同,高级语言源程序的翻译过程可分为解释 方式和编译方式。 2 .算法和程序有什么相同之处,有什么不同之处? 答: 算法是对解决问题步骤的描述。程序是用计算机语言编制的能完 成特定的功能代码。相同:对问题的描述。不同:一个不可执行, 一个可执行。 3 .什么叫时间复杂度? 答: 时间复杂度:依据算法编制成程序后,在计算机上运行时所消耗 的时间。 4 .什么叫空间复杂度? 答: 空间复杂度:依据算法编制为程序后,在计算机中所占存贮空间 的大小。 5 .什么是结构化程序设计的基本思想? 答: 结构化程序设计的基本思想是采用 “ 自顶向下,逐步求精 ” 的程 序设计方法和 “ 单入口单出口 ” 的控制结构。 6 .“ 编译程序 ” 和 “ 解释程序 ” ,有什么区别? 答: 编译是指将用高级语言编写好的程序 ( 又称源程序、源代码 ) ,经 编译程序翻译,形成可由计算机执行的机器指令程序 ( 称为目标程序 ) 的过程。解释是将高级语言编写好的程序逐条解释,翻译成机器指 令并执行的过程。 7 .程序设计的基本过程是什么? 答: 基本过程是:问题描述、算法设计、代码编制以及调试运行。 8 .为什么需要程序的注释? 答: 注释就是一种很好的文档,并不要求计算机理解它们,但可被读 程序的人理解。注释记录程序设计的说明,保证程序的可读性。 9 .程序设计语言的分类有哪些? 答: 程序设计语言分为三类,机器语言、汇编语言和高级语言。 10 .计算机程序设计的一般过程
当 总线空闲(其他器件都以高阻态形式连接在总线上)且一
个器件要与目的器件通信时,发起通信的器件驱动总线,发出地址和
数据。其他以高阻态形式连接在总线上的器件如果收到(或能够收
到)与自己相符的地址信息后,即接收总线上的数据。发送器件完成
通信,将总线让出(输出变为高阻态)。
◆ 总线的分类
按照功能划分,大体上可以分为地址总线和数据总线。有的
给某个语句序列组成的子程序赋于一个标识符。程序中凡是需要 出现这个语句序列的地方,可以简单的写上该子程序的标识符。这样 完成一个操作的子程序称为过程。过程说明。 39个标准标识符 3个标准常量:false、true、maxint 5个标准类型:integer、real、char、boolean、text 2个标准文件:input、output 17个标准函数:abs、arctan、chr、cos、eof、eoln、exp、ln、odd、 ord、pred、round、sin、sqr、sqrt、succ、trunc 12个标准过程:get、new、pack、page、put、read、readln、reset、 rewrite、unpack、write、writeln、
inc(x,n) 等价于 x:=x+n inc(x) 等价于 x:=x+1 ‘abc’不是字符型数据 实型 整型 字符型 布尔型 标准类型 简单数据类型 有序类型 枚举类型 子界类型 用户定义类型 数组类型 集合类型 记录类型 文件类型 数据类型 结构类型
dec(x,n) 等价于 x:=x-n dec(x) 等价于 x:=x-1
◆ 总线的概念
总线是一种内部结构,它是cpu、内存、输入、输出设备传递
信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相
应的接口电路再于总线相连接,从而形成了计算机硬件系统
在计算机系统中,各个部件之间传送信息的公共通路叫总
线,微型计算机是以总线结构来连接各个功能部件的。
◆ 工作原理
优化和存储分配;第四遍扫描做代码生成。 值得一提的是,大多数的编译程序直接产生机器语言的目标代
码,形成可执行的目标文件,但也有的编译程序则先产生汇编语言 一级的符号代码文件,然后再调用汇编程序进行翻译加工处理,最 后产生可执行的机器语言目标文件。
在实际应用中,对于需要经常使用的有大量计算的大型题目,采 用招待速度较快的编译型的高级语言较好,虽然编译过程本身较为 复杂,但一旦形成目标文件,以后可多次使用。相反,对于小型题 目或计算简单不太费机时的题目,则多选用解释型的会话式高级语 言,如BASIC,这样可以大大缩短编程及调试的时间。 连接程序(linker)
系统中,数据总线和地址总线是复用的,即总线在某些时刻出现的信
号表示数据而另一些时刻表示地址;而有的系统是分开的。51系列单
片机的地址总线和数据总线是复用的,而一般PC中的总线则是分开
的。
系统总线包含有三种不同功能的总线,即数据总线DB(Data
Bus)、地址总线AB(Address
Bus)和控制总线CB(Control
说明部分
类型说明; VAR 变量说明; FUNCTION 函数说明; PROCEDURE 过程说明; BEGIN 语句;
语句部分
语句; …… 语句 END. 35个保留字 AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DOWNTO,ELSE,END,FILE,FOR,FU
函数 在某些程序中,如果一些具有相同功能的程序段在程序的不同位置 多次出现,一般将这些程序段,单独写成子程序。 引入子程序后,可以将较复杂的问题分解成若干较小易处理的子问 题,且更重要的是程序结构清晰、层次分明,增强程序可读性。 前面学过一些标准函数(如abs(x)、sqr(x)等和标准过程(如 readln、write等)。 过程
所谓解释程序是高级语言翻译程序的一种,它将源语言(如 BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一 句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻 一句,不产生全文的翻译文本。这种工作方式非常适合于人通过终 端设备与计算机会话,如在终端上打一条命令或语句,解释程序就 立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行 结果反映到终端,从终端把命令打入后,就能立即得到计算结果。 这的确是很方便的,很适合于一些小型机的计算问题。但解释程序 执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释 并提交执行这一组语句,这就造成很大浪费。 B、编译程序
这是一类很重要的语言处理程序,它把高级语言(如FORTRAN、 COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机 器语言的目标程序,然后再让计算机去执行这个目标程序,得到计 算结果。
编译程序工作时,先分析,后综合,从而得到目标程序。所谓分 析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配 和代码生成。为了完成这些分析综合任务,编译程序采用对源程序 进行多次扫描的办法,每次扫描集中完成一项或几项任务,也有一 项任务分散到几次扫描去完成的。下面举一个四遍扫描的例子:第 一遍扫描做词法分析;第二遍扫描做语法分析;第三遍扫描做代码