搜档网
当前位置:搜档网 › 计算机程序设计-学生试卷统计

计算机程序设计-学生试卷统计

计算机程序设计-学生试卷统计
计算机程序设计-学生试卷统计

计算机程序设计

(C语言)

课程设计报告

题目:学生试卷分数统计程序学院:计算机科学与工程学院专业:电子信息工程

班级:140406

姓名:

指导教师:

设计日期:2015年7月7日

一.选题背景

二.设计思想

三.主要解决问题方法及技术关键四.流程图

五.程序清单

六.总结及设计结果说明

一.选题背景

学习完C语言程序设计课程之后,综合利用C语言,达到综合练习的课程要求。通过课程设计这一环节实现学生试卷分数统计程序这个题目。该程序是为老师设计的对试卷进行分析和研究的一个程序,通过对试卷进行全面的分析,进而减轻教师研究成绩时的负担。此程序能够提高解决计算机问题的综合能力,从而达到课程要求。

二.设计思想

对于本程序的设计,首先就需要建立一个结构体类型student,其中包含了4个成员——number(学号),score[0](平时成绩),score[1](期末成绩),score[2](总评成绩)。另外,还需要用到枚举定义FLAG。主函数中,定义了sum用以存放总人数,max 来存放期末考试成绩的及格率最高分,min则为最低分。其次,我们自定义几个函数,包括accept_data ()输入函数、show_data()输出函数、draw()打印直方图函数、count()计算各种成绩信息函数、show_data2()打印各种成绩信息函数。最终通过主函数,依次调用这些函数,从而达到题目要求。三.主要解决问题方法及技术关键

1.首先解决数据的输入问题,这个过程中我们要定

义一个结构体变量STUDENT来保存人员的各种信息,定义一个数组grade[]来保存平时成绩、期末成绩和总评成绩。通过scanf这个格式化输入函数来接收学号、平时成绩、和期末成绩。通过while 和if来判断输入的成绩是否在1~100之间,最终将输入的信息保存在结构体中。

2.解决数据的输出问题,这个过程中我们需要使用

printf函数来输出信息。通过for与printf函数的组合来依次输出结构体和数组中的数据。

3.解决数据的计算问题

(1)解决求最大值与最小值问题:首先定义一个中间变量,通过在for循环之中加入if语句,

如果结构体中的数值大于中间变量的值,那

么就将结构体的值赋给中间变量。依次类推(2)求平均值:定义一个整型变量,通过两个for循环求出总分,并将之赋给之前定义的

整型变量,然后除以人数就是分数的平均

值。求标准差也是这样。

4. 解决直方图的绘制问题:首先定义一个screen[]

数组,通过这个数组来绘制由星号组成的直方图。首先我们先画x轴和y轴,通过for循环来

实现。然后通过两个for循环分别控制直方图的

X轴方向星号的数量与Y轴方向星号的数量,最

终使用printf打印数组中的星号,进而实现模拟

直方图的绘制。

四.流程图

主流程图:

主函数

Accept-date()读入若干数据Show-date()

显示数据

Draw()

画分部直方图

Show-date2()

显示数据2

Count()

计算

在被调函数中,只有第一个输入数据函

数需要返回sum,即人数值,其他的

函数都没有返回值。其流程图如下:

开始

输入所有学

生的数据

输出所有学生的序号、平

时成绩、期末成绩和总评

成绩

画出模拟直方图

计算期末考试成绩的及格率最高分、

最低分以及平时、期末和总评成绩的

平均分和标准差

显示期末考试成绩的及

格率最高分、最低分以

及平时、期末和总评成

绩的平均分和标准差

第一个被调函作用是输入所需数据,其流程图如图所示:

开始

i=1,sum=0输入计算总评成绩的

比例

i

输入学号

i=-1否

输入平时成绩和期末成

绩是

输入的数值是否在

0~100之间否计算总评成绩temp ,把总评成绩存入数组,并计算分数

把分数存入数

存入grade[10]

=100存入grade[temp+1]

!=100

结束

第二个函数是输出所有学生的序号、平时成绩、期末成绩和总评成绩函数说明,其流程图如图所示:

第三个函数为计算期末考试成绩的最高分、最低分以及平时、期末和总评成绩的平均分和标准差的函数,其流程图如图所示:

开始输出所有学号、平

时、期末和总评成绩输出所有学号输出分数的本部情

结束开始设初值max=min=stu[0].score[1]如果

stu[0].score[1]>=60

则p_sum++p_sum=0stu[0].score[1]>

max

max=stu[0].score[1]

是stu[0].score[1]

是计算及格率pass

将平时、期末、总评的初值设为0

求各个成绩的总分、平均分、标准差

标准差初值设为0

计算标准差

第四个函数是输出期末及格率、最高分、最低分以及平时、期末总评的平均分和标准差的额函数。其流程图如图所示:

第五个函数是画模拟直方图的函数。其流程图如右图所示:

开始

输出期末及格率、最高

分、最低分

j=0

j<3输出对应平均分和标准

j++

结束

否开始

定义字符型数组screen

寻找分数段中人数最多的计算显示时应该输出的*的

个数将输出的所有点清零画X 轴,画Y 轴

定义k 控制输出的列,由x 控制输出

的行分数不为0,赋值为*号,每个分数段每

行对应4个*号

i=0输出空格

输出相应数量的*号否是

输出分数段

四.程序清单

/*学生试卷分数统计*/

/*制作人:鞠超*/

#include"stdio.h"

#include"string.h"

#include"conio.h"

#include"math.h"

#define SIZE 300

typedef struct student //学生数据结构体声明

{

int number; //学号

int score[3]; //平时、期末和总评成绩

}STUDENT;

typedef enum boolen //枚举类型定义

{

False,True

}FLAG;

