Файл: Отчет по лабораторной работе 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 marks = new List(nofj);

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 marks = new List(nofj);

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. ВЫВОД.

Повторил и обобщил информацию о классах в С#, научился составлять алгоритмы для их обработки.