|
@@ -474,6 +474,7 @@ namespace TEAMModelOS.FunctionV4
|
|
//标准差
|
|
//标准差
|
|
double sPowSum = 0;
|
|
double sPowSum = 0;
|
|
List<double> newSumScore = new List<double>();
|
|
List<double> newSumScore = new List<double>();
|
|
|
|
+ List<double> effectiveScore = new List<double>();
|
|
int lostStu = classResult.status.Where(c => c == 1).ToList().Count;
|
|
int lostStu = classResult.status.Where(c => c == 1).ToList().Count;
|
|
var scount = classResult.studentIds.Count - lostStu;
|
|
var scount = classResult.studentIds.Count - lostStu;
|
|
int index = 0;
|
|
int index = 0;
|
|
@@ -555,13 +556,18 @@ namespace TEAMModelOS.FunctionV4
|
|
}
|
|
}
|
|
}
|
|
}
|
|
double nc = Math.Round(newSc.Sum(), 2);
|
|
double nc = Math.Round(newSc.Sum(), 2);
|
|
|
|
+ if (classResult.status[sIndex] == 0)
|
|
|
|
+ {
|
|
|
|
+ effectiveScore.Add(nc);
|
|
|
|
+ };
|
|
newSumScore.Add(nc);
|
|
newSumScore.Add(nc);
|
|
subScore += nc;
|
|
subScore += nc;
|
|
classResult.sum[sIndex] = nc;
|
|
classResult.sum[sIndex] = nc;
|
|
sIndex++;
|
|
sIndex++;
|
|
}
|
|
}
|
|
double rateScore = scount > 0 ? Math.Round(subScore * 1.0 / scount, 2) : 0;
|
|
double rateScore = scount > 0 ? Math.Round(subScore * 1.0 / scount, 2) : 0;
|
|
- foreach (double scs in newSumScore)
|
|
|
|
|
|
+ //有效分数
|
|
|
|
+ foreach (double scs in effectiveScore)
|
|
{
|
|
{
|
|
sPowSum += Math.Pow(scs - rateScore, 2);
|
|
sPowSum += Math.Pow(scs - rateScore, 2);
|
|
|
|
|
|
@@ -1319,8 +1325,10 @@ namespace TEAMModelOS.FunctionV4
|
|
lostStu.Add(classResult.studentIds[index_stu]);
|
|
lostStu.Add(classResult.studentIds[index_stu]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- else {
|
|
|
|
- if (classResult.status[index_stu] == 1) {
|
|
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ if (classResult.status[index_stu] == 1)
|
|
|
|
+ {
|
|
if (!lostStu.Contains(classResult.studentIds[index_stu]))
|
|
if (!lostStu.Contains(classResult.studentIds[index_stu]))
|
|
{
|
|
{
|
|
lostStu.Add(classResult.studentIds[index_stu]);
|
|
lostStu.Add(classResult.studentIds[index_stu]);
|
|
@@ -1413,9 +1421,10 @@ namespace TEAMModelOS.FunctionV4
|
|
result.studentIds.ForEach(x =>
|
|
result.studentIds.ForEach(x =>
|
|
{
|
|
{
|
|
double sc = result.studentScores[result.studentIds.IndexOf(x)].Sum();
|
|
double sc = result.studentScores[result.studentIds.IndexOf(x)].Sum();
|
|
- if (!result.lostStus.Contains(x)) {
|
|
|
|
|
|
+ if (!result.lostStus.Contains(x))
|
|
|
|
+ {
|
|
powSum += Math.Pow(sc - result.average, 2);
|
|
powSum += Math.Pow(sc - result.average, 2);
|
|
- }
|
|
|
|
|
|
+ }
|
|
});
|
|
});
|
|
result.standard = Math.Round((result.studentIds.Count - result.lostStus.Count) > 0 ? Math.Pow(powSum / (result.studentIds.Count - result.lostStus.Count), 0.5) : 0, 2);
|
|
result.standard = Math.Round((result.studentIds.Count - result.lostStus.Count) > 0 ? Math.Pow(powSum / (result.studentIds.Count - result.lostStus.Count), 0.5) : 0, 2);
|
|
result.csRate = csRate;
|
|
result.csRate = csRate;
|