第1章习题 T4,6. 补充习题: 1)简述程序设计语言的发展简史。 2)解释算法、数据结构的含义。 3)程序语言的使用代价有哪几种量度。 4)程序语言一般有哪几种计算模型,各有和 特点
第1章 习题 T4,6. 补充习题: 1)简述程序设计语言的发展简史。 2)解释算法、数据结构的含义。 3)程序语言的使用代价有哪几种量度。 4)程序语言一般有哪几种计算模型,各有和 特点
T4 分析:该题的意思说明一种具体的程序设计语言中规 定了一定的语法规则和基本的语句(指令),那么利 用这种语言编写程序,必须符合该语言的语法规则 并且只能使用它的基本指令集。 (a)2 x-a a m- a X- a L2 m c- a if m>0 then goto L2 x- a L1:b=b-1 ifb>0 then goto LI X-X L2:x=x+1 b=b-1 C-C L4:d=d-1 ifb>0 then goto L if c>0 then goto L2 L3 halt ifb>0 then goto LI n=n-1 ifn >0 then goto L3 halt ifd>0 then goto L- halt
⚫ T4 ⚫ 分析:该题的意思说明一种具体的程序设计语言中规 定了一定的语法规则和基本的语句(指令),那么利 用这种语言编写程序,必须符合该语言的语法规则, 并且只能使用它的基本指令集。 (a).1 x = a L: x = x - 1 b = b - 1 if b > 0 then goto L halt (a).2 x = a c = a L1: b = b - 1 L2: x = x +1 c = c –1 if c > 0 then goto L2 if b > 0 then goto L1 halt (a).3 x = a m = a L1: b = b - 1 L2: x = x +1 m = m –1 if m> 0 then goto L2 if b > 0 then goto L1 y = c n = c L4: d = d - 1 L3: y = y +1 n = n - 1 if n > 0 then goto L3 if d > 0 then goto L4 halt
简单的扩充 如dima[10] abbb a t c a+1 sub x, y) cal I sub(a, b)
⚫ 简单的扩充: ⚫ 如 dim a[10] a[0] = 1 b = a + c b = a + 1 b = ‘a’ sub(x,y) call sub(a,b)
T6 ●如++x;x++;x=x+1;x+=1; ●优点:增加了程序开发的灵活性。 缺点:1)降低了程序的可读性; 2)多种语义,使得翻译较为复杂; 3)容易出错,如y=x++;与y=+x
⚫ T6 ⚫ 如 ++x; x++; x = x+1; x+=1; ⚫ 优点: 增加了程序开发的灵活性。 ⚫ 缺点: 1)降低了程序的可读性; 2)多种语义,使得翻译较为复杂; 3)容易出错,如 y=x++; 与 y=++x;
1)简述程序设计语言的发展简史。 从语言的角度考虑:程序设计语言经历了:机器 语言一>汇编语言>高级语言的发展 ●其中:机器语言是一种二进制代码语言,它能够 被计算机直接识别和运行,无须翻译。但它的缺 点是:可读性极差;容易出错;可维护性差。 ●汇编语言:是一种助记符语言,其源程序计算机 不能直接识别和运行,需要经过汇编生成机器语 言程序后才能运行。它的优点是:相对于机器语 言而言,可读性,可维护性,可写性都有所提高。 它的特点是:一条汇编语言指令对应着一条机器 语言指令
1)简述程序设计语言的发展简史。 ⚫ 从语言的角度考虑:程序设计语言经历了:机器 语言—>汇编语言—>高级语言的发展。 ⚫ 其中:机器语言是一种二进制代码语言,它能够 被计算机直接识别和运行,无须翻译。但它的缺 点是:可读性极差;容易出错;可维护性差。 ⚫ 汇编语言:是一种助记符语言,其源程序计算机 不能直接识别和运行,需要经过汇编生成机器语 言程序后才能运行。它的优点是:相对于机器语 言而言,可读性,可维护性,可写性都有所提高。 它的特点是:一条汇编语言指令对应着一条机器 语言指令
●高级语言:是一种类似于自然语言的程序设计 语言。其源程序也不能在计算机上直接运行, 需要经过翻译成目标代码程序(或中间代码程 序经解释)而执行。它的优点是:相对于汇编 语言而言,可读性,可维护性,可写性都有很 大的提高 机器语言 从对程序的要求角度 低级语言 而言经历了“简单性” 汇编语言 到“复杂性”;编程强 翻译 调“技巧性”到“可读 高级语言执行语言 性”;追求实现的“高 效性”到“可维护性” 和强调“可移植性”的
⚫ 高级语言:是一种类似于自然语言的程序设计 语言。其源程序也不能在计算机上直接运行, 需要经过翻译成目标代码程序(或中间代码程 序经解释)而执行。它的优点是:相对于汇编 语言而言,可读性,可维护性,可写性都有很 大的提高。 机器语言 高级语言 汇编语言 }低级语言 执行语言 翻译 ⚫从对程序的要求角度 而言经历了 “简单性” 到“复杂性”;编程强 调“技巧性”到“可读 性”;追求实现的“高 效性”到“可维护性” 和强调“可移植性”的 演变与发展
●2)解释算法、数据结构的含义。 ●程序=算法+数据结构。其中: ●算法:应用问题的处理需要一定的求解过程 对求解过程的描述称之为算法,它通常包含 些操作。 数据结构:是指操作所需要的相关数据的组织 和在存储器中的存储形式
⚫ 2)解释算法、数据结构的含义。 ⚫ 程序= 算法 + 数据结构。其中: ⚫ 算法:应用问题的处理需要一定的求解过程, 对求解过程的描述称之为算法,它通常包含一 些操作。 ⚫ 数据结构:是指操作所需要的相关数据的组织 和在存储器中的存储形式
4)程序语言的使用代价有哪几种量度? 程序执行代价:运行时占用系统资源代价。 如今,不是关心的主要问题。 翻译的代价:翻译的速度和占用系统资源代 价,对于教学性的语言较为强调。 程序创建、测试和使用的代价:程序员设计、 编码、调试、修改、集成、测试和使用时投 入的总时间与工作量。这是目前最关心的代 价 程序维护的代价:在程序的使用过程中对程 序反复修改、修复和升级扩充所花费的代价。 这是目前最关心的代价之一
4)程序语言的使用代价有哪几种量度? – 程序执行代价:运行时占用系统资源代价。 如今,不是关心的主要问题。 – 翻译的代价:翻译的速度和占用系统资源代 价,对于教学性的语言较为强调。 – 程序创建、测试和使用的代价:程序员设计、 编码、调试、修改、集成、测试和使用时投 入的总时间与工作量。这是目前最关心的代 价之一。 – 程序维护的代价:在程序的使用过程中对程 序反复修改、修复和升级扩充所花费的代价。 这是目前最关心的代价之一
●5)程序语言一般有哪几种计算模型,各有何 特点? 命令式语言(过程式语言):是命令驱动和 面向语句的语言。程序由一系列的语句组成 每条语句执行的结果使得计算机改变一个或 多个存储单元的值,即进入一个新的状态。 该计算模型的优点是:效率较高。主要的应 用领域为:科学计算、系统设计、商业应用 工业控制等领域
⚫ 5)程序语言一般有哪几种计算模型,各有何 特点? –命令式语言(过程式语言):是命令驱动和 面向语句的语言。程序由一系列的语句组成。 每条语句执行的结果使得计算机改变一个或 多个存储单元的值,即进入一个新的状态。 该计算模型的优点是:效率较高。主要的应 用领域为:科学计算、系统设计、商业应用、 工业控制等领域
应用式语言(函数式语言):以数据为驱动, 强调程序(函数)执行的初始状态和处理(输 出)结果。不是将计算看成连续的机器状态的 转换,而是看成为了得到答案而应用于数据的 连续的函数转换。该计算模型可看成是一个以 原始数据作为输入,对内存进行操作以产生答 案的透镜。该模型的优点是:较好的灵活性和 可靠性。主要应用领域是:人工智能
⚫ 应用式语言(函数式语言):以数据为驱动, 强调程序(函数)执行的初始状态和处理(输 出)结果。不是将计算看成连续的机器状态的 转换,而是看成为了得到答案而应用于数据的 连续的函数转换。该计算模型可看成是一个以 原始数据作为输入,对内存进行操作以产生答 案的透镜。该模型的优点是:较好的灵活性和 可靠性。主要应用领域是:人工智能