问题 问答题 论述题

试述西方监督思想。

答案

参考答案:

1.政治原罪思想,政治原罪思想是基于“人性恶”和“权力恶”的假设提出的,“人性恶”假设认为人本身就有贪婪利禄的本性,“权力恶”的假设认为权力具有作恶和滥用的自然本性,权力会产生腐败,不受任何约束的权力必然导致绝对的腐败。人在行使权力的过程中必然会导致权力的滥用,侵犯公民的权利,因此必须建立权力约束机制,对权力的行使进行必要的监督和约束。

2.法治思想,法治监督思想的主要内容包括四个方面:一是服从法律的统治;二是法律面前人人平等,任何人都必须受到法律的约束;三是只有通过制定法律来限制统治者行使权力的边界才能够保护和扩大个人的自由权利;四是防止腐败必须实行权力制约权力,法律制约权力是实现权力制约权力的制度形式。法治主义的监督思想为三权分立制衡理论提供了重要的思想来源,也成为很多国家宪法至上原则和有限政府理论的直接基础,法治主义监督思想所表达的法律至上、法律面前人人平等、服从法律,以法监督,以法制约等主张也成为西方各国监督制度的重要思想基础。

3.自由主义监督思想,自由主义监督思想从限制公共权力的行使范围的角度,探讨对公共权力的约束机制,强调公共权力的行使界限。自由主义的监督思想认为,由于权力的滥用具有不可避免性,因此不仅应该强调对公共权力的行使过程和结果进行监督与约束,还应该从公共权力的源头来防止权力的滥用,即将公共权力的行使限定在最小的范畴之内,以实现对权力的约束。自由主义的监督思想包括古典自由主义的监督思想和新自由主义的监督思想两个方面。古典自由主义的监督思想以政府和市场的关系为出发点,从界定政府角色与职能的角度阐述了其监督主张。其主张“管得最少的政府是最好的政府”,政府只是一种“必要的恶”,应将政府的职能范围限制在最小的范畴,政府只应扮演“守夜人”的角色。新自由主义思想继承并发扬了古典自由主义的思想,摒弃了古典自由主义中不合理的因素,重新审视政府的角色定位,认可国家在维护自由权方面的作用。同时仍然坚持国家权力具有侵犯公意的危险,所以必须对权力的行使进行严格的限制和约束。而对政府权力监督的有效办法就是建立和加强行政系统内部的权力监督,即强化行政监察权的监督作用。自由主义的监督思想从政府与市场的关系,公共权力行使边界的角度,提出其权力约束的主张,对西方国家的监督制度建设产生了重要的影响。

单项选择题
填空题

使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。
(1)完成构造函数,设置数组元素的个数为0,请在注释1之后添加语句。
(2)完成函数AddMember(int n),如果参数n包含在类的数据成员数组中,则返回0,否则把数据写入数组,然后返回1,请在注释2之后添加语句。
(3)完成函数DelMember(int n),如果变量在数据中,则删除该变量,并且返回1,如果不存在,则返回0,请在注释3之后添加语句。
(4)完成成员函数IsInclude(int n)的定义,该函数检查参数n是否在类的数据成员数组array中,如果在,返回1,否则返回0。请在注释4之后添加语句。
注意:除在指定位置添加语句之外,不要改动程序中的其他内容。
试题程序:
#include<iostream.h>
#define MAX_LENGTH 500
class TCArr

public:
TCArr()

//********1********

int AddMember(int n)

for(int i=0;i<length;i++)

//********2********
return 0;

Array[length++]=n;
return 1;

int DelMember(int n)

int i;
for(i=0;i<length;i++)

if(Array[i]==n)

break;


//********3********

for(;i<length-1:i++)

Array[i]=Array[i+1];

kngth--;
return 1;

return 0;

int IsInclude(int n)

for(int i=0;i<length;i++)

//********4********

return 1;


return 0;

private:
int Array[MAX_LENGTH];
int length;//用来记录数组的个数

int main()

TCArr obj;
cout<<obj.AddMember(1)<<end1;
cout<<obj.AddMember(3)<<end1;
cout<<obj.AddMember(8)<<end1;
cout<<obj.AddMember(23)<<end1;
cout<<obj.IsInclude(8)<<end1;
cout<<obj.IsInclude(11)<<end1;
cout<<obj.DelMemloer(3)<<end1;
cout<<obj.DelMember(8)<<end1;
cout<<obj.IsInclude(2)<<end1;
cout<<obj.IsInclude(1)<<end1;
return 0;