Similar presentations:
Стек. Сплошное представление
1.
Стек.Сплошное представление
Зав. кафедрой, д. ф.-м. н., проф. Артемов М. А.
Обучающийся
______________
Руководитель д. ф.-м. н., проф. Артемов М. А.
1
2.
СтекСтек — абстрактный тип данных,
представляющий собой список
элементов, организованных по принципу
LIFO (Last in — first out).
Сплошное представление стека —
реализация стека с помощью массива
2
3.
Постановка задачиУсловие: Разработать библиотеку обобщенных
классов для работы со стеком. В структуру классов
входит интерфейс для всех стеков, класс стека
на основе массива, а также класс различных
операций над стеком.
Также необходимо разработать GUI - приложение,
содержащее серию примеров, демонстрирующих
работу с данной библиотекой.
3
4.
Анализ задачиПользователь должен иметь возможность:
• создавать стек;
• добавлять и удалять элементы;
• конвертировать тип данных элементов;
• очищать стек;
• выполнять различные операции над
стеком.
4
5.
Средства реализации• Язык программирования C#.
• Среда разработки — Microsoft Visual
Studio 2019.
5
6.
Требованияк аппаратному и программному
обеспечению
• Операционная система Windows 7
и выше.
• Требования к аппаратному обеспечению
соответствуют минимальным
системным требованиям ОС.
6
7.
Окно программыпри начале работы
7
8.
Окно программы послесоздания стека
8
9.
Окно добавленияэлемента в стек
9
10.
Окно программы последобавления нескольких элементов
10
11.
Методы модуля сплошногопредставления стека
virtual public void Push(T node)
virtual public void Clear()
virtual public T Pop()
virtual public T Peek()
public override string ToString()
11
12.
Методы модуляопераций над стеком
public static IStack<T> FindAll<T>(IStack<T> iStack,
CheckDelegate<T> check, StackConstructorDelegate<T> constructor)
public static IStack<TO> ConvertAll<TI, TO>(IStack<TI> iStack,
ConvertDelegate<TI, TO> convert, StackConstructorDelegate<TO>
constructor) where TO : IComparable<TO>
public static bool Exists<T>(IStack<T> iStack, CheckDelegate<T>
check)
public static bool CheckForAll<T>(IStack<T> iStack,
CheckDelegate<T> check)
public static void ForEach<T>(ref IStack<T> iStack,
ActionDelegate<T> action) where T : IComparable<T>
12
13.
План тестированияПроверить:
• создание стека;
• добавление элемента;
• удаление элемента;
• изменение стека;
• конвертирование стека;
• очистку стека.
13
14.
Заключение• Изучены особенности сплошного
представления стека.
• Реализована программа,
предоставляющая пользователю
инструменты для работы со стеком.
• Создана библиотека классов,
содержащая реализацию сплошного
представления стека и класса
различных операций над стеком.
14
15.
Стек.Сплошное представление
Зав. кафедрой, д. ф.-м. н., проф. Артемов М. А.
Обучающийся
______________
Руководитель д. ф.-м. н., проф. Артемов М. А.
1