
- •Уфимский государственный авиационный технический университет
- •Разработка прикладного алгоритма
- •Пояснительная записка
- •Уфимский государственный авиационный технический университет
- •Содержание
- •Постановка задачи и описание исходных данных
- •Математическое обеспечение
- •Функция изменения времени вычисления от объема исходных данных
- •Разработка алгоритма программы в виде блок-схемы
- •Описание функций среды программирования Microsoft Visual Studio 6
- •Создание проекта
- •Описание работы программы
- •Список используемой литературы
- •Приложения
- •Листинг функций кнопки «Создать»
- •Листинг функций кнопки «Загрузить»
- •Листинг функций кнопки «Поиск»
Постановка задачи и описание исходных данных
Разработать программу для реализации алгоритма быстрого последовательного поиска. Определить функцию изменения времени вычисления от объема исходных данных (в пояснительной записке) и О-сложность алгоритма. Для поиска использовать файл со случайными числами, для формирования которого предусмотреть функцию в программе.
Математическое обеспечение
Суть метода :
Cоздаётся фиктивная запись в конце файла (A [ N+1] ) равная искомому элементу. Последовательно перебираются все элементы массива, если на каком-то шаге цикла обнаруживается, что искомый элемент найден, то происходит выход из цикла, и переход к условию i < N+1. Если условие выполняется , то искомый элемент присутствует в массиве, иначе элемента нет.
Алгоритм Quick Sequential Search реализуется следующим образом:
Q1. [Инициализация] Устанавливаем i ← 1 и KN+1 ← K.
Q2. [Сравнение] Если K=Ki , то переходим к шагу Q4.
Q3. [Продвижение.] Увеличить i на 1и перейти к шагу Q2.
Q4. [Конец файла?] Если i ≤ N, алгоритм заканчивается успешно; в противном случае алгоритм заканчивается неудачно (i = N+1).
Функция изменения времени вычисления от объема исходных данных
Очевидно, что время выполнения алгоритма Q зависит от двух факторов:
C- количество сравнений ключей;
S=1 при успешном окончании поиска, 0 – при неудачном.
Используя значения C и S , получим, что значение времени работы равно
(4С - 4S + 10)u. Так как при поиске будет всегда успешно найден K=Ki получим С=i , S=1; таким образом, полное время составляет (4i+6)u
О-сложность алгоритма
Так как при поиске используется всего лишь один простой цикл
for (int n=0; pInt[n] != m_search; n++), то О-сложность данного алгоритма линейная О(n)
Разработка алгоритма программы в виде блок-схемы
Рисунок 1 – Блок схема создания массива чисел и запись их в файл
Рисунок 2 – Блок схема считывания из файла данных
Рисунок 3 – Блок схема поиска элемента в массиве
Описание функций среды программирования Microsoft Visual Studio 6
Данная курсовая работа выполнена в среде программирования Microsoft Visual Studio 6, в состав которой включен компилятор и интерпритатор С++
C++ - это попытка решения разработчиками языка С задач объектно-ориентированного программирования (Object Oriented Programming, OOP). Построенный на твердом фундаменте С, С++ помимо ООР поддерживает множество других полезных инструментов, не жертвуя при этом ни мощью, ни элегантностью, ни гибкостью С. С++ уже стал универсальным языком для программистов всего мира.
С++
был разработан сотрудником
научно-исследовательского центра AT&T
Bell Laboratories
(Нью-Джерси, США) Бьярном Страуструпом
в 1979 году. Первоначальное название «С
с классами» было изменено на С++ в 1983
году. Начиная с 1980 года С++ претерпел две
существенные модернизации: в 1985 и 1990
годах. Последняя третья модель связана
с процессом стандартизации С++. Несколько
лет назад началась работа по созданию
единого международного стандарта по
С++. Для этой цели был сформирован
объединенный комитет по стандартизации
ANSI (American
National Standards
Institute, Американский
национальный институт стандартов) и
ISO (International
Standards Organization,
Международная организация по стандартам)
для языка С++. Первый рабочий проект
указанного стандарта был предложен 25
января1994 года. Комитет ANSI/ISO
по С++ фактически сохранил все основные
черты языка, заложенные туда еще
Страуструпом и добавил несколько новых
инструментов.
Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight.
Visual Studio 6.0 —версия, работающая на
платформе Win9x (выпущена в июне 1998).
По-прежнему популярна среди программистов,
использующих Visual Basic. Данная версия
являлась основной средой разработки
приложений под Windows от Microsoft до появления
платформы .NET.