int accept_data(STUDENT stu[],int grade[]); //输入数据函数声明void show_data(STUDENT stu[],int sum,int grade[]); //输出所有学生的序号、平时成绩、

//期末成绩和总评成绩函数说明

void draw(int grade[]);

void count(int * max,int * min,double * pass,double ave[],double f[],STUDENT stu[],int sum);

void show_data2(int max,int min,double pass,double ave[],double f[]);

//显示期末考试成绩的及格率、最高分、最低分以及平时、期末和总评成绩的

//平均分和标准差函数说明

int main()

{

int sum,max,min; //数据定义

double pass=0;

int grade[11]={0};

STUDENT stu[SIZE];

double ave[SIZE],f[SIZE];

printf("******************************************************** ************\n");

printf("************************学生试卷分数统计系统

************************\n");

printf("******************************************************** ************\n");

sum=accept_data(stu,grade); //输入数据(sum 为总人数)

show_data(stu,sum,grade);

//输出所有学生的序号、平时成绩、期末成绩和总评成绩

draw(grade); //画模拟直方图

count(&max,&min,&pass,ave,f,stu,sum); //计算考试成绩的及格率、最高分、最低分

//以及平时、期末和总评成绩的平均分和标准差

show_data2(max,min,pass,ave,f);

//显示期末考试成绩的最高分,最低分以及平时、期末和总评成绩的平均分和标准差

return 0;

}

int accept_data(STUDENT stu[],int grade[])

{

int i=0,sum=0,temp,a1,a2;

char f;

FLAG flag;

printf("\n请输入计算总评成绩时使用平时成绩与期末成绩的比例,用整数表示-");

scanf("%d%d",&a1,&a2); //接收计算总评成绩的比例

while(i

{

printf("\n请输入四位数字的学号:");

scanf("%d",&stu[i].number); //输入学号

printf("\n请输入学生的平时成绩和期末成绩:");

flag=True;

while(flag==True) //重复读入两个成绩,读到正确的为止

{

scanf("%d%d",&stu[i].score[0],&stu[i].score[1]);

if(stu[i].score[0]<=100&&stu[i].score[0]>=0&&stu[i].score[1]<=100&&stu[i].score

[1]>=0)

flag=False;

else

printf("\n\007 数据错误!请在次输入学生的平时成绩和期末成绩:");

//输入两个成绩不合理

}

temp=(int)(1.0 * a1/100 * stu[i].score[0]+1.0*a2/100 * stu[i].score[1]);

//计算总评成绩

stu[i].score[2]=temp; //总评成绩存入数组

temp=(stu[i].score[1])/10; //计算分数段

if(temp==10) //分数段存入数组

grade[10]++; //100分存入数组元素grade[10]

else

grade[temp+1]++;

//90-99分存入数组元素grade[9]

//80-89分存入数组元素grade[8]

//70-79分存入数组元素grade[9],依次类推

i++;

printf("是否继续添加数据?Y/N\n");

getchar();

f=getchar();

if(f=='n'||f=='N')

{

sum=i; //sum记录的是输入的人数

break;

}

}

return sum; //返回人数}

void show_data(STUDENT stu[],int sum,int grade[]) //输出所有学号、平时成绩、期末和总评成绩

{

int i,j;

printf("━━━━━━━━━━━━━━━━━━━━\n");

printf("┃学号┃平时成绩┃期末成绩┃总评成绩┃\n");

printf("━━━━━━━━━━━━━━━━━━━━\n");

for(i=0;i

{

printf("┃%4d ┃",stu[i].number); //输出所有学号

for(j=0;j<3;j++) //输出三个成绩

printf(" %4d ┃",stu[i].score[j]);

printf("\n");

printf("━━━━━━━━━━━━━━━━━━━━\n");

}

printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");

printf("┃分数段┃0~10┃10~20┃20~30┃30~40┃40~50┃50~60┃60~70┃70~80┃80~90┃90—");

printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");

printf("┃人数┃");

for(i=1;i<=10;i++) //输出分数的分布情况

printf(" %d ┃",grade[i]);

printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");

}

void count (int * max,int * min,double * pass,double ave[],double f[],STUDENT stu[],int sum)

{

int i,j,p_sum=0;

int total[3];

double temp;

* max= * min=stu[0].score[1]; //设卷面成绩的最高分、最低分初值

if(stu[0].score[1]>=60)

p_sum++;

for(i=1;i

{

if((stu[i].score[1])> * max) //若高于最高分,将其覆盖

* max=stu[i].score[1];

if((stu[i].score[1])< * min) //若低于最低分,将其覆盖

* min=stu[i].score[1];

if((stu[i].score[1])>=60) //计算及格的人数p_sum++;

}

* pass=(1.0 * p_sum/sum) * 100; //计算及格率

for(i=0;i<=2;i++) //平时,期末,总评的初值设置为0

total[i]=0;

for(j=0;j<3;j++) //求平时,期末,总评三个总分

for(i=0;i

{

total[j]=total[j]+stu[i].score[j];

}

for(j=0;j<3;j++) //求平时、期末、总评3个平均分

{

ave[j]=total[j]/sum;

}

for(j=0;j<3;j++) //求平时、期末、总评3个标准差

{

f[j]=0; //标准差初值设置为0

for(i=0;i

{

temp=stu[i].score[j]-ave[j];

f[j]=f[j]+temp*temp;

}

f[j]=sqrt(fabs(f[j])/sum);

}

}

void show_data2(int max,int min,double pass,double ave[],double f[])

{ //输出期末及格率、最高分、最低分、以及平时、期末、总评的平均分和标准差int j;

char str1[3][20]={"平时成绩平均分","期末成绩平均分","总评成绩平均分"};

char str2[3][20]={"平时成绩标准差","期末成绩标准差","总评成绩标准差"};

printf("\n 及格率=%6.2f%% 最高分=%d 最低分=%d\n",pass,max,min);

for(j=0;j<3;j++) //输出期末及格率、最高分、最低分

printf("\n %s=%6.2f %s=%6.2f\n",str1[j],ave[j],str2[j],f[j]);

} //循环三

次分别输出平时、期末、总评的平均分和标准差

void draw(int grade[]) //输出模拟直方图

{

int i,j,max,k,temp,x;

char screen[22][44]; //定义字符型数组,用来表示屏幕的输出

printf("\n模拟直方图\n");

max=0;

for(i=1;i<=10;i++) //通过for循环,找出最大值

if(grade[i]>max)

max=grade[i];

for(i=1;i<=10;i++)

{

grade[i]=(int)(20.0 * grade[i]/max+0.5); //使最大值保持在最高点

}

for(i=0;i<21;i++)

for(j=0;j<41;j++)

screen[i][j]=0; //初始化屏幕数组

//画X轴------------------

for(i=0;i<41;i++)

screen[21][i]='-';

screen[21][41]='X';

//画Y轴||||||||||||||||||

screen[0][0]='Y';

for(i=1;i<=21;i++)

screen[i][0]='|';

k=1;

for(x=1;x<=10;x++,k=k+4) //每个方快宽度为四个*,通过循环打印所有的分数段的人数

{

temp=grade[x];

if(temp!=0) //分数段人数不为零,开始打印直方图

for(i=1;i<=temp;i++) //控制高度

{

for(j=1;j<=4;j++) //控制宽度* ** *** ****

{

screen[20-i+1][j+k]='*'; //打印*号

}

}

}

for(i=0;i<=21;i++)

{

for(j=0;j<=41;j++)

if(screen[i][j]!=0)

printf("%c",screen[i][j]); //输出直方图

else

printf(" ");

printf("\n");

}

printf(" 0 10 20 30 40 50 60 70 80 90 100\n");

//输出X轴坐标

}

五.总结及设计结果说明

第一个错误:

该错误是位于自定义函数accept-data处缺少一个分号。改正方法:在int accept_data(STUDENT stu[],int grade[])后面加一个分号。

第二个错误:

该错误是定义min和max时缺少一个逗号

改正方法:在min与max之间加入一个逗号。

正确结果如下:

通过这次课程设计,增加了我们对C 语言的了解,发现程序设计的好处,不但巩固对C 语言的掌握,同时对计算机也有一定的掌握。通过计算机解决实际问题,并且通过寻找、解决以上的错误让我了解VC++的应用,让我感慨颇多。让我在这次的课程设计中发现了

许多自己的不足,同时发现自己的知识量远远不够。同时我也总结出以下几点经验:

(1)再设计一个模块之前,要简单的构想以下总页面的显示情况。

(2)要有一个构想之后再编写程序,而不是先编写后构想。

(3)习惯利用定义函数去实现某个功能,这样的习惯会对我们以后的编程带来方便。

计算机程序设计实践

江苏科技大学 课程实践报告 设计题目: 计算机程序设计实践(VC++) 设计时间: 2015. 3.9 至2015. 3.16 学院: 数理学院 专业班级: 13级信息与计算科学1班 学生姓名: 陈明敏学号1340501101 指导老师: 华伟 2015年5月1日

一、 实践任务 任务一:试建立一个类SP ,求(,)123k k k k f n k n =++++ ,另有辅助函数power ()用 于求 n m 。具体要求如下。 (1)私有数据成员。 Int n ,k :存放公式中n 和k 的值。 (2)公有成员函数。 ①SP(int n1,int k1):构造函数,初始化成员数据n 和k 。 ②int power(int m,int n):求n m 。 ③int fun():求公式的累加和。 ④void show():输出求得的结果。 二、源程序清单 #include class SP{ private: int n,k; public: SP(int n1,int k1); int power(int m,int n); int fun(); void show (); }; SP::SP(int n1,int k1){ n=n1; k=k1; } int SP::power(int m,int n){ int a=m; for(int i=1;i

如何对学生考试成绩进行数据分析

一、原始分和标准分的定义原始分是考试后直接从卷面上得到的分数。标准分是指通过原始分转化而得到的一种地位量数,它反映考生成绩在全体考生成 绩中的位置。因此,无论试题难或易,无论整体原始 分偏高或偏低,整体标准分都没有什么变化。二、标 准分的计算根据教育统计学的原理,标准分是原Z 始分与平均分的离差以标准差为单位的分数,用公式 表示为:其中:为该次考试中考生个人所Z=(X-A)/SX 得的原始分;为该次考试中全体考生的平均分;为AS 该次考试分数的标准差。通过转换后得到的标准分Z 在一般情况下都带小数,而且会出现负值,实际使用 时不太方便,所以还要对分数进行线性变换(变换 TZ ):这就是我们通常所说的标准分。这种 T=500+100Z 标准分的平均值为,也就是说,如果某考生的标准500 分为,则该生的成绩处于此次考试的中间位置。500标准分有如下性质:⑴平均值为,标准差为;⑵01 分数之间等距,可以作加减运算;⑶原始分转换为标 准分是线性转换,不会改变原始分的分布形状,也不 改变原来分数的位置次序。三、使用标准分比使用原

始分有什么好处?根据教育统计学的原理,原始分转换成标准分的意义可以从下面的比较中反映出来: ⑴单个标准分能够反映考生成绩在全体考生成绩中的 位置,而单个原始分则不能。例如,某考生某科的原 始成绩为分,无法说明其这科成绩究竟如何,因为 85 这与试题的难度有关,与总体考生的分数有关。如果 某考生某科的标准分为,即分数为,则通过1.5Z650 查正态分布表,查得对应的百分比为,于是我 0.9332 们知道,该考生的成绩超过了的考生的成绩, 93.32% 这就是分数解释的标准化。⑵不同学科的原始分不可 比,而不同学科的标准分是可比的。不同的学科,由 于试题的难易程度不同,各学科的分数价值也就不同 。例如某考生的语文原始成绩为分,数学原始成绩80 为分,从原始分看,其语文成绩优于数学成绩。但70 如果这次考试全体考生的语文原始分平均为分,而86 数学原始分平均为分,则该考生的语文成绩处于全 60 体考生的平均水平之下,而数学成绩处于全体考生的

智用Excel高效分析学生成绩

智用Excel高效分析学生成绩 智用Excel高效分析学生成绩 学生成绩的统计分析是学校重要且枯燥烦琐的工作,市面上有许多相关的成绩管理系统,有学校不惜重金购买来提高处理成绩的效率。然而,此种成绩管理系统普遍存在以下两大缺陷:系统编程人员缺少教学工作方面的经验,而且各校对学生成绩的统计要求各不相同,设计出来的系统很难满足众家之需求;容易出现诸多问题,校方难以自我解决,只能联系专业人员前来救援,远水救近火,难免影响成绩统计的进度。 俗话说得好:“自力更生,丰衣足食。”本人经过摸索,利用大众软件Excel设计了一个全校成绩自动统计的Excel模板,只需在“设置”工作表中初始化考试名称,在“成绩”工作表中导入各考生的班级、姓名、学号和各科成绩,即可在其他工作表中自动统计学校领导、班主任、任课老师所需要的学生成绩分析结果,非常方便。下面笔者将作具体介绍,以期抛砖引玉,与读者朋友一起学习和探讨。 一、学生成绩录入 成绩录入是统计分析的基础,但录入时常会遇到两个问题。 1.有时多科成绩需同时录入,倘若各科分别录在不同的Excel文件中,之后的拼接工作将十分烦琐而且容易出错,若录在同一文件中则同时只能录入一科成绩,降低了效率。针对这个问题,本人通过共享Excel工作簿来解决。具体操作步骤如下:选择Excel软件“工具”菜单中的“共享工作簿”,在窗口中选择“允许多用户同时编辑”,这样就可以在多台电脑上同时在这个Excel文件中录入成绩了,而且互不影响。 2.由于粗心,有时会输入一些让人哭笑不得的成绩,如8978分、七月九日等。为避免这类错误的出现,我们可以设置成绩录入区的数据有效性。只要在Excel菜单中选择“数据”—“有效性”,设置有效性条件为0到100的整数即可,如果输入的成绩超出这个范围,系统就会报错。

如何对学生考试成绩进行数据分析

一、原始分和标准分的定义 原始分是考试后直接从卷面上得到的分数。 标准分是指通过原始分转化而得到的一种地位量数,它反映考生成绩在全体考生成绩中的位置。因此,无论试题难或易,无论整体原始分偏高或偏低,整体标准分都没有什么变化。 二、标准分的计算 根据教育统计学的原理,标准分Z是原始分与平均分的离差以标准差为单位的分数,用公式表示为:Z=(X-A)/S 其中:X为该次考试中考生个人所得的原始分;A为该次考试中全体考生的平均分;S为该次考试分数的标准差。 通过转换后得到的标准分Z在一般情况下都带小数,而且会出现负值,实际使用时不太方便,所以还要对Z分数进行线性变换(T变换):T=500+100Z 这就是我们通常所说的标准分。这种标准分的平均值为500,也就是说,如果某考生的标准分为500,则该生的成绩处于此次考试的中间位置。 标准分有如下性质: ⑴平均值为0,标准差为1; ⑵分数之间等距,可以作加减运算; ⑶原始分转换为标准分是线性转换,不会改变原始分的分布形状,也不改变原来分数的位置次序。 三、使用标准分比使用原始分有什么好处? 根据教育统计学的原理,原始分转换成标准分的意义可以从下面的比较中反映出来: ⑴单个标准分能够反映考生成绩在全体考生成绩中的位置,而单个原始分则不能。 例如,某考生某科的原始成绩为85分,无法说明其这科成绩究竟如何,因为这与试题的难度有关,与总体考生的分数有关。如果某考生某科的标准分为650,即Z分数为1.5,则通过查正态分布表,查得对应的百分比为0.9332,于是我们知道,该考生的成绩超过了93.32%的考生的成绩,这就是分数解释的标准化。 ⑵不同学科的原始分不可比,而不同学科的标准分是可比的。 不同的学科,由于试题的难易程度不同,各学科的分数价值也就不同。例如某考生的语文原始成绩为80分,数学原始成绩为70分,从原始分看,其语文成绩优于数学成绩。但如果这次考试全体考生的语文原始分平均为86分,而数学原始分平均为60分,则该考生的语文成绩处于全体考生的平均水平之下,而数学成绩处于全体考生的平均水平之上,即该生的数学成绩实质上优于语文成绩。从标准分的角度来衡量,其语文标准分小于500分,而数学标准分大于500分。由于标准分代表了原始分在整体原始分中的位置,因此是可比的。 ⑶不同学科的原始分不可加,而不同学科的标准分之间具有可加性。 既然不同学科的原始分不可比,那么也就不可加。多学科成绩,只有在各科成绩的平均值相同、标准差也相同的条件下,才能相加,否则是不科学的。各学科原始分的平均值以及标准差一般都不相同,而各学科的标准分的平均值以及标准差都基本相同,因此,各科的标准分是可加的。 四、什么是增值? 教学增值就是评价时将学生原有基础一并考虑,用以比较原有基础与接受教师教育后成绩增进的幅度。增值评价分为两步:首先根据原有基础得到一个

计算机程序设计(C)综合实践

计算机程序设计(C)综合 实践 设计报告 学院:电子通信与物理学院 设计名称:职工信息管理系统 专业班级:电子信息科学与技术14-2 学生:本良 学号: 201401100211 组号: 140203 指导教师:宋戈 完成时间: 2015年 7月23日

目录 第1部分实训题目与要求 (2) 1. 问题提出 (2) 2. 功能要求 (2) 3. 任务分工 (2) 第2部分设计实训题目功能......................................................................... . (3) 1. 总体设 计...................................................................... (3) 2. 数据结 构...................................................................... (4) 3. 程序设 计...................................................................... (5) 4. 测试与调 试......................................................................

(8) 第3部分实训总结......................................................................... . (12) 1. 个人总 结...................................................................... (12) 2. 结束 语...................................................................... (12) 第4部分参考文献......................................................................... . (13) 《C程序设计综合实践》评分表......................................................................... (14)

大学生计算机编程实训心得领悟.doc

大学生计算机编程实训心得体会 编程是编写程序的中文简称,就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到相应结果的过程。分享,欢迎阅读! 大学生计算机编程实训心得体会一 目前在国内制造业对数控加工高速增长的需求形势下,数控编程技术人才出现了严重短缺,数控编程技术已成为就业市场上的需求热点。以市场为导向的职业教育不断开辟这一领域的新课题,在传统职业的知识和技术上溶入了数字化信息的新技术、新知识、新工艺。国家大力发展职业教育,大力进行职教师资培训。以骨干教师为重点的培养培训活动在全国各个重点建设职教师资基地纷纷开展。我就是2007年第二批次国家级骨干教师培训的学员,培训地在济南数控编程培训学校,专业是数控加工技术。在济南学习期间,对于数控机床编程技术的学习心得写下来跟朋友们一起探讨。 一、学好数控编程技术需要具备以下几个基本条件: (1)具有基本的学习资质,即学员具备一定的学习能力和预备知识。 (2)有条件选择好的培训机构和培训教材。 (3)在实践中积累经验。

二、学习数控编程技术,要求学员首先掌握一定的预备知识和技能,包括: (1)基本的机械制图基础。 (2)基本的机械加工常识。 (3)机加工工艺基础。 (4)基本的三维造型技能。 三、选择培训教材应考虑的因素包括: (1)教材的内容应适合于实际编程应用的要求,以目前广泛采用的基于CADCAM软件的交互式图形编程技术为主要内容。在讲授软件操作、编程方法等实用技术的同时也应包含一定的基础知识,使读者知其然更知其所以然。 (2)教材的结构。数控编程技术的学习是一个分阶段不断提高的过程,因此教材的内容应按不同的学习阶段进行合理的分配。同时,从应用角度对内容进行系统的归纳和分类,便于读者从整体上理解和记忆。 四、学习方法与技巧 同其他知识和技能的学习一样,掌握正确的学习方法对提高数控编程技术的学习效率和质量起着十分重要的作用。下面是几点建议:

学生试卷分数统计C语言程序设计

广州航海学院课程(C语言)设计任务书 注:1.任务书由指导教师填写后由教研室、系签署意见; 2.任务书应在学生课程设计开始前下达给学生; 3.任务书一式二份,设计人、指导教师各执一份。

C语言课程设计报告 系 (部) 信息与通信工程学院专业班级计应171班 姓名学号曾雨祥0136 设计基地(实训室) 信息楼605实训室 设计项目学生试卷分析统计 设计日期 设计成绩 指导教师张翚

学生试卷成绩分析系统 一.需求分析 1.适合人群 教师。 2.使用范围 小学至大学,人数数量不大。 二.概要设计 1. 主函数main():初始化各变量并调用各函数。 2. 输入模块accept_data():输入学生个人成绩。 3. 计算模块count():依据学生成绩进行计算需要的各种数值。 4. 输出模块show_data():输出计算的各种数值。 程序功能结构图如图所示: 主函数 输出模块 计算模块 输入模块 学生试卷分析系统

三.详细设计 本系统有一个主函数,3个功能模块,每个功能模块函数都是由主函数调用,分别说下:1.主函数main() 此函数初始化各变量并调用各函数。 代码如下: int main() 入模块accept_data() 输入模块代码如下: int accept_data(STUDENT stu[],int grade[]) {int i=0,sum=0,temp,a1,a2; FLAG flag; printf("\n 请输入计算总成绩时使用平时成绩与期末成绩的比例,用整数表示(百分比例如:30 70):"); scanf("%d%d",&a1,&a2); umber); umber==-1) core[0],&stu[i].score[1]); if(stu[i].score[0]<=100&& stu[i].score[0]>=0&&\ stu[i].score[1]<=100&& stu[i].score[1]>=0)

计算机编程实习周记

计算机编程实习周记 实习周记一 到金山实习已经一周了,这一周主要任务是学习COM 技术,以及理解初期产品DEMO的代码,指导我的老大叫程辉,他是一个工作认真, 待人真诚的好人,虽然他很忙,但是我遇到问题他也会细心帮我解答, 如果某个问题他不清楚, 也会很直接的告诉我他不清楚. 但是我要是在学校遇到什么问题, 大部分老师给我的答案都是含糊其辞的, 另有一些就干脆胡说八道一通, 让我非常郁闷. 在公司实习的感觉很不一样,快快事业部里每个人都非常认真勤奋的工作,大家都为最终的产品投入了大量的时间和精力.这是我无法从学校学习到的一种精神. 这也从一个侧面反映出大学里面的问题有很多, 在学校上课, 我无法得到什么, 有些课程老师自己都没弄明白, 找本书对着学生念经, 同学们的激情早就在大一的时候被浇灭了, 剩下一些残念或怨念, 又在经文的雪上加霜后, 留下一辈子的仇恨. 这就是大学的现状. 没有谁可以改变这种状况, 而我们这些可怜的大学生们, 期望的只是一张大学毕业证, 好给保有旧社会科举制度思维的父母们一个交代. 面对这样的现状, 我只能说...very well...

虽然这一周我都是每天早上6:30起床赶车,晚上 8:30回到宿舍(坐公交车要好久, 而且正赶山修路, 在 路上耽搁很久),但是这样的生活对我来说却是习以为常,因为从大二暑假开始,我就已经以类似的作息时间,奔波于宿舍和励耘楼的实验室.即使是周六周日,我也会去励耘楼的实验室自习,而现在周末不用去公司上班,我倒是觉得轻松了不少. 生活方面,金山的伙食真的是非常好,可见金山的管理者们们对本公司员工的尊重和重视. 但是菜品种不如学校食堂的丰富, 学校的食堂和外卖经常会有花生猪骨, 逗沙包, 小强汤, 滑蛋小强, 芹菜苍蝇, 白菜腋毛等菜式供给, 不仅如此, 给我们盛菜的食堂员工还喜欢抖两抖, 一次我大脑抽筋了, 去食堂的窗口打饭, 看见一份炒豆腐还不错, 价钱是1块钱, 我就要他们给我来一份, 这份打过来, 我数了数, 一共5块豆腐....我当场就怒了, 找他理论, 没想到他跟我来了一句1块钱就是那么多了.... 最后这个了字声音还故意发的很长, 明显是一种挑衅和不懈. 言外之意就是丫个穷鬼, 还敢嫌少, 没钱还敢来吃老子豆腐., 我真是吐槽不能. 实习周记二 到金山实习已经两周了.周一上午,程辉把我叫到会议室,让我根据第一周学到的知识以及对项目的了解,制

Excel如何统计各分数段学生考试成绩分布情况教学教材

Excel如何统计各分数段学生考试成绩分布情况 例如Excel表格中有如下成绩表,现在就给大家介绍两种方法来统计各分数段学生考试成绩的分布情况。 数据透视法: 打开表格,单击“数据”—“数据透视表或数据透视图”,然后按照向导提示操作完成即可。(详细步骤可以关注小编写的“Excel数据如何透视和布局”) 注意:最好把数据定位到表格中(在表格中单击一下),这样可以在透视时自动侦测数据源区域。

现在效果如下图所示,将“考试成绩”字段分别拖拽到行区域和数据区域(如下图所示)。

现在“求和项:考试成绩”将其改为“计数项:考试成绩”。双击“求和项:考试成绩”。 打开“数据透视表字段”对话框,将汇总方式选择“计数”,然后单击“确定”。

在“考试成绩”中的任意单元格上右击依次选择“组及显示明细数据”—“组合”。 设置“起始于”、“终止于”、“步长”,然后单击“确定”。 注意:“起始于”、“终止于”默认是自动选中的,值是默认侦测到的最小值和最大值。这里可以取消选中,然后自己设置值。

这样各分数段学生考试成绩的分布情况就做好了,效果如下图所示。 注意:起始值包含该数值,结束值不包含该数值。如0-10,是包含0,不包含10。 函数法: 在G3至G4单元格录入学生考试成绩的统计分段点。如在本例中采用的统计分段点为:9 0、120,即统计90以下(含90)、90-120(含120)、120以上三个学生考试成绩区段的人数分布情况。

注意:1.此仅举例,自己可以设置统计分段哦。 2.两个统计分段点,会将数据分成三个数据区段。可以说数据区段总比分段点多一。 选中要进行公式设计的单元格区域H6至H9,按下F2键或单击输入框,录入公式“=FREQU ENCY(D3:D57,G3:G4)”,完成后按下“Ctrl+Shift+Enter”键即可完成。

如何用Excel电子表格统计学生成绩

如何用Excel电子表格统计学生成绩 【摘要】使用Excel电子表格统计学生成绩不但方便而且快捷,利用它能自动完成成绩各项统计工作如计算总分、排名次、统计各分数段学生人数和所占比例、最高分、最低分等,还能把分数转换成等级分。用Excel 电子表格统计学生成绩,将会大大提高教师的工作效率和工作质量。 【关键词】Excel;电子表格;统计;成绩;名次 统计学生成绩是教导主任和教师每学期都必须做的常规工作。传统的做法是:教师在成绩表上填写学生的平时成绩、考试成绩,然后用计算器按百分比计算每个学生的总评成绩,计算科目总分和平均分,有的还需要列出名次,不但量大,而且容易出错,反复验算是常事。如果用电脑完成,则方便快捷准确得多,而且无需“重算一遍”。Excel是美国微软公司推出的基于Windows操作系统的电子表格软件,是目前被广泛使用的现代办公软件之一,本文举例使用的版本是Microsoft Office Excel 2003。 1 如何制作成绩统计表 [1.1] 输入列标题 开机启动Windows后进入Excel电子表格窗口,在顶端行依次输入表

格的列标题:考号、姓名、语文、数学、英语、总分、平均分、名次等。 [1.2] 输入原始数据 考号、姓名、语文、数学、英语的内容属于原始数据,也要依次输入。考号的输入可采用“自动填充”方法。先在1、2单元格输入预先设计好的考号后,再选取1、2号单元格后鼠标移动至选定区域的右下角,当出现“+”后往下拖动,所有的考号会自动出现。(如图1) 图1 [1.3] 数据居中对齐 拖动鼠标选定制表区,单击“格式”,再单击“单元格”,再单击“对齐”,水平和垂直对齐均选“居中”,然后单击“确定”。 [1.4] 加表格框线 选取需加边框的单元格,单击菜单栏中的“格式”,选择“单元格”,在对话框中选择“边框线”标签,从边框线型栏内,选择较粗的线形加入到“外框”标志栏内,选择较细的线型分别加入到上、下、左、右栏内,按下“确定”。(如图2) 第二种方法是选择表格后,单击工具栏上“边框”按钮在弹出的选项中选择“所有框线”则可(如图2)。至此,除需计算部分外全部输入完成。

计算机程序设计实践

《计算机程序设计实践(VC++)》教学大纲一.课程基本信息 开课单位:经济管理学院信息管理系 课程编号:000000 英文名称:Computer Programming Language (VC++) Course Design 学时:总计32学时,其中理论授课0学时,实验(含上机)32学时 学分:2.0学分 面向对象:信息管理与信息系统(含网络营销方向)本科专业 教材: 《C++程序设计》,吴乃陵,况迎辉编著,高等教育出版社,2006年3月第2版 《C++程序设计实践教程》,吴乃陵,李海文主编,高等教育出版社,2006年3月第2 版 主要教学参考书目或资料: 1.Visual C++从入门到精通.刘锐宁,宋坤编著.北京:清华大学出版社.2010年10月 2. Visual C++项目开发案例全程实录(第2版).明日科技等编著. 北京:清华大学出版社.2011年1月 二.教学目的和任务 课程设计是课程教学中的一项重要内容,是完成教学计划达到教学目标的重要环节,是一门专业基础课或专业课教学计划中综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践能力、为毕业设计及毕业后从事专业技术工作打下基础,提高学生全面素质具有重要的意义。因此,《计算机程序设计语言(VC++)课程设计》的目的就是要通过一个学生成绩管理系统的实际开发,提高学生应用所学知识分析问题,解决问题和实际动手的能力,更加熟练地掌握C++程序开发的基本方法和工作步骤,对系统开发实践有进一步体会。从而综合复习课程中的所有理论知识点,进一步熟练面向对象程序的开发方法和流程,提高学生独立分析问题和解决问题的能力。真正理解书本知识,牢固掌握课堂教学内容。 三.教学目标与要求 学生按照课程设计任务书要求,通过两周的时间,设计出一个学生成绩管理系统,能实现对某班 级学生成绩的管理及奖学金、三好生的评定工作。要求具备查询和检索等功能,并且能够对指定文件进行操作,也可以将多个文件组成一个文件。从而进一步掌握算法的描述、了解初步的数据结构,熟悉C++语言的语句格式、功能及其应用。 四.教学内容、学时分配及其基本要求 实验项目学生课程成绩管理系统 设计内容: 设计一程序,实现对某班级学生成绩的管理及奖学金、三好生的评定工作。要求具备查询和检索等功能,并且能够对指定文件进行操作,也可以将多个文件组成一个文件。 设计要求: ⒈应严格按照开发小型项目的基本流程进行设计。 ⒉成绩管理程序至少应具有以下功能: ⑴输入:学生的基本信息,包括学号、姓名、性别、籍贯、VC++成绩、英语成绩、高数成绩等; ⑵计算:每个学生的总成绩、平均成绩,所有学生单科的平均成绩,找出总成绩和单科成绩最高的学生并输出;

利用EXCEL对学生成绩进行分析与制作学生成绩条

利用EXCEL对学生成绩进行分析与制作学生成绩条 每到学期结束时,教师的一项重要工作就是要统计学生的成绩,在电脑逐步普及的今天,我们就把这项繁杂的工作交给Excel去自动完成吧。 本节任务:制作一个学生成绩自动统计表,可以自动统计最高分、最低分、总分、平均分、名次、三率等数据信息,还可以根据自定条件以不同的颜色显示分数。自动统计表做好以后还可以保存成模板,以便以后使用。 涉及术语:单元格、工作表、工作薄、引用(相对/绝对)、自动填充、排序、条件格式等。涉及函数:AVERAGE、COUNTIF 、MAX、MIN、RANK、SUM 任务一:统计最高分、最低分、总分、平均分、名次、三率等数据信息。 1、启动Excel,同时选中A1至L1单元格,按“格式”工具条上的“合并及居中”按钮,将其合并成一个单元格,然后输入统计表的标题“高一(1)班期末成绩统计表 2、根据统计表的格式,将有关列标题及相关内容输入到相应的单元格中。 提示:其中学号的输入可通过“填充柄”快速完成。 3、选中K3单元格,输入公式:=SUM(C3:J3),用于计算第一位学生的总分。 4、选中L3单元格,输入公式:=RANK(K3,$K$3:$K$12),计算出第一位学生总分成绩的名次(此处,假定共有10位学生)。 5、同时选中K3和L3单元格,将鼠标移至L3单元格右下角的成“细十字”状时(通常称这种状态为“填充柄”状态),按住左键向下拖拉至L12单元格,完成其他学生的总分及名次的统计处理工作。 6、分别选中C16、C17单元格,输入公式:=MAX(C3:C12)和=MIN(C3:C12),用于统计“语文”学科的最高分和最低分。 7、选中C18单元格,输入公式:=AVERAGE(C3:C12),用于统计“语文”学科的平均分。 注意:如果成绩表中没有输入成绩时,这一公式将显示出一个错误的值“#DIV/0!”,这个错误代码将在数据输入后消失。 8、选中C19单元格,输入公式:=SUM(C3:C12),用于统计“语文”学科的总分。 9、选中C20单元格,输入公式:=COUNTIF(C3:C12,'>=80')/COUNTIF(C3:C12,'>0'),用于统计“语文”学科的优秀率。同样在C21内输入相应公式统计良好率。

如何计算一份试卷的难度与区分度(整理精校版)

如何计算一份试卷的难度与区分度 教学相长 0309 20:43 :: 如何计算一份试卷的难度与区分度 发表于:0503 14:23 | :阅读:(1) 评论:(0) 如何计算一份试卷的难度与区分度如何计算试卷的难度和试卷的区分度。1、难度的计算 (1)难度是指正确答案的比例或百分比。这个统计量称为试题的难度或容易度。难度一般用字母P表示,P越大表示试题越简单,P越小表示试题越难。试题要有梯度,因此各试题的难度应有不同,这是命制试题时要加以特别考虑的。 (2)计算公式:P=平均分/满分值例如:第一题平均分为8.5分,此题的满分值为10分,则第一题的难度P=8.5÷10=0.85例:第1小题选择题满分是4分,全班50名学生中有20名学生答对,则第1小题的难度为,P=正确答案的比例或百分比=20÷50=0.4或平均分=4×20÷50=1.6P=平均分÷满分值 =1.6÷4=0.4 (3)关于难度的几个问题难度水平的确定是为了筛选题目。平时测验难度要利于学生的学习,但一定的难度能增加区分度,这对全面了解、掌握学生学习情况有十分重要的作用。难度水平的确定要考虑及格率,防止损伤学困生的自尊心。难度水平的确定要考虑对分数分布的影响,一般以偏正态分布为前提,有时偏正态分布更能激发学生的学习积极性.2、区分度的计算区分度是指试题对被试者情况的分辨能力的大小。一般在 1~+1之间,值越大区分度越好。试题的区分度在0.4以上表明此题的区分度很好,0.3 ~ 0.39表明此题的区分度较好,0.2 ~ 0.29表明此题的区分度不太好需修改,0.19以下表明此题的区分度不好应淘汰。计算区分度的方法很多,特别需要注意的是对同一个试题的考试成绩采用不同的方法所得到的区分度的值是不同的。 我们可以使用下面的两种方法计算区分度: (1)先将分数排序,P1=27﹪高分组的难度,P2= 27﹪低分组的难度区分度D =P1- P2或区分度 D = (27﹪高分组的平均分- 27﹪低分组的平均分)÷满分值 (2)利用积差系数r 计算区分度D当两个变量都是正态连续变量,而且两者之间呈线性关系,表示这两个变量之间的相关成为积差相关。积差相关的使用条件a、两个变量都是由测量获得的连续性数据。如百分制分数。b、两个变量的总体都呈正态分布,或接近正态分布,至少是单峰对称的分布。c、必须是成对的数据,而且每对数据之间是相互独立的。d 、两个变量之间呈线性关

用Excel统计各分数段学生数

用Excel统计各分数段学生数 方法一:用COUNTIF函数统计 这是最常用、最容易理解的一种方法,我们用它来统计“语文”学科各分数段学生数。 如果某些学科(如体育),其成绩是不具体数值,而是字符等级(如“优秀、良好”等),我们也可以用COUNTIF函数来统计各等级的学生人数。 方法二:用DCOUNT函数统计 这个函数不太常用,但用来统计分数段学生数效果很不错。我们用它统计“数学”学科各分数段学生数。 方法三:用FREQUENCY函数统计 这是一个专门用于统计某个区域中数据的频率分布函数,我们用它来统计“英语”学科各分数段学生数。 方法四:用SUM函数统计 我们知道SUM函数通常是用来求和的,其实,他也可以用来进行多条件计数,我们用它来统计“政治”学科各分数段的学生数。 方法一:用COUNTIF函数统计 这是最常用、最容易理解的一种方法,我们用它来统计“语文”学科各分数段学生数。函数功能及用法介绍 ①分别选中C63、C67单元格,输入公式:=COUNTIF(C3:C62,"<60")和 =COUNTIF(C3:C62,">=90"),即可统计出“语文”成绩“低于60分”和“大于等于90”的学生人数。 ②分别选中C64、C65和C66单元格,输入公式: =COUNTIF(C3:C62,">=60")-COUNTIF(C3:C62,">=70")、 =COUNTIF(C3:C62,">=70")-COUNTIF(C3:C62,">=80")和

=COUNTIF(C3:C62,">=80")-COUNTIF(C3:C62,">=90"),即可统计出成绩在60-69分、 70-79分、80-89分区间段的学生人数。 注意:同时选中C63至C67单元格,将鼠标移至C67单元格右下角,成细十字线状时,按住左键向右拖拉至I列,就可以统计出其它学科各分数段的学生数。 如果某些学科(如体育),其成绩是不具体数值,而是字符等级(如“优秀、良好”等),我们可以用COUNTIF函数来统计各等级的学生人数。 如果某些学科(如体育),其成绩是不具体数值,而是字符等级(如“优秀、良好”等),我们可以用COUNTIF函数来统计各等级的学生人数。 ①在K64至K67单元格中,分别输入成绩等级字符(参见图2)。 ②选中L64单元格,输入公式:=COUNTIF($L$3:$L$62,K64),统计出“优秀”的学生人数。 ③再次选中L64单元格,用“填充柄”将上述公式复制到L65至L67单元格中,统计出其它等级的学生人数。 上述全部统计结果参见图1。

计算机程序设计实践答案(江苏科技大学)

1,#include class PP { int n; double x; double *p; public: PP(int num,double x1); ~PP(); double fun(int n1,double x); void process(); void show(); }; PP::PP(int num,double x1) { n=num; x=x1; p=new double[n+1]; } PP::~PP() { if(p) delete[]p; } double PP::fun(int n,double x) { if(n==0) return 1; else if(n==1) return x; else return ((2*n-1)*x*fun(n-1,x)-(n-1)*fun(n-2,x))/n; } void PP::process() { int i; for(i=0;i<=n;i++) p[i]=fun(i,x); } void PP::show() { int count=0; cout<<"n="<

{ cout<