Преглед на файлове

优化高分组 低分组算法内容

zhouj1203@hotmail.com преди 2 години
родител
ревизия
46e14d35cc

+ 9 - 5
TEAMModelOS.FunctionV4/CosmosDB/TriggerExam.cs

@@ -634,13 +634,17 @@ namespace TEAMModelOS.FunctionV4
                     scores.Add(sc.Sum());
                 }
                 //确定高分组 最低分数
+                //var srowallorder = scores.EnumerateIndexed().OrderByDescending(g => g.Item2); //各生總分排序   
+                //var srowallorder =  scores.OrderByDescending(g => g);
                 scores.Sort((s1, s2) => { return s2.CompareTo(s1); });
-                double rhwCount = Math.Floor(scores.Count * 0.27);
-                double rhw = rhwCount > 0 ? scores[int.Parse(rhwCount.ToString("0"))] : 0;
+                int rhwCount = Convert.ToInt32(Math.Floor(scores.Count * 0.27));
+                double rhw = rhwCount > 0 ? scores[rhwCount] : 0;
+                //var rhww = srowallorder.Take(Convert.ToInt32(Math.Floor(scores.Count * 0.27)));
                 //确定低分组 最高分数
                 //scores.Sort((s1, s2) => { return s1.CompareTo(s2); });
-                double rhlCount = Math.Ceiling(scores.Count * 0.73);
-                double rhl = rhlCount > 0 ? scores[int.Parse(rhlCount.ToString("0")) - 1] : 0;
+                int rhlCount = Convert.ToInt32(Math.Ceiling(scores.Count * 0.73));
+                double rhl = rhlCount > 0 ? scores[rhlCount] : 0;
+                //var rhll = srowallorder.Skip(Convert.ToInt32(Math.Ceiling(scores.Count * 0.73)));
                 //存放高分组学生ID
                 List<string> phId = new List<string>();
                 List<string> plId = new List<string>();
@@ -673,7 +677,7 @@ namespace TEAMModelOS.FunctionV4
                                 {
                                     if (classResult.ans.Count > 0)
                                     {
-                                        optl.Add(classResult.ans[index]);
+                                       optl.Add(classResult.ans[index]);
                                         PLCount++;
                                         continue;
                                     }

+ 1 - 0
TEAMModelOS.FunctionV4/TEAMModelOS.FunctionV4.csproj

@@ -48,4 +48,5 @@
 			<CopyToPublishDirectory>Never</CopyToPublishDirectory>
 		</None>
 	</ItemGroup>
+	<ProjectExtensions><VisualStudio><UserProperties local_1settings_1json__JsonSchema="" /></VisualStudio></ProjectExtensions>
 </Project>

+ 10 - 9
TEAMModelOS/Controllers/Analysis/AnalysisController.cs

@@ -1062,12 +1062,13 @@ namespace TEAMModelOS.Controllers.Analysis
                 resultSum.Add(data.Sum());
             }
             //确定高分组 最低分数
+
             resultSum.Sort((s1, s2) => { return s2.CompareTo(s1); });
-            double rhwCount = Math.Floor(resultSum.Count * 0.27);
-            double rhw = rhwCount > 0 ? resultSum[int.Parse(rhwCount.ToString("0"))] : 0;
-            double rhlCount = Math.Ceiling(resultSum.Count * 0.73);
-            double rhl = rhlCount > 0 ? resultSum[int.Parse(rhlCount.ToString("0"))-1] : 0;
-            //double rhl = resultSum[int.Parse(rhwCount.ToString("0"))];
+            int rhwCount = Convert.ToInt32(Math.Floor(resultSum.Count * 0.27));
+            double rhw = rhwCount > 0 ? resultSum[rhwCount] : 0;
+            int rhlCount = Convert.ToInt32(Math.Ceiling(resultSum.Count * 0.73));
+            double rhl = rhlCount > 0 ? resultSum[rhlCount] : 0;
+
 
             List<string> knowledgeName = new List<string>();
             foreach (string cla in knowledge)
@@ -1284,10 +1285,10 @@ namespace TEAMModelOS.Controllers.Analysis
             }
             //确定高分组 最低分数
             resultSum.Sort((s1, s2) => { return s2.CompareTo(s1); });
-            double rhwCount = Math.Floor(resultSum.Count * 0.27);
-            double rhw = rhwCount > 0 ? resultSum[int.Parse(rhwCount.ToString("0"))] : 0;
-            double rhlCount = Math.Ceiling(resultSum.Count * 0.73);
-            double rhl = rhlCount > 0 ? resultSum[int.Parse(rhlCount.ToString("0")) - 1] : 0;
+            int rhwCount = Convert.ToInt32(Math.Floor(resultSum.Count * 0.27));
+            double rhw = rhwCount > 0 ? resultSum[rhwCount] : 0;
+            int rhlCount = Convert.ToInt32(Math.Ceiling(resultSum.Count * 0.73));
+            double rhl = rhlCount > 0 ? resultSum[rhlCount] : 0;
 
             //初始化年级总分
             double total = 0;