|
发表于 2007-9-21 18:28:13
|
显示全部楼层
某校按照教学计划安排各班学生进行体能测试,以了解学生的身体状况。测试包括身高与体重、立定跳远、肺活量、握力和台阶试验共5个项目,均由电子仪器自动测量、记录并保存信息。该校引进身高与体重测量仪器3台,立定跳远、肺活量测量仪器各1台,握力和台阶试验测量仪器各2台。
身高与体重、立定跳远、肺活量、握力4个项目每台仪器每个学生的平均测试(包括学生的转换)时间分别为10秒、20秒、20秒、15秒,台阶试验每台仪器一次测试5个学生,需要3分30秒。
每个学生测试每个项目前要录入个人信息,即学号,平均需时5秒。仪器在每个学生测量完毕后学号将自动后移一位,于是如果前后测试的学生学号相连,就可以省去录入时间,而同一班学生的学号是相连的。
学校安排每天的测试时间为8:00-12:10与13:30-16:45两个时间段。5项测试都在最多容纳150个学生的小型场所进行,测试项目没有固定的先后顺序。参加体能测试的各班人数见附表。
学校要求同一班的所有学生在同一时间段内完成所有项目的测试,并且在整个测试所需时间段数最少的条件下,尽量节省学生的等待时间。
请你用数学符号和语言表述各班测试时间安排问题,给出该数学问题的算法,尽量用清晰、直观的图表形式为学校工作人员及各班学生表示出测试时间的安排计划,并且说明该计划怎样满足学校的上述要求和条件。
最后,请对学校以后的体能测试就以下方面提出建议,并说明理由:如引进各项测量仪器的数量;测试场所的人员容量;一个班的学生是否需要分成几个组进行测试等。
附表 参加体能测试的各班人数
班号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
人数 41 45 44 44 26 44 42 20 20 38 37 25 45 45 45
班号 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
人数 44 20 30 39 35 38 38 28 25 30 36 20 24 32 33
班号 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
人数 41 33 51 39 20 20 44 37 38 39 42 40 37 50 50
班号 46 47 48 49 50 51 52 53 54 55 56
人数 42 43 41 42 45 42 19 39 75 17 17
#include <stdio.h>
main()
{
int a[56]={41,45,44,44,26,44,42,20,20,38,37,25,45,45,45,44,20,30,39,35, 38,38,28,25,30,36,20,24,32,33,41,33,51,39,20,20,44,37,38,39,
42,40,37,50,50,42,43,41,42,45,42,19,39,75,17,17};
int number;
int total=0;
int k,j,z;
for(number=0;number<53;number++)
{
for(k=number+1;k<54;k++)
{
for(j=k+1;j<55;j++)
{
for(z=j+1;z<56;z++)
{
if(a[number==a[z] || a[k]==a[j])
{
total=a[number]+a[k]+a[j]+a[z];
if( 140<=total<=150)
{
printf("%d,%d,%d,%d,%d\n\n",number+1,k+1,j+1,z+1,total);
}
}
}
}
}} |
|