搜档网
当前位置:搜档网 › 第六章逻辑式程序设计语言

第六章逻辑式程序设计语言

程序设计语言 习题与答案

第六章习题 P159-161 一、复习题 1、简述自然语言与形式语言的概念以及区别、汇编语言与机器语言的概念及区别。 自然语言是某一社会发展中形成的一种民族语言,而形式语言是进行形式化工作的元语言,它是以数学和数理逻辑为基础的科学语言。用机器指令形式编写的程序称为机器语言,用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。这些使用助记符语言的语言后来就被称之为汇编语言。(P144- P146) 2、试述计算机语言的类型,它们各有什么特点? 1.机器语言,是最低级的语言,由二进制码组成,最早期的程序员通过在纸带上打点来写程序 2.汇编语言,用助记符和地址符代替了二进制码,更易于编写。 3.高级语言,相对于汇编语言又上升了一步,更接近于自然语言,如C语言、Pascal、Java、C#等都是高级语言。(P145-147) 3、列举程序设计语言的几种范型。 程序语言大致分为命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言等范型。(P147-149) 4、简述语言虚拟机。 提示:语言虚拟机是某种语言的解释器。语言虚拟机是建立在硬件和操作系统之上,针对不同的硬件和操作系统有不同的虚拟机,通过语言虚拟机屏蔽掉硬件的差异。这样使得硬件系统能够支持这种语言编写的程序的有效执行。目前最流行的语言虚拟机是Java虚拟机。(P156) 5、计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么? 提示:主要有编译、解释等方式,也有两种方式的混合使用的形式。 编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行程序,也可以理解为用编译器产生可执行程序的动作。编译方式是一次编译,然后执行程序可以反复多次执行。 解释是另一种将高级语言转换为可执行程序的方式。与编译不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。 近来随着网络的发展,为了实现跨平台但同时又保证一定的效率,出现了编译、解释混合的方式,先用伪编译形成效率较高中间代码,再用语言虚拟机进行解释执行,以屏蔽掉硬件的差异。 (P154-157) 6、请画出编译程序的总框图。如果你是一个编译程序的总设计师,设计编译程序时应当考虑哪些问题? 作为一个编译程序的总设计师,首先要深刻理解被编译的源语言其语法及语义;其次,

C语言实验三程序、总结 逻辑运算和选择结构程序设计

实验三逻辑运算和选择结构程序设计 一实验目的 1 掌握C语言表示逻辑量的方法(0代表“假”,1代表“真”); 2 学会正确使用逻辑运算符和逻辑表达式; 3 熟练掌握if语句和switch语句。 二实验内容 1 已知三个整数a,b,c,找出最大值放在max中。 #include main() { 定义整数变量a,b,c,max; 键盘输入3个整数a,b,c; 在a,b中间求出较大数max(如果a>=b,则max=a;否则max=b); c与max比较,如果c>max,则max=c; 输出最大数max; } 根据上面的算法,编写程序;若输入下列数据,分析程序的执行顺序并写出输出结果。 序号输入的3个整数a、b、c输出max 1 1,2,3 max=3 2 1,3,2 max=3 3 2,1,3 max=3 4 2,3,1 max=3 5 3,1,2 max=3 6 3,2,1 max=3 程序如下: #include main() { int a,b,c,max; printf("请输入3个整数:"); scanf("%d,%d,%d",&a,&b,&c); if(a>=b) max=a; else max=b; if(c>max) max=c; printf("max=%d\n",max); } 输出如下:

