Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Разработка динамических структур данных и функций их обработки




 

Объявите заданную динамическую структуру данных и разработайте функции обработки значений данных этой структуры. «Главная» программа (main) осуществляет тестирование разработанных программных средств.

1) Для хранения целых чисел используется следующая структура данных:

Функции:

· добавить значение (в зависимости от первой цифры число попадает в конец одного из списков)

· вывести текущее состояние структуры данных (вывести все значения в виде двумерного массива)

· найти значение в структуре данных (функция возвращает 1, если значение найдено, и 0 – в противном случае)

 

2) Множество целых чисел представляется как однонаправленный линейный список.

Функции:

· найти значение в множестве (функция возвращает 1, если значение найдено, и 0 – в противном случае)

· добавить значение в множество (если значение уже есть в множестве, то оно в множество не добавляется. Для проверки используйте функцию «найти значение в множестве»)

· вывести текущее состояние множества (вывести все значения)

· определить мощность множества (подсчитать количество чисел в множестве)

 

3) Многочлен  представляется как однонаправленный линейный список, элемент которого имеет следующую структуру:

Например, многочлену  будет соответствоватьсписок:

Функции:

· добавить элемент многочлена в список

· сформировать многочлен (используется функция «добавить элемент многочлена в список»)

· вывести многочлен (вывести общий вид многочлена; для возведения в степень использовать символ «^», например, х^3)

· вычислить многочлен (функция возвращает значение многочлена при заданном х)

 

4) «Длинное» целое число представляется как однонаправленный линейный список, где каждая цифра – элемент списка.

Функции:

· сформировать «длинное» целое число (функция формирует список из цифр числа)

· вывести список (функция выводит «длинное» целое число)

· сложить два «длинных» целых числа (функция получает на вход два списка и возвращает третий список, каждый элемент которого содержит цифру, равную сумме, соответствующих цифр исходных списков. Фактически, результат функции – сумма двух чисел)

 

 

5) Циклический однонаправленный список целых чисел имеет следующуюструктуру:

Функции:

· добавить в список (функция добавляет элемент в конец списка)

· вывести список (функция выводит все значения, которые хранятся в списке)

· выбрать элемент из списка по номеру (функция удаляет элемент, отсчитывая его в соответствии с заданным номером от начала списка. Номер может быть больше количества элементов списка)

 

6) Динамический массив из N комплексных чисел.

Функции:

· сформировать массив

· вывести массив (функция выводит все комплексные числа)

· определить комплексное число как сумму всех комплексных чисел массива

· найти комплексное число с максимальным модулем (модуль: , где re – действительная часть, im – мнимая часть комплексного числа)

 

7) Стек как динамический массив из N целых чисел.

Функции:

· поместить значение в стек;

· извлечь значение из стека (функция возвращает значение из вершины стека и удаляет его из стека)

· стек заполнен (функция возвращает значение «истина», если стек заполнен)

· стек пуст (функция возвращает значение «истина», если в стеке нет значений)

· вывести стек (не изменяя содержимое стека функция, выводит все значения, которые хранятся в стеке)

 

8) Стек как однонаправленный линейный список целых чисел.

Функции:

· поместить значение в стек (функция добавляет значение в начало списка);

· извлечь значение из стека (функция возвращает значение из начала списка и удаляет его из списка)

· стек пуст (функция возвращает значение «истина», если в списке нет значений)

· вывести стек (не изменяя содержимого списка, функция выводит все значения, которые хранятся в списке)

 

 

9) Очередь как однонаправленный линейный список целых чисел. Задана максимальная длина очереди – N.

Функции:

· поместить значение в очередь (функция добавляет значение в конец списка);

· выбрать значение из очереди (функция возвращает значение из начала списка и удаляет его из списка)

· длина очереди (функция возвращает количество элементов в списке)

· очередь заполнена (функция возвращает значение «истина», если количество элементов списка равно N)

· вывести очередь (не изменяя содержимого списка, функция выводит все значения, которые хранятся в списке)

 

10) Двунаправленный линейный список целых чисел. Каждый элемент списка имеет указатель на следующий элемент списка и указатель на предыдущий элемент.

Функции:

· поместить значение в список (функция добавляет значение в конец списка);

· удалить значение из списка (функция удаляет значение из конца списка)

· вставить значение в список после элемента с порядковым номером M (функция добавляет новый элемент в список после элемента с указанным номером. Если в списке меньше элементов, чем M, функция выводит предупредительное сообщение и не изменяет структуру списка)

· вывести список в прямом порядке (не изменяя содержимого списка, функция выводит все значения, которые хранятся в списке, от начала до конца списка)

· вывести список в обратном порядке (не изменяя содержимого списка, функция выводит все значения, которые хранятся в списке, от конца списка к началу)

 


 

КЛАССЫ И ОБЪЕКТЫ

 

Подход к разработке программных средств, в основе которого лежит объектная декомпозиция программной системы, получил название объектно-ориентированного.

Объектная декомпозиция заключается в представлении программной системы в виде совокупности классов и объектов, которые наиболее естественным образом отражают предметную область работы системы. При этом иерархический характер системы отражается в иерархии классов, а ее функционирование рассматривается как взаимодействие объектов этих классов.

Объект обладает индивидуальностью и поведением. Индивидуальность объекта, его свойства – это значения атрибутов (данных), которые определяют его состояние. Поведение – это совокупность методов (функций), определяющих взаимодействие объекта с "внешней" средой и изменяющих его состояние. Таким образом, объект объединяет данные (свойства) и код (поведение) в единое целое. Каждый объект является представителем некоторого класса.

 

Класс – это совокупность однотипных объектов. Класс определяет общие свойства для всех его объектов. Графическое изображение класса в нотации языка UML (Unified Modeling Language) следующее (рисунок 4.1):

Рисунок 4.1 – Графическое представление класса

 

Таким образом определение класса включает:

 

class имя_класса// Определение класса

{

// Член класса может быть:

// private (закрытый) доступный только внутри методов и

//                                       друзей этого класса;

//   protected (защищенный)доступный только внутри методов, друзей этого

//                                        класса и производных от него классов;

// public (открытый)     доступный из произвольной программной среды

// Данные

       private:

       объявление данных;

// Методы

public:





Поделиться с друзьями:


Дата добавления: 2018-10-14; Мы поможем в написании ваших работ!; просмотров: 426 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Бутерброд по-студенчески - кусок черного хлеба, а на него кусок белого. © Неизвестно
==> читать все изречения...

2951 - | 2880 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.