Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 96 additions & 4 deletions Lab8/Green/Task1.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,98 @@
namespace Lab8.Green
{
public class Task1
namespace Lab8.Green
{
public class Task1
{
public abstract class Participant
{
private string _lastname;
private string _group;
private string _couchlm;
private double _result;
protected int _norm;
private static int _passed;
public static int PassedTheStandard => _passed;
public string Surname => _lastname;
public string Group => _group;
public string Trainer => _couchlm;
public double Result => _result;
static Participant()
{

_passed = 0;
}
public bool HasPassed
{
get
{
if (_result <= _norm)
{
return true;
}
return false;
}
}
public Participant(string name, string group, string trainer)
{
_lastname = name;
_group = group;
_couchlm = trainer;
_result = 0;
}

public static Participant[] GetTrainerParticipants(Participant[] participants, Type participantType, string trainer)
{
if (participants == null)
{
return new Participant[0];
}
var a = new Participant[0];
foreach(var f in participants)
{
if (f.GetType()==participantType && f.Trainer == trainer)
{
Array.Resize(ref a, a.Length + 1);
a[a.Length-1] = f;
}
}
return a;
}
public void Run(double result)
{
if (_result > 0)
{
return;
}
_result = result;
if (result <= _norm)
{
_passed++;
}
}
public void Print()
{
Console.WriteLine($"Фамилия: {_lastname}");
Console.WriteLine($"Группа: {_group}");
Console.WriteLine($"Тренер: {_couchlm}");
Console.WriteLine($"Результат:{_result}");
Console.WriteLine($"Норматив: {_norm} сек");


}
}
public class Participant100M : Participant
{
public Participant100M(string surname, string group, string trainer) : base(surname, group, trainer)
{
_norm = 12;
}
}

public class Participant500M : Participant
{
public Participant500M(string surname, string group, string trainer) : base(surname, group, trainer)
{
_norm = 90;
}
}
}
}
}
107 changes: 105 additions & 2 deletions Lab8/Green/Task2.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,109 @@
namespace Lab8.Green
using System.Xml.Linq;

namespace Lab8.Green
{
public class Task2
{
public class Human
{
private string _name;
private string _surname;
public string Name => _name;
public string Surname => _surname;
public Human(string name, string surname)
{
_name = name;
_surname = surname;
}
public void Print()
{
Console.WriteLine($"Name:{_name}");
Console.WriteLine($"Surename: {_surname}");

}
}

public class Student: Human
{

private int[] _marks;
private int _exam;
private static int _otlcount;
private bool _AAAA;
public int[] Marks => _marks.ToArray();
public static int ExcellentAmount => _otlcount;

public double AverageMark
{
get
{
if (_marks == null) { return 0; }
double sum = 0;
for (int i = 0; i < _marks.Length; i++)
{
sum += _marks[i];
}
return sum / _marks.Length;
}
}
public bool IsExcellent
{
get
{
if (_marks == null) { return false; }
for (int i = 0; i < _marks.Length; i++)
{
if (_marks[i] < 4)
{
return false;
}
}

return true;
}
}

public Student(string name, string surname): base(name,surname)
{

_marks = new int[4];
_exam = 0;
_AAAA = true;
}
public void Exam(int mark)
{
if (mark < 2 || mark > 5) { return; }
if (_exam == 4) { return; }

_marks[_exam] = mark;
_exam++;
if (_AAAA && IsExcellent)
{
_otlcount++;
_AAAA = false;
}
}
public static void SortByAverageMark(Student[] array)
{
if (array == null) { return; }
for (int i = 0; i < array.Length - 1; i++)
{
for (int j = 0; j < array.Length - 1 - i; j++)
{
if (array[j].AverageMark < array[j + 1].AverageMark)
{
(array[j], array[j + 1]) = (array[j + 1], array[j]);
}
}
}
}
public void Print()
{
Console.WriteLine($"Name:{base.Name}");
Console.WriteLine($"Surename: {base.Surname}");
Console.WriteLine($"AverageMark: {AverageMark}");
Console.WriteLine($"Excellent: {IsExcellent}");
}
}
}
}
}
Loading
Loading