2 输入某学生的成绩,经处理后给出学生的等级,等级如下: 90分以上(包括90):A 80~90分(包括80):B 70~80分(包括70):C 60~70分(包括60):D 60分以下:E 方法一:用嵌套的if语句 #include "stdio.h" main() { 定义整数变量:成绩score,字符型变量:等级grade; 输入学生成绩score; 如果score>100或score<0,则输出信息:“输入成绩错误!”; 否则 { 如果score>=90,则等级grade='A'; 否则如果score>=80,则等级grade='B'; 否则如果score>=70,则等级grade='C'; 否则如果score>=60,则grade='D'; 否则grade='E'; 输出成绩等级grade; } } 输入测试数据,调试程序。测试数据要覆盖所有路径,注意临界值,例如此题中100分,60分,0分以及小于0和大于100的数据。如果稍不注意就会出现小的程序缺陷。 程序如下: #include main() { int score; char grade; printf("请输入学生成绩:"); scanf("%d",&score); if(score>100||score<0) printf("\n输入成绩错误!\n"); else{ if(score>=90) grade='A'; else if(score>=80) grade='B'; else if(score>=70) grade='C'; else if(score>=60) grade='D'; else grade='E'; printf("\n成绩等级是%c\n",grade); } } 运行结果如下:

逻辑型程序设计语言PROLOG详细教程

逻辑型程序设计语言PROLOG教程 2.3. 1逻辑型程序设计语言PROLOG PROLOG的语句 PROLOG语言只有三种语句,分别称为事实、规则和问题。 1.事实(fact) 格式: <谓词名>(<项表>). 功能一般表示对象的性质或关系。 其中谓词名是以小写英文字母打头的字母、数字、下划线等组成的字符串,项表是以逗号隔开的项序列。 例如: student(john). like( mary ,music). 表示“约翰是学生”和“玛丽喜欢音乐”。 2. 规则(rule) 格式:<谓词名>(<项表>):-<谓词名>(<项表>){,<谓词名>(<项表>)}. 功能: 一般表示对象间的因果关系、蕴含关系或对应关系。 其中“:-”号表示“if”(也可以直接写为if),其左部的谓词是规则的结论(亦称为头),右部的谓词是规则的前提(亦称为体),{}表示零次或多次重复,逗号表示and(逻辑与),即规则的形式是一个逻辑蕴含式。 例如: bird(X):-animal(X),has(X,feather). grandfather(X,Y):-father(X,Z),father(Z,Y). 第一条规则表示“如果X是动物,并且X有羽毛,则X是鸟”;第二条规则就表示“X 是Y的祖父,如果存在Z,X是Z的父亲并且Z又是Y的父亲”。 3.问题(question) 格式: ?-<谓词名>(<项表>){,<谓词名>(<项表>)}. 功能表示用户的询问,它就是程序运行的目标。 例如: ?-student(john). ?-like(mary,X). 2.3. 2 PROLOG程序 PROLOG程序一般由一组事实、规则和问题组成。问题是程序执行的起点,称为程序的目标。 例如下面就是一个PROLOG程序。 likes(bell,sports). likes(mary,music). likes(mary,sports). likes(jane ,smith). friend(john,X):-likes(X,reading),likes(X,music). friend(john,X):-likes(X,sports),likes(X,music). ?-friend(john,Y). 可以看出,这个程序中有四条事实、两条规则和一个问题。其中事实、规则和问题都分

程序设计语言习题与答案

