问题 问答题

简述蔡元培的“五育并举”思想。

答案

参考答案:在哲学思想上他受康德二元论的影响,把世界分割为现象世界和实体世界两部分。从这种世界观出发,在教育上也分为两部分,一部分属于现象世界,包括军国民教育、实利主义教育、公民道德教育;一部分属于实体世界,包括世界观教育与美育。以后,他又说普通教育的目的,应该“养成健全的人格”,所谓“养成健全的人格”,内分四育,即:体育,智育,德育,美育。这四者都很重要。军国民教育,即体育,一方面是当时形势,需要举国强兵,另一方面又是养成完全人格所必需,主张完全人格,首在教育。实利主义教育,也就是智育,包括各种普通文化科学知识,认为教育不仅要传授知识技能,而且要训练学生思维细密,对事物有科学态度。公民道德教育,就是德育。认为德育就是完足人格之本,德育内容要以自由、平等、亲爱为主,体现了他要以资产阶级道德观念培养学生的愿望。美育特别被蔡元培所重视,认为美育有特殊意义,进行美育课程可采用多种形式。他提出的德、智、体、美平均发展的教育方针符合当时历史的要求,在教育上是一种重大的进步,是对中国的半殖民地半封建教育宗旨的否定。在人才培养上,这几方面的教育要求不一。他提出的教育方针的思想基础是唯心主义的,在具体解释各种教育,如德育、美育时不免掺杂某些唯心主义的色彩。

问答题

【说明】 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]; //没有越界提示 }

单项选择题