第4章 程序设计基础(答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章程序设计基础
习题
一、选择题
1. A
2.D
3.C
4. A
5. B
6.D
7.A
8.B
9.C 10. B
11. D 12. A 13.B 14.D 15.C
二、简答题
1.结构化程序设计的思想是什么?
答:结构化程序设计的基本思想就是采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构。
2.结构化程序设计的原则是什么?
答:结构化程序设计的原则是:
(1) 使用顺序、选择、循环3种基本控制结构表示程序逻辑。
(2)程序语句组织成容易识别的语句模块,每个模块都是单入口、单出口。
(3)严格控制GOTO语句的使用。
3.结构化程序设计语言采用自顶向下的方法进行程序设计的特点是什么?
答:利用结构化程序设计语言采用自顶向下的方法进行程序设计的特点是:
(1) 问题分解成子问题的结构必须与3种基本程序结构之一相对应。
(2) 问题的划分决定了程序的结构。一方面,子问题的划分决定了这一层次的程序是3种基本结构中的哪一种结构;另一方面,一个问题该如何划分成子问题是灵活的,并不是只有一种分解方法。分解的好坏就决定了设计的质量,也决定了程序的不同结构。
(3) 问题的边界应该清晰明确。只有这样才能精确地解决这些子问题,否则就会模棱两可,无从下手。
4.简述面向对象和结构化程序设计的区别。
答:面向对象是从本质上区别于传统的结构化方法的一种新方法、新思路。它吸收了结构化程序设计的全部优点,同时又考虑到现实世界与计算机之间的关系,认为现实世界是由一系列彼此相关并且能够相互通信的实体组成,这些实体就是面向对象方法中的对象,每个对象都有自己的自然属性和行为特征,而一类相似对象的共性的抽象描述,就是面向对象方法中的核心——类。
5. 从互联网上面搜索选择结构的使用方式。
答案略。
6.简述模块化方法的原理。
模块化方法是一种传统的软件开发方法,该方法通常是将待开发软件划分为一些功能相对独立的模块,模块与模块之间定义相应的接口,各个模块是可以分别单独开发、调试、运行和测试的,然后,再将多个模块组合起来,进行软件的整体测试,从而完成整个软件的开发。
在自上而下、逐步细化的过程中,把复杂问题分解成一个个简单问题的最基本的方法就是模块化,按照功能或层次结构把一个问题划分为几个模块,然后对每个模块做进一步细化。一个复杂的问题可以划分为多个简单问题的组合,这样的划分包括两个方面:一方面是把问题细化为若干模块组成的层次结构;另一方面是把每一个模块的功能进一步细化,分解成为一个个更小的子模块,直到分解成一个个程序语句为止。模块化便于问题的分析,同时也有利于程序设计以及软件工程中的组织与合作,按照模块作为工作划分的依据,各个模块可以独立地进行开发、测试和修改。
7.什么是数据结构?数据的物理结构有哪些?
答:数据结构是指数据元素之间的相互关系的集合,包括了数据的逻辑结构、物理结构以及数据的运算。
数据的物理结构主要有四种,分别是顺序结构、链表结构、索引结构及散列结构。
(1) 顺序结构:是把所有元素存放在一片连续的存储单元中,逻辑上相邻的元素存储在物理位置相邻的存储单元中,由此得到的存储表示称为顺序存储结构。
(2) 链表结构:对逻辑上相邻的元素不要求其物理位置相邻,元素间的逻辑关系通过附设的指针域来表示,由此得到的存储表示称为链式存储结构。
(3) 索引结构:每个数据结构建立索引表,每个数据元素占用表中的一项,每个表项通常包含关键字和地址指针。其中的关键字是能够惟一标志一个数据元素的数据项。
(4) 散列结构:通过构造相应的散列函数,由散列函数的值来确定元素存放的地址。
8.简述冒泡排序的过程。
设有数组A[n+1](n为序列中元素个数),第一趟在序列(A[0]~A[n])中从前往后进行两个元素的比较,如后者小,则交换,比较n-1次;第一趟排序结束,最大元素被交换到A[n]中(即沉底),下一趟排序只要在子序列(A[0]~A[n-1])中进行;如果在某一趟排序中未交换元素,说明子序列已经有序,则不再进行下一趟排序。
三、讨论题
题目已变
1.在进行程序设计时,语言的选择尤为重要,根据你对程序设计语言的了解,谈谈你对程序设计的认识。
答案略。
2.如何才能选择一个好的数据结构进行程序设计。
答案略。