问题 材料分析题

高鑫、陈大宝都是随父母进城打工插到上海某校八年级就读的“农村娃”。开始,不少同学瞧不起他们。一学期后,高鑫同学的身边总围着许多同学。原来,她对那些对她不屑一顾的同学,总是笑脸相迎,主动打招呼。班里清洁区她主动承包,并省下伙食费多次向希望工程捐助。而陈大宝同学总觉得处处不如人,因此寡言少语,不积极参加班级活动,常常独来独往,甚至对同学的帮助持怀疑态度,老师和同学们都看在眼里,急在心里。

(1)两位同学的结果说明了什么?

________________________________________________________________________________________________________________________________________________________________________________________

(2)产生两种不同结果的原因在哪里?

________________________________________________________________________________________________________________________________________________________________________________________

(3)如果你是陈大宝的同学,你将怎样帮助他克服自卑,走出困惑?

________________________________________________________________________________________________________________________________________________________________________________________

答案

(1)真诚、友好、善良、宽容、负责任等优良品德终究可以赢得同学的信任。

(2)在与同学交往中,如果封闭自己,只会使我们的“人际关系树轮”萎缩,使自己陷入孤立;如果保持积极开放的心态,就会使友谊之树枝繁叶茂,人生才能更精彩。

(3)主动与他交往,让他感受集体的温暖;鼓励他多参加集体活动,帮助他培养勇气与信心;及时发现他的特长,满足他成功的愿望,让他尝试成功的滋味,克服自卑心理等。

填空题

阅读下列说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。

【说明】

某学校在学生毕业时要求对其成绩进行综合评定,学生的综合成绩(GPA)由其课程加权平均成绩(Wg)与附加分(Ag)构成,即GPA=Wg+Ag。

设一个学生共修了n门课程,则其加权平均成绩(Wg)定义如下:

其中,gradei、Ci分别表示该学生第i门课程的百分制成绩及学分。

学生可以通过参加社会活动或学科竞赛获得附加分(Ag)。学生参加社会活动所得的活动分(Apoints)是直接给出的,而竞赛分(Awards)则由下式计算(一个学生最多可参加m项学科竞赛):

其中,li和Si分别表示学生所参加学科竞赛的级别和成绩。

对于社会活动和学科竞赛都不参加的学生,其附加分按活动分为0计算。

下面的程序实现计算学生综合成绩的功能,每个学生的基本信息由抽象类Student描述,包括学号(stuNo)、姓名(name)、课程成绩学分(grades)和综合成绩(GPA)等,参加社会活动的学生由类ActStudent描述,其活动分由Apoints表示,参加学科竞赛的学生由类CmpStudent描述,其各项竞赛的成绩信息由awards表示。

【C++代码】

#include

#include

using namespace std;

const int n=5; /*课程数*/

const int m=2; /*竞赛项目数*/

class Student{

protected:

int stuNo;string name;

double GPA; /*综合成绩*/

int(*grades)[2]; /*各门课程成绩和学分*/

public:

Student(const int stuNo,const string&name,int grades[][2]){

this->stuNo=stuNo;this->name=name;this->grades=grades;

}

Virtual~Student(){}

int getstuNo(){/*实现略*/}

string getName(){/*实现略*/}

____(1)____;

double computeWg(){

int totalGrades=0,totalCredits=0:

for(int i=0;i<N;i++){

totalGrades+=grades[i][0]*grades[i][1];totalGredits+=grades[i][1];

}

return GPA=(double)totalGrades/totalCredits;

}

};

class ActStudent;public Student{

int Apoints;

public;

ActStudent(const int stuNo,const string&name,int gs[][2],int Apoints)

:____(2)____{

this->Apoints=Apoints:

}

double getGPA(){return GPA=____(3)____;}

};

class CmpStudent:public Student{

private:

int(*awards)[2];

public:

cmpstudent(const int stuNo,const string&name,int gs[][2],int awards[][2])

:____(4)____{ this->award=award;}

double getGPA()f

int Awards=0;

for(int i=0;i<M;i++){

Awards+=awards[i][0]*awards[i][1]:

}

Return GPA=____(5)____;

}

};

int main()

{ //以计算3个学生的综合成绩为例进行测试

int g1[][2]={{80,3},{90,2},{95,3},{85,4},{86,3}},

g2[][2]={{60,3},{60,2),{60,3},{60,4},{65,3}},

g3[][2]={{80,3},(90,2},{70,3},{65,4},{75,3}}; //课程成绩

int c3[][2]={{2,3},{3,3)}; //竞赛成绩

Student*student[3]={

new ActStudent(101,”John”,g1,3), //3为活动分

new ActStudent(102,”Zhang”,g2,0),

new ActStudent(103,”Li”,g3,c3),

};

//输出每个学生的综合成绩

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

cout<<____(6)____<<end1;

delete*student;

return 0;

}

单项选择题