Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в созданном классе реализовать формулы

Анастасия Черёмушкина Ученик (114), на голосовании 6 месяцев назад
в созданном классе
internal class Uspevaemost//создание класса

{
double a = 0;//объявление переменной

double b = 0;//объявление переменной

double c= 0;//объявление переменной

private double procentUspevaemost;// объявление поля класса

private double procentKachestvaZnaij;//объявление поля класса

private double stepenObuchennostiObuchayushchikhsya;//объявление поля класса

public Uspevaemost() { }// создание конструктора

Uspevaemost getProcentUspevaemost = new Uspevaemost();//создание объекта класса

Uspevaemost getProcentKachestvaZnaij = new Uspevaemost();//создание объекта класса

Uspevaemost getStepenObuchennostiObuchayushchikhsya = new Uspevaemost();//создание объекта класса

public double GetProcentUspevaemost()//создание метода

{

return this.procentUspevaemost;//возвращает значение процента успеваемости

}



public double GetProcentKachestvaZnaij()//создание метода

{

return this.procentKachestvaZnaij;//возвращает значение процента качества знания

}



public double GetStepenObuchennostiObuchayushchikhsya()//создание метода

{

return this.stepenObuchennostiObuchayushchikhsya;//возвращает значение степени обученности обучающихся

}

}
как реализовать формулу
Ap=(n5+n4+n3)/N*100%
Qp=(n5+n4)/N*100%
L=(100n5+64n4+36n3+16n2+7n0)/N
Голосование за лучший ответ
Jurijus Zaksas Искусственный Интеллект (445813) 7 месяцев назад
Ох, не надо так делать... Вот просто не надо, а? Ведь уродство же полное, ты же сама не понимаешь, что ты пишешь и зачем. Почему вы лепите что ни попадя, почему не изучаете ООП? Май факин гад...
Держи свой класс, несчастье ты:

 public class MarkAnalytics 
{
private List Marks = new List();

public void AddMark(int _Mark)
{
if (_Mark < 1 || _Mark > 5)
throw new Exception($"Invalid mark {_Mark}");
Marks.Add(_Mark);
}

public void AddMarks(int[] _Marks)
{
foreach (int Mark in _Marks)
AddMark(Mark);
}

public MarkAnalytics() { }

public MarkAnalytics(int[] _Marks)
{
AddMarks( _Marks);
}

public void Clear() => Marks.Clear();

public double AccomplishmentPercentage { get => Marks.Count(x => x == 5 || x == 4 || x == 3) * 100d / Marks.Count; }
public double QualityPercentage { get => Marks.Count(x => x == 5 || x == 4) * 100d / Marks.Count; }
public double LearningLevel
{
get
{
double[] Coeff = {7d, 16d, 36d, 64d, 100d};
return Enumerable.Range(1, 5).Select(i => Coeff[i - 1] * Marks.Count(x => x == i)).Sum() / Marks.Count;
}
}
}
Alan Kublanov Знаток (376) 7 месяцев назад
Чтобы реализовать эти формулы в вашем классе `Uspevaemost`, вы можете добавить методы для вычисления каждой величины. Давайте добавим методы для расчета `Ap`, `Qp` и `L`:

```csharp
internal class Uspevaemost
{
// Поля класса
private double procentUspevaemost;
private double procentKachestvaZnaij;
private double stepenObuchennostiObuchayushchikhsya;

// Конструктор
public Uspevaemost() { }

// Методы для установки значений полей
public void SetProcentUspevaemost(double procentUspevaemost)
{
this.procentUspevaemost = procentUspevaemost;
}

public void SetProcentKachestvaZnaij(double procentKachestvaZnaij)
{
this.procentKachestvaZnaij = procentKachestvaZnaij;
}

public void SetStepenObuchennostiObuchayushchikhsya(double stepenObuchennostiObuchayushchikhsya)
{
this.stepenObuchennostiObuchayushchikhsya = stepenObuchennostiObuchayushchikhsya;
}

// Методы для вычисления формул
public double CalculateAp(int n5, int n4, int n3, int N)
{
return ((double)(n5 + n4 + n3) / N) * 100;
}

public double CalculateQp(int n5, int n4, int N)
{
return ((double)(n5 + n4) / N) * 100;
}

public double CalculateL(int n5, int n4, int n3, int n2, int n0, int N)
{
return ((100 * n5) + (64 * n4) + (36 * n3) + (16 * n2) + (7 * n0)) / N;
}
}
```

Теперь вы можете использовать эти методы, чтобы рассчитать значения `Ap`, `Qp` и `L` в вашем коде. Например:

```csharp
Uspevaemost uspevaemost = new Uspevaemost();

// Установка значений полей
uspevaemost.SetProcentUspevaemost(70);
uspevaemost.SetProcentKachestvaZnaij(60);
uspevaemost.SetStepenObuchennostiObuchayushchikhsya(80);

// Вычисление и вывод результатов
Console.WriteLine("Ap: " + uspevaemost.CalculateAp(5, 4, 3, 20));
Console.WriteLine("Qp: " + uspevaemost.CalculateQp(5, 4, 20));
Console.WriteLine("L: " + uspevaemost.CalculateL(5, 4, 3, 2, 0, 20));
```

Этот код позволит вам вычислить значения `Ap`, `Qp` и `L` в соответствии с вашими формулами. Вы можете вызывать эти методы с различными параметрами в зависимости от ваших данных.
Анастасия ЧерёмушкинаУченик (114) 7 месяцев назад
мне надо для Windows Forms
Похожие вопросы