• Главная
  • Скачать
  • Курсовик Алгоритм поиска и сложности (обучающая программа на языке C# )


    Предмет: Программирование. Добавлен: 04.03.2022. Год: 2022. Страниц: 23. Оригинальность по antiplagiat.ru: < 30%

    МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
    ФГБОУ ВО «ТУВИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
    КАФЕДРА ИНФОРМАТИКИ

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

    Алгоритмы поиска
    (обучающая программа)


    Выполнила:
    студентка 2-го курса ФИТ_308 группы ФМФ 02.03.02 «Фундаментальная информатика и информационные технологии»


    Кызыл – 2020

    Содержание
    Введение ... ... 3
    Глава I. Теоретическая часть ……… ………. 4
    1.1 Алгоритмы поиска 5
    1.3 Алгоритмическая сложность 8
    Глава II. Обучающе-контролирую ая программа ………. ..……….… 14
    2.1 Структура программы 14
    2.2 Содержание теста……… ………... 19
    Заключение …... ... 22
    Список использованных источников и литературы …... ... 23

    ?
    Введение
    Современная методология программирования предполагает, что выбор структур данных и запись алгоритма на языке программирования важны и заслуживают одинакового внимания. Решение о том, как представлять данные, невозможно принимать без понимания того, какие алгоритмы будут к ним применяться, и наоборот, выбор алгоритма зависит от строения данных, к которым он применяется.
    Существует множество подходов при решении задач на ЭВМ. В случае решения простых задач выбор подхода не имеет особого значения. При решении сложных задач требуются методы, при которых время или память используются с максимальной эффективностью.
    Изучение алгоритмов необходимо для обеспечения экономии ресурсов. В программных приложениях, обрабатывающих миллионы объектов, оказывается возможным ускорить работу программы в миллионы раз, используя хорошо разработанный алгоритм. Вложение дополнительных денежных средств или времени для приобретения и установки нового компьютера позволяет ускорить работу программы в 10-100 раз. Тщательно разработанный алгоритм – эффективная часть процесса решения сложной задачи в любой области применения.
    Цель курсовой работы – изучить литературу по данной теме и создать обучающе-контролирую ую программу.
    Задачи курсовой работы:
    1. Изучить литературу (термины) по теме исследования для написания программного продукта и отобрать содержание теоретического материала;
    2. Создать обучающе-контролирую ую программу на языке C# с помощью среды программирования Visual Studio, которая состоит из теоретического материала и тестирующей части по теме курсовой работы.
    Теоретическая значимость исследования – разработанная программа будет способствовать студентам эффективному изучению данной темы.
    Практическая значимость – обучающе-контролирую ая программа может быть использована:
    • Для самостоятельного ознакомления учащихся с данной темой;
    • Учителями для контроля знаний учащихся по данной теме (тест).
    ?
    Глава 1. Теоретическая часть
    1.1 Алгоритмы поиска
    Поиск имеет разную сложность: если массив упорядочен и если нет. Это связано прежде всего с тем, что об упорядоченном массиве a priori больше информации.
    1. Линейный поиск
    Имеется массив aa размера nn (индексация с 1), требуется найти элемент массива равный PP.
    Алгоритм:
    1. Установить k:=1k:=1
    2. Если kn, перейти к шагу 3, иначе алгоритм завершён неудачно
    3. Если ak=Pak=P, вывести kk, алгоритм завершён удачно
    4. Иначе, если kn, k:=k+1,k:=k+1, перейти к шагу 2

    Блок-схема алгоритма
    Поскольку алгоритм проходит в худшем случае весь массив, сложность O(n)O(n) операций сравнения.
    2. Поиск минимального элемента.
    Имеется массив aa размера nn (индексация с 1), требуется найти минимальный элемент.
    Алгоритм:
    1. Установить k:=1k:=1, ?:=a1
    2. Если kn, перейти к шагу 3, иначе, вывести ??, алгоритм завершён
    3. k:=k+1,
    4. Если ak?, ?:=ak
    5. перейти к шагу 2

    Блок-схема алгоритма
    Сложность алгоритма O(n)
    3. Бинарный поиск в упорядоченном массиве.
    В случае если массив упорядочен (скажем, по возрастанию), линейный поиск неэффективен: действительно, сравнив “средний” элемент массива мы можем сразу отсечь половину значений.
    Имеется упорядоченный по возрастанию массив aa размера nn (индексация с 1), найти индекс элемента равного PP...

    ?
    Заключение
    Поставленная цель курсовой работы достигнута – создана обучающе-контролирую ая программа.
    Поставленные задачи решены:
    1. Изучена литература по теме исследования для написания программного продукта
    2. Создана обучающе-контролирую ую программа на языке C# с помощью среды программирования Visual Studio, которая состоит из теоретического материала и тестирующей части по теме курсовой работы.
    Теоретический материал подобран из сайтов и учебников по информатике.


    Список использованных источников и литературы
    1. Дасгупа С. Алгоритмы терминов / С. Дасгупта, Х. Пападимитриу, У. Вазирани. - Москва : МЦНМО, 2014 –– 320 с.
    2. Алгоритмическая сложность. Алгоритмы поиска. Алгоритмы сортировки. – Текст: электронный // wiki.livid.pp.ru: [сайт]. – URL: students/cs/lectures/ .html
    3. Коварцев А. Н. Алгоритмы и анализ сложности / А.Н. Коварцев, А.Н. Даниленко. – Самара: Изд-во Самарского университета, 2018 – 128 с.
    4. Курс лекций | Алгоритмы и анализ сложности – [Электронный ресурс]- bitstream/Uchebnye-iz aniya/Algoritmy-i-an liz-slozhnosti-(дата обращения – 25.04.2020 год)
    Перейти к полному тексту работы