基于案例的软件构造教程第三章课后题答案

2.用C、Java等编程语言,(1)定义ADT Stack、ADT Queue、ADT List;(2)编程实现上面定义的ADT;(3)设计测试用例,并用JUnit测试。

class Stack {
	private:
		int stk[N], tt = 0;
	public:
		void push(int x) {
			stk[ ++ tt] = x;
		}
		void pop() {
			tt -- ;
		}
		int top() {
			return stk[tt];
		}
		bool isEmpty() {
			return tt <= 0;
		}
};

class Queue {
	private:
		int q[N], hh = 0, tt = -1;
	public:
		void push(int x) {
			q[ ++ tt] = x;
		}
		void pop() {
			hh ++ ;
		}
		int front() {
			return q[hh];
		}
		bool isEmpty() {
			return hh > tt;
		}
};

class List {
	private:
		int l[N] , siz = 0;
	public:
		int get(int x) {
			return l[x];
		}
		void set(int x,int y) {
			l[x] = y;
		}
		void add(int x) {
			l[ siz++ ] = x;
		}
		void remove(int x) {
			siz--;
			for(int i=x; i<siz; i++) {
				l[i]=l[i+1];
			}
		}
		int size() {
			return siz;
		}
};

4.如何理解软件设计?研究其他工程领域如建筑、电力、桥梁、计算机硬件,它们对设计与制造或建造的区别,讨论软件开发中的设计与编程的差异,以及软件设计与工程设计的异同。

软件设计是根据需求确定每个模块的实现算法以及怎样编写具体的代码,形成软件的具体设计方案,而编程则是实现设计方案的过程。
工程设计,是根据工程的要求,对建设工程所需的技术、经济、资源、环境等条件进行综合分析、论证,编制建设工程设计文件的活动,而软件也可以说是工程的其中一种。

6.为什么说调试是一项智力活动?

因为软件运行出错,往往只是潜在错误的外部表现,而外部表现与内在原因之间常常没有明显的联系,如果要找出真正的原因,排除潜在的错误,不是一件易事,这是一个思维分析的过程。

8.什么是Java的注解?解释JUnit基本注解的含义。

注解:可以理解为代码里的特殊标记,可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。
JUnit基本注解:
@Test:表示标注的方法为一个测试方法。
@Before:使用该注解的方法在每个测试方法执行前都要执行一次。
@After:使用该注解的方法在每个测试方法执行后都要执行一次。
@Runwith:执行测试的运行器。
@Ignore:标记的测试方法在测试中会被忽略。

后面懒得写了 瞎抄别人的了

第四章传送门 ——队友写的

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值