Файл: Отчет по лабораторной работе 7 по дисциплине Объектноориентированное программирование.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 12.01.2024

Просмотров: 176

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования РФФГАОУ ВПО Национальный исследовательский технологический университет «МИСиС»Институт Информационных технологий и компьютерных наук (ИТКН)Кафедра Инфокоммуникационных технологий (ИКТ)Отчет по лабораторной работе №7по дисциплине «Объектно-ориентированное программирование»на тему «Классы»Выполнил:студент группы БИВТ-22-15Мотин Д.А.Проверил: Стучилин В.В.Москва, 20231. ЦЕЛЬ РАБОТЫ.Научиться работе с классами, освоить типовые алгоритмы их обработки.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. ВЫВОД.

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