Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа по информатике Мезенцев Ю.Ю. ПС...docx
Скачиваний:
5
Добавлен:
23.09.2019
Размер:
1.64 Mб
Скачать
  1. Задание №8.

Описание элементов синтаксиса языка, используемых в задаче:

List<Word1> rbkList = new List< Word1> - создаем список заполненный экземплярами класса.

StaticWord1.PrintList(rbkList) − вывод списка на экран с помощью статического класса.

propList.Reverse() - записывает список в обратном порядке

propList.Add() – вставляет новый элемент в список. В конец списка

propList.Insert() – вставляет новый элемент в указанную позицию

propList.RemoveAt() – удаляет элемент из выбранной позиции

propList.FindIndex – выполняет поиск в списке элементов с указанными параметрами

propList.OrderBy() – выполняет сортировку по одному из параметров

propList.Clear() – очищает список

Воспользоваться условием в задании №6. В ходе работы выполнялись задачи:

1) Определить класс с двумя/тремя закрытыми полями.

2) Организовать доступ к закрытым членам класса через свойства.

3) Определить и заполнить список экземпляров класса (не менее 5 элементов).

4) Отсортировать список по одному из параметров (выбрать самостоятельно).

5) Добавить новый элемент в конец списка, добавить новый элемент в произвольную позицию списка (выбрать самостоятельно).

6) Удалить оба ранее вставленных элемента.

7) Найти элемент списка по определенному значению одного из его членов (значение задать самостоятельно).

8) Очистить список.

Блок-схема алгоритма:

Листинг класса «Word1»:

class Word1

{

private string _word;

private int _maxlen;

private int _numdifflett;

public Word1(string word)

{

if (word.Length > 0)

{

_word = word;

}

else

_word = "NoWord";

}

static Word1()

{

}

public void Print()

{

Console.WriteLine(" Слово : {0}, Длинна слова : {1}, Количество

различных букв : {2}", _word, _maxlen, _numdifflett);

}

public string Word

{

set { _word = Convert.ToString(value); }

get { return _word; }

}

public int Maxlen

{

set { _maxlen = Math.Abs(value); }

get { return _maxlen; }

}

public int NumDiffLett

{

set { _numdifflett = Math.Abs(value); }

get { return _numdifflett; }

}

~Word1()

{

Console.WriteLine("Объект удален!");

}

}

Вспомогательный класс «StaticWord1»:

class StaticWord1

{

public static void PrintList(List<Word1> Words)

{

foreach (Word1 rbk in Words)

rbk.Print();

}

}

Листинг программы:

List<Word1> rbkList = new List<Word1>

{

new Word1("палка") { Maxlen = 5, NumDiffLett = 4 },

new Word1("кружка") { Maxlen = 6, NumDiffLett = 5 },

new Word1("рот") { Maxlen = 3, NumDiffLett =3 },

new Word1("арматура") { Maxlen = 8, NumDiffLett = 5},

new Word1("ты") { Maxlen = 2, NumDiffLett = 2}

};

Console.WriteLine("Список ");

StaticWord1.PrintList(rbkList);

Console.WriteLine("\nСписок по возрастанию длины слова ");

StaticWord1.PrintList(rbkList.OrderBy(w => w.Maxlen).ToList());

rbkList.Add(new Word1("черепаха") { Maxlen = 8, NumDiffLett = 5

});

Console.WriteLine("\nСписок с новым элементом в конце ");

StaticWord1.PrintList(rbkList);

rbkList.Insert(3, new Word1("анальгин") { Maxlen = 8,

NumDiffLett=6

});

Console.WriteLine("\nСписок со вставленным элементом ");

StaticWord1.PrintList(rbkList);

rbkList.RemoveAt(3);

rbkList.RemoveAt(5);

Console.WriteLine("\nСписок с удаленнымы вставленнымы

элементами");

StaticWord1.PrintList(rbkList);

int num = rbkList.FindIndex(w => w.Word == ("палка"));

Console.WriteLine("\nНайденный элемент списка");

rbkList[num].Print();

rbkList.Clear();

Console.WriteLine("\nПустой список");

StaticWord1.PrintList(rbkList);

Console.ReadKey();

Контрольный пример:

Рисунок 21 – Контрольный пример №1