Файл: Отчет по лабораторной работе 7 по дисциплине Объектноориентированное программирование.docx
Добавлен: 12.01.2024
Просмотров: 45
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования РФ
ФГАОУ ВПО
Национальный исследовательский технологический университет «МИСиС»
Институт Информационных технологий и компьютерных наук (ИТКН)
Кафедра Инфокоммуникационных технологий (ИКТ)
Отчет по лабораторной работе №7
по дисциплине «Объектно-ориентированное программирование»
на тему «Классы»
Выполнил:
студент группы БИВТ-22-15
Мотин Д.А.
Проверил:
Стучилин В.В.
Москва, 2023
1. ЦЕЛЬ РАБОТЫ.
Научиться работе с классами, освоить типовые алгоритмы их обработки.
2. ЗАДАНИЕ НА ЛАБОРАТОРНУЮ РАБОТУ.
3. ЛИСТИНГ ПРОГРАММЫ.
Номер 4.
namespace Console1App4
{
internal class Program
{
class sport
{
public string surname;
public int best;
public sport(string surname, int fjump, int sjump)
{
this.surname = surname;
best= Math.Max(fjump,sjump);
}
}
static void Main(string[] args)
{
Random rnd = new Random();
int mem1, mem2;
sport back;
int n = 6;
sport[] team = new sport[n];
for (int i = 0; i < n; i++)
{
mem1 = rnd.Next(100, 1000);
mem2 = rnd.Next(100, 1000);
Console.WriteLine($"Фамалия {i}, {mem1}, {mem2}");
team[i] = new sport("Фамалия "+i,mem1, mem2);
}
for (int i = 0; i < n-1; i++)
{
mem1=team[i].best;
mem2 = i;
for (int j = i+1; j < n; j++)
{
if (mem1 < team[j].best)
{
mem2 = j;
mem1 = team[j].best;
}
}
back = team[i];
team[i] = team[mem2];
team[mem2] = back;
}
}
}
}
Номер 5.
namespace Console1App5
{
internal class Program
{
class student
{
public int mark;
public int skip;
public string surname;
public student(int mark, int skip, string surname)
{
this.mark = mark;
this.skip = skip;
this.surname = surname;
}
}
static void Main(string[] args)
{
Random rnd = new Random();
int k = 0; int mem1, mem2; student back;
student[] group = new student[10];
for (int i = 0; i < group.Length; i++)
{
group[i] = new student(rnd.Next(0,6), rnd.Next(0,30),$"студент номер {i+1}");
while (group[i].mark == 1) group[i].mark=rnd.Next(0, 5);
if (group[i].mark == 2) k++;
Console.WriteLine($"{group[i].surname} - оценка {group[i].mark}, пропущено {group[i].skip}");
}
student[] kick = new student[k];
if (k == 0) return;
Console.WriteLine("неуспевающие.");
for (int i = 0; i < group.Length; i++)
if (group[i].mark == 2)
{
kick[k-1] = group[i];
k--;
}
for (int i = 0; i < kick.Length-1; i++)
{
mem1 = kick[i].skip;
mem2 = i;
for (int j = i; j < kick.Length; j++)
{
if (kick[j].skip > mem1)
{
mem1=kick[j].skip;
mem2 = j;
}
}
back = kick[i];
kick[i] = kick[mem2];
kick[mem2] = back;
}
for(int i = 0; i < kick.Length; i++)
{
Console.WriteLine($"{kick[i].surname}, пропуски - {kick[i].skip}");
}
}
}
}
Номер 4.
namespace Console2App5
{
internal class Program
{
const int nofd = 4;
const int nofj = 7;
class swim
{
public double mark1;
public double mark2;
public double mark3;
public double mark4;
public double final;
public string name;
public swim(string name, double m1, double m2, double m3, double m4)
{
mark1= m1;
mark2= m2;
mark3= m3;
mark4= m4;
final = Math.Round(m1 + m2 + m3 + m4, 1);
this.name= name;
}
}
static double Score()
{
List
Random r = new Random();
int[] points = new int[6] { 1, 2, 3, 4, 5, 6 };
for (int i = 0; i < nofj; i++)
marks.Add(points[r.Next(points.Length)]);
marks.Sort();
marks.RemoveAt(6);
marks.RemoveAt(0);
return(Math.Round(r.Next(25, 36) / 10.0 * marks.Sum(), 1));
}
static void Main(string[] args)
{
double max; int idmax;
swim mem;
int sp = 5;
swim[] team = new swim[sp];
for (int i = 0; i < sp; i++)
team[i] = new swim("Фамилия " + i, Score(), Score(), Score(), Score());
for (int i = 0; i < sp-1; i++)
{
max = team[i].final;
idmax = i;
for (int j= i; j < sp; j++)
if (team[j].final > max)
{
max=team[j].final ;
idmax = j;
}
mem=team[i];
team[i]=team[idmax];
team[idmax]=mem;
}
for (int i = 0; i < sp; i++)
Console.WriteLine($"{i+1} место - {team[i].name} ({team[i].final} очков)");
}
}
}
Номер 5.
namespace Console2App6
{
internal class Program
{
const int nofj = 5;
const int nofs = 6;
class sport
{
public string surname;
public int final;
public sport(string name, int m1)
{
final = m1;
surname = name;
}
}
static int Score()
{
List
Random r = new Random();
for (int i = 0; i < nofj; i++)
marks.Add(r.Next(1, 21));
marks.Sort();
marks.RemoveAt(4);
marks.RemoveAt(0);
return r.Next(-15, 16)*2 + marks.Sum()+60;
}
static void Main(string[] args)
{
sport[] team = new sport[nofs];
for (int i = 0; i < nofs; i++)
team[i] = new sport("Фамилия " + i, Score());
int max, idmax;
sport mem;
for (int i =0; i < nofs-1; i++)
{
max = team[i].final;
idmax = i;
for (int j = i; j < nofs; j++)
if (team[j].final > max)
{
max=team[j].final;
idmax = j;
}
mem = team[i];
team[i] = team[idmax];
team[idmax] = mem;
}
for (int i = 0; i < nofs; i++)
Console.WriteLine($"{i+1} место - { team[i].surname}, {team[i].final} баллов");
}
}
}
4. ПРИМЕР ВЫПОЛНЕНИЯ (СКРИНШОТЫ).
Номер 4.
Номер 5.
Номер 4.
Номер 5.
5. ВЫВОД.
Повторил и обобщил информацию о классах в С#, научился составлять алгоритмы для их обработки.