第六章习题 P159-161 复习题 1、简述自然语言与形式语言的概念以及区别、汇编语言与机器语言的概念及区别。 自然语言是某一社会发展中形成 的一种民族语言, 而形式语言是进行形式化工作的元语 言,它是以数学和数理逻辑为基础的科学语言。用机器指令形式编写的程序称为机器语言, 用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。 这些使用助记符语言 的语言后来就被称之为汇编语言。 ( P144- P146 ) 2、试述计算机语言的类型,它们各有什么特点? 1. 机器语言, 写程序 2. 汇编语 言, 3. 高级语 言, 3、列举程序设计语言的几种范型。 程序语言大致分为命令式程序设计语言、 面向对象的程序设计语言、 函数式程序设计语 言和逻辑型程序设计语言等范型。 ( P147-149 ) 4、简述语言虚拟机。 提示: 语言虚拟机是某种语言的解释器。 语言虚拟机是建立在硬件和操作系统之上, 针对不 同的硬件和操作系统有不同的虚拟机, 通过语言虚拟机屏蔽掉硬件的差异。 这样使得硬件系 统能够支持这种语言编写的程序的有效执行。目前最流行的语言虚拟机是 Java 虚拟机。 (P156) 5、计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么? 提示:主要有编译、解释等方式, 也有两种方式的混合使用的形式。 编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行 程序, 也可以理解为用编译器产生可执行程序的动作。 编译方式是一次编译, 然后执行程序 可以反复多次执行。 解释是另一种将高级语言转换为可执行程序的方式。 与编译不同, 解释性语言的程序不 需要编译, 省了道工序, 解释性语言在运行程序的时候才翻译, 每个语句都是执行的时候才 翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。 近来随着网络的发展, 为了实现跨平台但同时又保证一定的效率, 出现了编译、 解释混 合的方式, 先用伪编译形成效率较高中间代码, 再用语言虚拟机进行解释执行, 以屏蔽掉硬 件的差异。 (P154-157) 6、请画出编译程序的总框图。如果你是一个编译程序的总设计师,设计编译程序时应当考 虑哪些问题? 作为一个编译程序的总设计 师,首先要深刻理解被编译的源语言其语法及语义;是最低级的语言, 由二进制码组成, 最早期的程序员通过在纸带上打点来 用助记符和地址符代替了二进制码,更易于编写。 相对于汇编语言又上升了一步,更接近于自然语言,如 C 语言、Pascal 、 P145-147 ) Java 、C#等都是高级语言。 其次,

程序设计语言习题与答案.doc

第六章习题P159-161 一、复习题 1、简述自然语言与形式语言的概念以及区别、汇编语言与机器语言的概念及区别。 自然语言是某一社会发展中形成的一种民族语言,而形式语言是进行形式化工作的元语 言,它是以数学和数理逻辑为基础的科学语言。用机器指令形式编写的程序称为机器语言, 用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。这些使用助记符语言 的语言后来就被称之为汇编语言。(P144- P146 ) 2、试述计算机语言的类型,它们各有什么特点? 1.机器语言,是最低级的语言,由二进制码组成,最早期的程序员通过在纸带上打点来 写程序 2.汇编语言,用助记符和地址符代替了二进制码,更易于编写。 3. 高级语言,相对于汇编语言又上升了一步,更接近于自然语言,如 C 语言、 Pascal 、Java 、 C#等都是高级语言。(P145-147) 3、列举程序设计语言的几种范型。 程序语言大致分为命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语 言和逻辑型程序设计语言等范型。( P147-149 ) 4、简述语言虚拟机。 提示:语言虚拟机是某种语言的解释器。语言虚拟机是建立在硬件和操作系统之上,针对不同的硬件和操作系统有不同的虚拟机,通过语言虚拟机屏蔽掉硬件的差异。这样使得硬件系 统能够支持这种语言编写的程序的有效执行。目前最流行的语言虚拟机是Java 虚拟机。 (P156) 5、计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么? 提示:主要有编译、解释等方式,也有两种方式的混合使用的形式。 编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行 程序,也可以理解为用编译器产生可执行程序的动作。编译方式是一次编译,然后执行程序 可以反复多次执行。 解释是另一种将高级语言转换为可执行程序的方式。与编译不同,解释性语言的程序不 需要编译,省了道工序,解释性语言在运行程序的时候才翻译,每个语句都是执行的时候才 翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。 近来随着网络的发展,为了实现跨平台但同时又保证一定的效率,出现了编译、解释混合的方式,先用伪编译形成效率较高中间代码,再用语言虚拟机进行解释执行,以屏蔽掉硬件的差异。(P154-157) 6、请画出编译程序的总框图。如果你是一个编译程序的总设计师,设计编译程序时应当 考虑哪些问题? 作为一个编译程序的总设计师,首先要深刻理解被编译的源语言其语法及语义;其次,

相关主题