public void Calculation_measure_of_expression(List <Dictionary <string, double> > Dictionary_of_scales, List <Test> TESTS) { for (int number_group = 0; number_group < Groups.Count; number_group++) { for (int number_link = 0; number_link < Groups[number_group].Links.Count; number_link++) { double Sum = 0; for (int i = 0; i < Groups[number_group].Links[number_link].Test_name.Count; i++) { int number_test = Additional_functions.Number_of_Contains(TESTS, Groups[number_group].Links[number_link].Test_name[i]); if (number_test >= 0 && Dictionary_of_scales[number_test].TryGetValue(Groups[number_group].Links[number_link].Scale_name[i], out double point_on_scale)) { Sum += Return_Measure_for_fuzzy_sets( TESTS[number_test], Groups[number_group].Links[number_link].Scale_name[i], point_on_scale, Groups[number_group].Links[number_link].Function_number[i] ); } else { Stored_Exceptions.Add(new Exception("Error: cannot find name of scale")); } } if (Stored_Exceptions.Empty) { Groups[number_group].Links[number_link].Measure_of_expression = Sum / Groups[number_group].Links[number_link].Scale_name.Count; } } } }