Добавил:
Только когда поступишь в технический вуз поймешь на сколько ты гуманитарий Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсовая работа / Готовая КР(Тема Конкурс)

.pdf
Скачиваний:
2
Добавлен:
23.12.2024
Размер:
878.65 Кб
Скачать

СОДЕРЖАНИЕ

ВВЕДЕНИЕ ..................................................................................................................

6

1

ТЕХНИЧЕСКОЕ ЗАДАНИЕ ............................................................................

7

1.1

Назначение разработки .....................................................................................

7

1.1.1

Наименование программы................................................................................

7

1.1.1

Краткая характеристика области применения программы............................

7

1.2

Основание для разработки................................................................................

8

1.3

Назначение разработки .....................................................................................

8

1.4

Требования, предъявляемые к программе.......................................................

8

1.4.1

Требования к функциональным характеристикам программы.....................

8

1.4.2

Требования к техническим средствам, используемым при работе

 

программы....................................................................................................................

8

1.4.3

Требования к информационным структурам на входе и выходе

 

программы....................................................................................................................

9

1.5

Требования к программной документации .....................................................

9

1.6

Требования к программной документации .....................................................

9

2 ОБЗОР СПОСОБОВ ОРГАНИЗАЦИИ ДАННЫХ И ОБОСНОВАНИЕ

 

ВЫБОРА СТРУКТУРЫ ДАННЫХ ДЛЯ ЭФФЕКТИВНОГО ВЫПОЛНЕНИЯ

 

ОПЕРАЦИЙ ...............................................................................................................

10

2.1

Связный список ...............................................................................................

10

2.2

Стек ...................................................................................................................

10

2.3

Множества........................................................................................................

10

2.4

Массив ..............................................................................................................

11

2.5

Вектор...............................................................................................................

11

2.6

Выбор структуры данных ...............................................................................

11

3

ОПИСАНИЕ ПРОГРАММЫ..........................................................................

13

3.1

Общие сведения...............................................................................................

13

3.1.1

Наименование программы..............................................................................

13

3.1.2

Программное обеспечение, необходимое для функционирования

 

 

4

 

программы..................................................................................................................

13

3.1.3 Язык программирования, на котором написана программа .......................

13

3.2Функциональное назначение программы (классы решаемых задач и

функциональные ограничения на применения) .....................................................

14

3.3

Описание логической структуры программы ..............................................

14

3.3.1

Алгоритмы, используемые в программе.......................................................

14

3.3.2

Алгоритм запуска программы........................................................................

15

3.3.3

Алгоритм начала регистрации .......................................................................

16

3.3.4

Алгоритм продолжения регистрации ............................................................

17

3.3.5

Алгоритм проведения конкурса.....................................................................

18

3.3.6

Структура программы с описанием функций составных частей и связей

 

между ними ................................................................................................................

20

3.4

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

21

3.5

Вызов программы ............................................................................................

22

3.6

Входные данные ..............................................................................................

23

3.7

Выходные данные............................................................................................

24

ЗАКЛЮЧЕНИЕ..........................................................................................................

25

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ................................................

26

ПРИЛОЖЕНИЕ А .....................................................................................................

27

5

ВВЕДЕНИЕ

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

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

сортировки участников по баллу и вывода результатов на экран и в текстовый файл.

В рамках курсовой работы была реализована система для проведения конкурсов, которая включает в себя следующие функции:

Открытие конкурса: Инициализация конкурса, задание количества участников и призовых мест.

1.Открытие конкурса: Инициализация конкурса, задание количества участников и призовых мест.

2.Регистрация участника: Добавление новых участников в список участников конкурса.

3.Окончание регистрации участников: Завершение процесса регистрации, что не позволяет добавлять новых участников.

4.Проведение конкурса: Ввод баллов для каждого участника конкурса.

5.Окончание конкурса: Завершение процесса ввода баллов.

6.Подведение итогов: Сортировка списка участников по баллу в порядке убывания, вывод упорядоченного списка участников в консоль и в текстовый файл.

Данная работа позволяет продемонстрировать практическое применение программирования для решения реальных задач и показать способность разработчика строить программы, удовлетворяющие заданным требованиям.

6

1 ТЕХНИЧЕСКОЕ ЗАДАНИЕ

1.1Назначение разработки

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

1.1.1Наименование программы

Название данного приложения «Конкурс» будет напрямую отражать темой курсовой работы по реализации конкурса. Данное название отражает предназначение будущего приложения. Английский вариант названия:

«Competition».

1.1.1Краткая характеристика области применения программы

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

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

корпоративных конкурсов на лучший проект, спортивных соревнований, где необходимо вести учет результатов и формировать рейтинги участников.

Программа также может быть полезна при проведении опросов и анкетирования, позволяя автоматически подсчитывать голоса и формировать отчеты, а также при проведении выборов, где требуется определить победителя по результатам голосования.

Программа “Конкурс” позволяет существенно упростить организацию и проведение различных мероприятий, сокращая время и усилия, затрачиваемые

на ручные операции.

7

1.2Основание для разработки

Основанием для разработки является курсовая работа по дисциплине

«Алгоритмические основы обработки данных», предусмотренная учебным планом направления подготовки профиля «Цифровые комплексы,

