主观题(每题10分,共50分)
1. 请分析并优化改写下面的程序代码(可以使用你做熟悉的一种编程语言改写,如果认为不需要改写,请说明理由)
public static bolean isOdd(int n){
whlie( true ){
if( n == 1 )
return true;
else if( n == 1 )
return false;
n = n-2;
}
}
2. 在一个字符串中找到可能的最长的子字符串,该字符串时是由同一个字符组成的(可以使用你做熟悉的一种编程语言改写)
3. 将一个字符串逆序(实现strrev)(可以使用你做熟悉的一种编程语言改写)
4. 假设我们有个使用以下SQL语句建造的表:
CREATE TABLE EMP(
idno char(6),
deptno char(20),
ename char(20),
jop char(20),
sal decimal(7, 2) )
表已经有数据,请用SQL语句完成如下的功能操作;
1) 查询部门号为10、工作岗位是工程师的该部门的平均工资。
2) 将职员JONES提升为部门20的经理,同时工资增加1000元。
3) 选出部门号为10的部门中的所有的工作岗位。
4) 删除id号为‘100512’的员工信息。
5. 一家电影院有20个自动售票机,为了节约成本,20个自动售票机并不是都处于工作状态,他们的工作规则是:
1) 最少有一台自动售票机保持工作状态。
2) 当每一个处于工作状态的自动售票机的排队人数超过3人时,如果当前还有未开启的自动售票机,则开启一台,并马上分流顾客,直到20台自动售票机均开启。(假设顾客会自动寻找当前排队人数最少的自动售票机购买电影票,自动售票机实时知道本机当前的排队人数)
3) 当开启的自动售票机没有人排队时,应关闭该自动售票机,但必须保证有一台自动售票机随时处于开启状态。
请用面向对象设计方法设计,模拟该自动售票机运行系统。要求:
1) 请清楚描述该模拟系统的对象类设计
2) 请清楚描述系统管理方法的伪代码或流程图。也可以采用文字语言,但一定要将该实现流程逻辑描述清楚。