搜档网
当前位置:搜档网 › 第10章++程序设计基础_习题参考答案

第10章++程序设计基础_习题参考答案

第10章习题参考答案
一、选择题
1.编写程序时,不需要了解计算机内部结构的语言是( C )。
A.机器语言 B.汇编语言
C.高级语言 D.指令系统
2.能够把由高级语言编写的源程序翻译成目标程序的系统软件叫( D )。
A.解释程序 B.汇编程序
C.操作系统 D.编译程序
3.结构化程序设计主要强调的是( B )。
A.程序的规模 B.程序的可读性
C.程序的执行效率 D.程序的可移植性
4.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( D )。
A.调用语句 B.命令 C.口令 D.消息
5.下列程序段的时间复杂度是( A )。
t=i;
i=j;
j=t;
A.O(1) B.O(3) C.O(n) D.O(3n)
6.一位同学用C语言编写了一个程序,编译和连接都通过了,但就是得不到正确结果,那么下列说法正确的是( C )。
A.程序正确,机器有问题 B.程序有语法错误
C.程序有逻辑错误 D.编译程序有错误
二、填空题
1.程序设计的基本步骤是(分析问题,确定数学模型)、(设计算法,画出流程图)、(选择编程工具,按算法编写程序)、(调试程序,分析输出结果)。
2.用高级语言编写的程序称为(源程序),把翻译后的机器语言程序叫做(目标程序)。
3.结构化程序设计的3种基本逻辑结构为顺序、选择和(循环)。
4.面向对象程序设计以(对象)作为程序的主体。
5.在面向对象方法中,信息隐蔽是通过对象的(封装)性来实现的。
6.在最坏情况下,冒泡排序的比较次数为(n(n-1)/2)。
三、问答题
1.什么是程序?什么是程序设计?
程序是计算机指令的集合,这些指令描述了计算机的一系列操作步骤。
使用计算机解决实际问题,通常是先要对问题进行分析并建立数学模型(对数值计算问题)或提出对数据处理的需求(对非数值计算问题),然后进行算法设计,并用某一种程序设计语言编写程序,最后调试程序,使之运行后能产生预期的结果。这个过程称为程序设计。
2.什么是算法?它有何特征?如何描述算法?
计算机解决问题的方法和步骤,就是计算机解题的算法。
算法具有5个特性:有穷性、确定性、有效性、一般要有数据输入、要有结果输出。
描述算法有多种不同的工具:自然语言、流程图、结构化流程图和伪代码等。
3.简述冒泡排序、折半查询的基本思想。
冒泡法排序法是每趟将相邻的两个数两两进行比较,若满足

排序次序,则进行下一次比较,若不满足排序次序,则交换这两个数,直到最后。总的比较次数为n-1次,此时最后的元素为最大数或最小数,此为一趟排序。接着进行第二趟排序,方法同前,只是这次最后一个元素不再参与比较,比较次数为n-2次,依次类推。
作为折半查找的表必须是顺序存储的有序表,即表采用顺序结构存储,表中的元素按关键字值递增(或递减)排列。假设表中的关键字值递增排列,则折半查找的实现方法是:首先取整个有序表的中间元素Am的关键字同给定值x比较,若相等,则查找成功;否则,若Am的关键字小于x,则说明待查元素只可能落在表的后半部分中,接着只要在表的后半部分子表中查找即可;若 Am的关键字大于x,则说明待查元素只可能落在表的前半部分中,接着只要在表的前半部分子表中查找即可。这样,经过一次关键字的比较,就缩小一半的查找空间,重复进行下去,直到找到关键字为x的元素,或者表中没有待查元素(此时查找区间为空)为止。
4.在一档电视节目中,有一个猜商品价格的游戏,竟猜者如在规定的时间内大体猜出某种商品的价格,就可获得该件商品。现有一件商品,其价格在0~8000元之间,采取怎样的策略才能在较短的时间内说出正确(大体上)的答案呢?请设计算法并画出相应的N-S流程图。
采用折半查找的思路,请自行画出N-S流程图。
5.什么是可视化程序设计?它与面向对象程序设计有何区别和联系?
可视化程序设计利用可视化程序设计语言本身所提供的各种工具构造应用程序的各种界面,使得整个界面设计是在“所见即所得”的可视化状态下完成。相对于编写代码方式的程序设计而言,可视化程序设计具有直观形象、方便高效等优点。
可视化程序设计也是基于面向对象的思想,但不需通过编写程序代码的方式来定义类或对象,而是直接利用工具箱中提供的大量界面元素(在Visual Basic中称为控件),在设计应用程序界面时,只需利用鼠标把这些控件对象拖动到窗体的适当位置,再设置它们的属性,就可以设计出所需的应用程序界面。界面设计不需要编写大量代码,底层的一些程序代码由可视化程序设计语言自动生成。

相关主题