системы и сети».

1.3Назначение разработки

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

1.4Требования, предъявляемые к программе

1.4.1Требования к функциональным характеристикам программы

В приложении должны быть реализованы следующие операции:

открытие конкурса;

регистрация участника;

окончание регистрации участников;

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

окончание конкурса;

подведение итогов конкурса: сортировка списка участников по убыванию баллов и вывод упорядоченного списка участников на экран и в текстовый файл.

1.4.2 Требования к техническим средствам, используемым при

работе программы

Персональный компьютер пользователя должен быть оснащён

8

графическим адаптером, также должна быть установлена ОС Windows (не ниже

Windows 7).

1.4.3 Требования к информационным структурам на входе и

выходе программы

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

1.5Требования к программной документации

1.Пояснительная записка оформлена в соответствии с ЛНА РТУ МИРЭА.

2.Проектная документация, составленная в соответствии с ГОСТ.

В процессе создания приложения вся проделанная работа документируется, должны быть сохранены все детали разработки, а также трудности, с которыми пришлось столкнуться. Всё вышеперечисленное должно быть отражено в пояснительной записке, которая прилагается к работе.

1.6Требования к программной документации

1.Обзор способов организации данных и обоснование выбора структуры данных для эффективного выполнения операций 02.09.202422.09.2024.

2.Разработка программы: 22.09.2024-30.11.2024.

3.Разработка программной документации: 01.12.2024-10.12.2024.

4.Оформление пояснительной записки: 11.12.2024-16.12.2024.

5.Защита курсовой работы: 23.12.2024-30.12.2024.

9

2ОБЗОР СПОСОБОВ ОРГАНИЗАЦИИ ДАННЫХ

ИОБОСНОВАНИЕ ВЫБОРА СТРУКТУРЫ ДАННЫХ ДЛЯ ЭФФЕКТИВНОГО ВЫПОЛНЕНИЯ ОПЕРАЦИЙ

Данные могут быть организованы различными способами. Тип структуры данных в программе оказывает большое влияние на ее производительность. Для того чтобы выбрать наиболее простой и эффективный способ организации данных в программе рассмотрим несколько типов структур.

2.1Связный список

Связный список – фундаментальная структура данных, представляющая собой последовательность элементов, связанных между собой. В отличие от массива, элементы связного списка не хранятся в непрерывной памяти, а

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

обеспечивая двусторонний доступ к данным. Основные операции со списком включают добавление, удаление и поиск элементов.

2.2Стек

Стек – структура данных, организованная по принципу LIFO (Last-In, FirstOut – последний пришёл, первый ушёл). Доступ к элементам стека осуществляется только через его вершину: добавление элемента (операция push) и удаление элемента (операция pop) происходят с этого конца.

2.3Множества

Множество – структура данных, аналогичная математическому понятию множества. Она хранит уникальные элементы заданного типа и предоставляет

10

операции добавления, удаления и проверки наличия элемента. В отличие от массивов или векторов, доступ к элементам множества осуществляется не по индексу, а с помощью итераторов.

2.4Массив

Массив – базовая и широко используемая структура данных, служащая для хранения больших объемов однотипных данных. Элементы массива доступны по индексу. Существуют одномерные (линейные) и многомерные

(вложенные) массивы, причем наиболее распространены одномерные и двумерные. Динамические массивы, размер которых определяется во время выполнения программы, обеспечивают гибкость в управлении памятью.

2.5Вектор

Вектор – это динамический массив, автоматически управляющий размером выделенной памяти. Он позволяет создавать массивы произвольной длины во время выполнения программы без явного выделения и освобождения памяти с помощью new и delete. Векторы упрощают разработку, предотвращая утечки памяти. Доступ к элементам осуществляется по индексу (с помощью квадратных скобок), а для добавления элемента в конец используется метод push_back(). Все элементы вектора должны быть одного типа.

2.6Выбор структуры данных

Для нашей программы используем vector для хранения списка участников. Это динамический массив, позволяющий легко добавлять, удалять и изменять элементы. vector подходит нам так как это динамический массив,

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

Для хранения результатов используем map для хранения результатов

11

конкурса. Ключ – это идентификационный номер участника (int), значение – это его количество баллов (int). map обеспечивает быстрое обращение к элементам по ключу, что удобно для регистрации баллов участников.

Чтобы реализовать хранение данных в файле, необходимо использовать файловое хранилище fstream для чтения, записи и хранения файла.

12

3 ОПИСАНИЕ ПРОГРАММЫ

3.1Общие сведения

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

3.1.1Наименование программы

Название программы: «Конкурс» или на английском языке «Сontest». Оно отражает предназначение и главную функцию созданного приложения.

3.1.2 Программное

обеспечение,

необходимое

для

функционирования программы

Для корректного функционирования данного программного продукта необходимо, чтобы на персональном компьютере или ноутбуке пользователя была установлена ОС от компании Microsoft, а именно Windows (Windows 10).

Также требуется наличие графического адаптера, чтобы устройство могло справляться с обработкой отображения консоли приложения. Другие требования к устройству пользователя не предусмотрены.

3.1.3Язык программирования, на котором написана программа

Для написания программы был выбран язык программирования С++, за его доступность, понятность и высокую производительность.

13