Esempio n. 1
0
        /// <summary>
        /// ходил не плохо и сдал все задачи и мало сдал лаб и не показал себя хорошо => 3
        /// </summary>
        static double toThreeMark(double visiting, double tasks, double labs, double knowledge, double read)
        {
            // посредственная работа в семестре
            var visitAndTasks = AND((-visitLow).Calculate(visiting), allTasks.Calculate(tasks));
            // не показал себя хорошо
            var badKnowledge = 1 - goodKnowledge(labs, knowledge, read);

            return(AND(visitAndTasks, fewLabs.Calculate(labs), badKnowledge));
        }
Esempio n. 2
0
        /// <summary>
        ///ходил не плохо и сдал все задачи и (хорошо знает предмет или средне сдал лабы или умеет читать)
        /// и (не защитил все лабы или не показал себя отлично) => 4
        /// </summary>
        static double toFourMark(double visiting, double tasks, double labs, double knowledge, double read)
        {
            // хорошая базовая работа в семестре
            var baseWork = AND((-visitLow).Calculate(visiting), allTasks.Calculate(tasks));
            // средне знает предмет или умеем читать или средне сдал лабы
            var Knowledge = goodKnowledge(labs, knowledge, read);
            // не сдал все лабы
            var notAllLabs = 1 - allLabs.Calculate(labs);
            // не показал себя отлично
            var notAdvanced = 1 - advancedKnowledge(visiting, labs, knowledge, read);

            return(AND(baseWork, Knowledge, notAllLabs, notAdvanced));
        }
Esempio n. 3
0
 /// <summary>
 /// знает по савельеву и умеет читать и не плохо сдал лабы
 /// </summary>
 static double advancedKnowledge(double visiting, double labs, double knowledge, double read) =>
 AND(visitGood.Calculate(visiting),
     knowSaveliev.Calculate(knowledge),
     canRead.Calculate(read),
     (-fewLabs).Calculate(labs));
Esempio n. 4
0
        //
        // Функции определяющие принадлежность к какой-либо оценке
        //
        //////////////////////

        /// <summary>
        /// не плохо знает предмет или умеет читать или средне защитил лабы
        /// </summary>
        static double goodKnowledge(double labs, double knowledge, double read) =>
        OR((-dontKnow).Calculate(knowledge),
           canRead.Calculate(read),
           normLabs.Calculate(labs));
Esempio n. 5
0
 /// <summary>
 /// не ходил или не сдал задачи => 2
 /// </summary>
 static double toTwoMark(double visit, double tasks) => OR(visitLow.Calculate(visit), fewTasks.Calculate(tasks));