Главная страница
Навигация по странице:

  • «МИРЭА – Российский технологический университет» РТУ МИРЭА

  • Руководитель курсовой работы

  • Утверждаю Заведующий кафедрой Подпись Платонова О.В. ФИО «25» февраля 2021 г.ЗАДАНИЕ на выполнение курсовой работы

  • Исходные данные

  • Срок представления к защите курсовой работы: до «31» мая 2021г.

  • Задание на курсовую работу выдал

  • Задание на курсовую работу получил

  • Постановка задачи Определение указателя на объект по его координате

  • Пример ввода иерархии дерева объектов.

  • Описание выходных данных Первая строка: 7 Object treeСо второй строки

  • Курсовая работа по дисциплине Объектноориентированное программирование


    Скачать 415.64 Kb.
    НазваниеКурсовая работа по дисциплине Объектноориентированное программирование
    Анкорkursovaya
    Дата28.05.2022
    Размер415.64 Kb.
    Формат файлаdocx
    Имя файлаKursovaya (5).docx
    ТипКурсовая
    #554369
    страница1 из 5
      1   2   3   4   5



    МИНОБРНАУКИ РОССИИ
    Федеральное государственное бюджетное образовательное учреждение

    высшего образования

    «МИРЭА – Российский технологический университет»

    РТУ МИРЭА



    Институт информационных технологий

    Кафедра вычислительной техники



    КУРСОВАЯ РАБОТА

    по дисциплине

    Объектно-ориентированное программирование













    (наименование дисциплины)







    Тема курсовой работы Разработка программы для поиска объекта на дереве иерархии по



















    уникальному наименованию










    Студент группы



















    (ФИО, учебная группа)




    (подпись студента)




    Руководитель курсовой работы































    (должность, звание, ученая степень, ФИО)




    (подпись руководителя)

    Рецензент (при наличии)











































    (должность, звание, ученая степень, ФИО)




    (подпись рецензента)

    Работа представлена к защите

    «










    »







    2021г.







    Допущен к защите

    «










    »







    2021г.







    Москва 2021 г.



    МИНОБРНАУКИ РОССИИ
    Федеральное государственное бюджетное образовательное учреждение

    высшего образования

    «МИРЭА – Российский технологический университет»

    РТУ МИРЭА



    Институт информационных технологий

    Кафедра вычислительной техники



    Утверждаю
    Заведующий кафедрой

    Подпись

    Платонова О.В.
    ФИО
    «25» февраля 2021 г.

    ЗАДАНИЕ
    на выполнение курсовой работы по дисциплине
    «Объектно-ориентированное программирование»



    Студент

    Милованов Дмитрий Алексеевич

    Группа ИКБО-04-20













    Тема:

    Разработка программы для поиска объекта на дереве иерархии по уникальному




    наименованию









    Исходные данные: Исходная иерархия расположения объектов, координаты искомых объектов Перечень вопросов, подлежащих разработке, и обязательного графического материала:


    1. Реализовать алгоритм размещения всех объектов в составе программы на иерархическом дереве объектов.




    1. Реализовать алгоритм поиска объекта на дереве иерархии.




    1. Блок-схема реализованных алгоритмов.



    Срок представления к защите курсовой работы:

    до «31» мая 2021г.







    Задание на курсовую работу выдал

    (




    )




    Подпись руководителя







    Ф.И.О. руководителя




    Задание на курсовую работу получил

    «25» февраля 2021г













    (

    .

    )




    Подпись обучающегося







    Ф.И.О. исполнителя




    Москва 2021 г.


    СОДЕРЖАНИЕ
    ВВЕДЕНИЕ 4

    Постановка задачи 6

    Метод решения 9

    Описание алгоритма 11

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

    Код программы 25

    Тестирование 32

    ЗАКЛЮЧЕНИЕ 33

    СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ (ИСТОЧНИКОВ) 34


    ВВЕДЕНИЕ
    Объектно-ориентированное программирование (ООП) - парадигма программирования, которая основана на представлении программы в виде совокупности объектов.
    Объект - некоторая сущность, у которой есть определенные состояния, свойства, операции, поведение. Каждый из объектов является экземпляром определенного класса, совокупность которых образует иерархию наследования.
    ООП является одной из самых популярных парадигм программирования. Оно уже долгое время является актуальным и не собирается сбавлять ход.


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


    Также актуальность этой парадигмы связана с реальным миром. ООП очень похоже на наше окружение: объектами являются люди, животные, предметы, а методами - их действия.
    ООП помогает развить объектное мышление. Этот навык позволяет быстрее и легче проектировать сложные системы, представляя их в виде объектов.
    Важный аспект ООП состоит том, что его можно реализовать во многих языках программирования. Однако одним из лидеров является C++:


    4




    • C++ поощряет программистов свойствами вроде множественного наследования и динамического полиморфизма;




    • C++ дает большую свободу программисту, что позволяет ему писать продвинутый и быстрый код.


    На моем направлении C++ и ООП дают преимущества в дальнейшем обучении. Изучив их на первом курсе, впоследствии я смогу быстрее и качественнее писать программы на одном из самых производительных и многофункциональных языках программирования.


    5


    Постановка задачи
    Определение указателя на объект по его координате

    Иметь возможность доступа из текущего объекта к любому объекту системы, «мечта» разработчика программы.


    • составе базового класса реализовать метод получения указателя на любой объект в составе дерева иерархии объектов.

    • качестве параметра методу передать путь объекта от корневого. Путь задать в следующем виде:


    /root/ob_1/ob_2/ob_3

    Уникальность наименования требуется только относительно множества подчиненных объектов для любого головного объекта.
    Если система содержит объекты с уникальными именами, то в методе реализовать определение указателя на объект посредством задания координаты в виде:
    //«наименование объекта»

    Состав и иерархия объектов строится посредством ввода исходных данных.
    Ввод организован как в контрольной работе № 1.
    Единственное различие: в строке ввода первым указать не наименование головного объекта, а путь к головному объекту.

    6

    Подразумевается, что к моменту ввода очередной строки соответствующая ветка на дереве иерархии уже построена.

    Система содержит объекты пяти классов, не считая корневого. Номера классов: 2, 3, 4, 5, 6.
    Пример ввода иерархии дерева объектов.

    root
    /root object_1 3 1
    /root object_2 2 1
    /root/object_2 object_4 3 -1
    /root/object_2 object_5 4 1
    /root object_3 3 1
    /root/object_2 object_3 6 1
    /root/object_1 object_7 5 1
    /root/object_2/object_4 object_7 3 -1
    endtree

    Описание входных данных
    Множество объектов, их характеристики и расположение на дереве иерархии.


    Структура данных для ввода согласно изложенному в фрагменте методического указания [3] в контрольной работе № 1.
    После ввода состава дерева иерархии построчно вводятся координаты искомых объектов.

    Ввод завершается при вводе: //

    Описание выходных данных
    Первая строка:



    7

    Object tree


    Со второй строки вывести иерархию построенного дерева.

    Далее, построчно:
    «координата объекта» Object name: «наименование объекта» Разделитель один пробел.
    Если объект не найден, то вывести:
    «координата объекта» Object not found
    Разделитель один пробел.


    8


    Метод решения
    Объект base класса BaseApplication.

    Класс Base:

    Методы:



    • Метод get_object_by_path(string path) - возвращает указатель на искомый объект в составе дерева иерархии объектов по пути или координате.


    Класс BaseApplication:

    Методы:






    • Метод exec_app() - запускает приложение.



    Иерархия наследования отображена в таблице 1.

    Таблица 1. "Описание иерархии наследования классов"















    Модификатор


















    Имя класса

    Классы-наследники

    доступа

    при

    Описание




    Номер













    наследовании
















    1

    Base










    Базовый класс






















    в

    иерархии






















    классов.

























    Содержит

























    основные

























    свойства

    и






















    методы.
















    BaseApplication

    public













    2










    Class2

    public













    3










    Class3

    public













    4





    9







    Class4

    public







    5







    Class5

    public







    6







    Class6

    public







    7

    2

    BaseApplication







    Класс



















    корневого
















    объекта
















    (приложения).




    3

    Class2







    Класс,
















    соответствую
















    щий номеру 2.
















    Используется
















    для

    объектов
















    дерева.




    4

    Class3







    Класс,
















    соответствую
















    щий номеру 3.
















    Используется
















    для

    объектов
















    дерева.




    5

    Class4







    Класс,
















    соответствую
















    щий номеру 4.
















    Используется
















    для

    объектов
















    дерева.




    6

    Class5







    Класс,
















    соответствую
















    щий номеру 5.
















    Используется
















    для

    объектов
















    дерева.




    7

    Class6







    Класс,
















    соответствую
















    щий номеру 6.
















    Используется
















    для

    объектов
















    дерева.







    10

      1   2   3   4   5


    написать администратору сайта