问题 单项选择题

某建筑工程设计院是一家具有30多年历史、资质很高的设计单位。在设计院里,员工对组织具有很高的忠诚度,很少有离职的员工。近几年来,在激烈的市场竞争中,设计院在技术和服务等各方面出现了相对滞后,老客户的投诉率也有所增加,业绩逐年有明显下降,2008年招聘上来的院长在设计院改制之际,借助外部专家的力量对本设计院进行了变革。首先,营造良好的氛围,鼓励员工进行技术革新和服务创新,并设立了院长业绩创新奖;其次,对组织结构进行了调整,将核心业务重组,分为两个设计所和一个咨询部;最后,打破了资历制,制定出以员工绩效为标准的薪酬制度,重奖有突出贡献者。经过一年多运行,组织变革已初见成效。

根据上述的描述,该设计院进行的变革属于( )。

A.以技术为中心的变革

B.以结构为中心的变革

C.以人员为中心的变革

D.以系统为中心的变革

答案

参考答案:D

解析: 根据题中所述,可以看出该院院长是以系统为中心进行变革的。组织是一个相互依存、相互作用的系统,牵一发而动全局。无论是人员变革,还是结构变革或是技术变革,都不是孤立的,都会影响到其他方面,因此,必须以系统观的观点来考虑整个组织的变革,在变革某一因素时,必须注意到它对其他因素的影响,考虑其他因素作何种相应的变革。

问答题

【说明】 C++语言本身不提供对数组下标越界的判断。为了解决这一问题,在程序6中定义了相应的类模板,使得对厂任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息。 #include<iostream.h> template <class T> class Array; template <class T> class ArrayBody { friend (1) T* tpBody; int iRows, iColumns, iCurrentRow; ArrayBody (int iRsz, int iCsz) { tpBody = (2) iRows = iRsz; iColumns =iCsz; iCurrentRow =-1; } public: T& operator[] (int j) { bool row_error, column_error; row_error=column_error=false; try{ if (iCurrentRow < 0 || iCurrentRow >=iRows) row_error=true; if (j < 0 || j >=iColumns) column_error=true; if ( row_error==true || column_error == true) (3) } catch (char) { if (row_error==true) cerr << "行下标越界[" << iCurrentRow << "] "; if (column_error== true ) cerr << "列下标越界[" <<j << "]"; cout << "\n"; } return tpBody[iCurrentRow * iColumns +j]; }; ~ArrayBody ( ) { delete[] tpBody; } }; template <class T> class Array { ArrayBody<T> tBody; public: ArrayBody<T> & operator[] (int i) { (4) return tBody; } Array (int iRsz, int iCsz) : (5) {} }; void main() { Array<int>a1(10,20); Array<double>a2(3,5); int b1; double b2; b1=a1[-5][10]; //有越界提示:行下标越界[-5] b1=a1[10][15]; //有越界提示:行下标越界[10] b1=a1[1][4]; //没有越界提示 b2=a2[2][6]; //有越界提示:列下标越界[6] b2=s2[10][20]; //有越界提示:行下标越界[10]列下标越界[20] b2=a2[1][4]; //没有越界提示 }

选择题