Динамические Структуры Данных Реферат

Динамические Структуры Данных Реферат



➡➡➡ ПОДРОБНЕЕ ЖМИТЕ ЗДЕСЬ!






























Динамические Структуры Данных Реферат
Copyright © 2005-2020 BestReferat.ru support@bestreferat.ru
реклама на сайте
Федеральное государственное автономное образовательное учреждение высшего профессионального образования

Уральский федеральный университет имени первого Президента России Б.Н. Ельцина

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

ВВЕДЕНИЕ……………………………………………………………………………………..3

1. ПОСТАНОВКА ЗАДАЧИ………………………………….……………………………….4

2. ТЕРЕТИЧЕСКАЯ ЧАСТЬ………………………………………………………………….5

3. ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ………………………………………………………..7

4. ИНСТРУКЦИЯ ПРОГРАММИСТА………………………………………….……………8

5. МЕТОДИКА И РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ……………………………………..9

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

ПРИЛОЖЕНИЕ. ТЕКСТ ПРОГРАММЫ…………………………………………………..13

БИБЛИОГРАФИЧЕСКИЙ СПИСОК……………………………………………………….20

Данная программа была разработана для изучения динамических структур данных таких, как стек, очередь и список. Применение их для решения практических задач. Создание графического интерфейса.
На сегодняшний день существует много средств для визуального проектирования программ, наиболее известные из них: Visual Studio (последняя версия 10.0) и Borland C++ Builder. В основе этих сред программирования лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть работы по генерации кода программы, остав­ляя автору работу по конструированию диалоговых окон и написа­нию функций обработки событий, благодаря этому скорость разработки программ возрастает.
Текст помощи для некоторой программы организован в виде линейного списка.Каждая компонента текста помощи содержит термин(слово) и текст,содержащий пояснения к этому термину.Количество строк текста , относящихся к одному термину состовляет от одной до пяти.Написать программу ,которая обеспечивает : Начальное формирование текста помощи; вывод пояснительного текста для заданного термина.Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе 2. теоретическая часть

Часто в серьезных программах надо использовать данные, размер и структура которых должны меняться
в процессе работы. Динамические массивы здесь не выручают, поскольку заранее нельзя сказать, сколько памяти надо выделить – это выясняется только в процессе рабо- ты. Например, надо проанализировать текст и определить, какие слова и в каком количество в нем встречаются, причем эти слова нужно расставить по алфавиту.
В таких случаях применяют данные особои? структуры, которые представляют собои? отдельные элементы, связанные с помощью ссылок
. Каждыи? элемент ( узел
) состоит из двух областеи? памяти: поля данных
и ссылок
. Ссылки – это адреса других узлов этого же типа, с которыми дан- ныи? элемент логически связан. В языке Си для организации ссылок используются переменные- указатели. При добавлении нового узла в такую структуру выделяется новыи? блок памяти и (с помощью ссылок) устанавливаются связи этого элемента с уже существующими. Для обозна- чения конечного элемента в цепи используются нулевые ссылки
( NULL
).
Всего существует 6 основных видов динамических структур данных :
4Список (односвязный, двусвязный, циклический)
Односвязный список
похож на очередь, но в отличии от нее при работе со списком можно добавлять элемент в любое его место и при этом испольуется всего один указатель на начало списка.
Многие проблемы при работе с односвязным списком вызваны тем, что в них невозможно переи?ти к предыдущему элементу. Возникает естественная идея – хранить в памяти ссылку не только на следующии?, но и на предыдущии? элемент списка. Для доступа к списку используется не одна переменная-указатель, а две – ссылка на «голову» списка ( Head
) и на «хвост» - последнии? элемент ( Tail
).
Очередь
– это упорядоченныи? набор элементов, в котором добавление новых элементов до-
пустимо с одного конца (он называется начало очереди), а удаление существующих элементов – только с другого конца, которыи? называется концом очереди.
Хорошо знакомои? моделью является очередь в магазине. Очередь называют структурои? типа FIFO (First In – First Out)
– первым пришел, первым ушел. На рисунке изображена очередь из 3-х элементов.
Стек
– это упорядоченныи? набор элементов, в котором добавление новых и удаление существующих элементов допустимо только с одного конца, которыи? называется вершинои? стека.
Стек называют структурои? типа LIFO
( Last In – First Out
)
– последним пришел, первым ушел. Стек похож на стопку с подносами, уложенными один на другои? – чтобы достать какои?-то под- нос надо снять все подносы, которые лежат на нем, а положить новыи? поднос можно только сверху всеи? стопки. На рисунке показан стек, содержащии? 6 элементов.
В современных компьютерах стек используется для :
2размещения параметров процедуры или функции
3сохранения адреса возврата (по какому адресу надо вернуться из процедуры)
4временного хранения данных, особенно при программировании на Ассемблере
На стек выделяется ограниченная область памяти. При каждом вызове процедуры в стек добавляются новые элементы (параметры, локальные переменные, адрес возврата). Поэтому если вложенных вызовов будет много, стек переполнится. Очень опаснои? в отношении переполнения стека является рекурсия, поскольку она как раз и предполагает вложенные вызовы однои? и тои? же процедуры или функции. При ошибке в программе рекурсия может стать бесконечнои?, кроме того, стек может переполниться, если вложенных вызовов будет слишком много.
Программа выполнена как консольное приложение. В начале запускается файл практика.exe,после запуска появляется главное окно программы(Рис.1):
Исходный текст организован в одном файле практика.cpp;
Используються следующие заголовочные файлы:
windows.h – для описания структур и функция WinAPI;
iostream.h – для вывода на консоль информации о ходе работы, диагностики и сообщений об ошибки
conio.h – для использования функций ввода
void prosmotr() – функция для просмотра всего текста
void find_number_poisk(char * search)– функция поикак
void prosmotr1() – функция функция для просмотра одного термина
void print_ukazat – функция выделения указателя в меню
void bd() – функция читает базу данных с файла
void save_bd()-функция сохраняет файл в структуру
Для тестирования была использована дискета, емкостью 1,38 Мб. Дискета была полностью отформатирована, затем на нее записана группа файлов разных типов и размера. Содержимое дискеты было посекторно скопировано в виртуальную память, а затем на другой магнитный носитель. В результате были получены следующие данные:
Рис. 3 На рисунке представлены копируемые файлы.
Рис. 6 На рисунке представлена ошибочный ввод данных.
В результате тестирования был сделан вывод, о корректности работы разработанного программного обеспечения. Было установлено , что поставленные цели были достигнуты.
В результате проделанной работы было создано консольное Win32 приложение для по секторного копирования дискеты. Поставленная задача была реализована, также было проведено тестирование которое показало работоспособность программы. Программа является примером использования Windows API функций. За время выполнения курсового проекта были закреплены знания по программированию на языке С++ в среде Borland C++Builder 6, а также дополнительно освоены некоторые Windows API функций.
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
DWORD dwSectPerClust =0; //количество секторов в кластере
DWORD dwBytesPerSect =0; //количество байт в секторе
DWORD dwNumbFreeClust =0;//количество свободных кластеров
DWORD dwTotalNumbOfClust =0; //общее количество кластеров
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
void PrintInfoDrive(LPCTSTR lpDriveName = "A:\\")
printf("Drive name: %s\n", lpDriveName);
cout<<"SectorsPerClustre: "<< dwSectPerClust<Судебная Система Пмр Реферат
Преодоление Коммуникативных Барьеров В Общении Эссе
Программный Принцип Работы Компьютера Реферат
Эллен Терри В Театре Реферат
Темы Курсовых Работ По Педиатрии Для Фельдшеров

Report Page