Файл: Отчет по лабораторной работе 7 по дисциплине Объектноориентированное программирование.docx
Добавлен: 12.01.2024
Просмотров: 174
Скачиваний: 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. ВЫВОД.
Повторил и обобщил информацию о классах в С#, научился составлять алгоритмы для их обработки.
{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. ВЫВОД.
Повторил и обобщил информацию о классах в С#, научился составлять алгоритмы для их обработки.