Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Информатика->Контрольная работа
Общее число равновозможных исходов равно 2*6=12 (каждое число очков, выпавших на игральной кости может сочетаться с «орлом» или «решкой» на монете). С...полностью>>
Информатика->Курсовая работа
Тема моей курсовой работы Разработка информационной системы «Грузоперевозки». Технологические операции доставки, как необходимые, обусловленные хозяйс...полностью>>
Информатика->Реферат
Мы живем в макромире,т. е. в мире, который состоит из объектов, по своим размерам сравнимых с человеком. Обычно макрообъекты разделяют на неживые (кам...полностью>>
Информатика->Реферат
Преимущества компьютерной подготовки текста по сравнению с ранее существовавшими неоспоримы. Это и возможность корректировки уже существующего текста,...полностью>>

Главная > Реферат >Информатика

Сохрани ссылку в одной из сетей:

Федеральное государственное автономное образовательное учреждение высшего профессионального образования



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

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

Оценка работы

Преподаватель

Динамические структуры данных

Преподаватель Трясцина Т. С.

Студент Запалацкий В. С.


Группа Р-190901

Екатеринбург 2010

СОДЕРЖАНИЕ

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

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

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

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

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

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

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

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

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

введение

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

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

























1. постановка задачи

Текст помощи для некоторой программы организован в виде линейного списка.Каждая компонента текста помощи содержит термин(слово) и текст,содержащий пояснения к этому термину.Количество строк текста , относящихся к одному термину состовляет от одной до пяти.Написать программу ,которая обеспечивает : Начальное формирование текста помощи; вывод пояснительного текста для заданного термина.Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе

2. теоретическая часть

Динамические структуры данных

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

В таких случаях применяют данные особои? структуры, которые представляют собои? отдельные элементы, связанные с помощью ссылок. Каждыи? элемент (узел) состоит из двух областеи? памяти: поля данных и ссылок. Ссылки – это адреса других узлов этого же типа, с которыми дан- ныи? элемент логически связан. В языке Си для организации ссылок используются переменные- указатели. При добавлении нового узла в такую структуру выделяется новыи? блок памяти и (с помощью ссылок) устанавливаются связи этого элемента с уже существующими. Для обозна- чения конечного элемента в цепи используются нулевые ссылки (NULL).

Всего существует 6 основных видов динамических структур данных :

  1. Стек

  2. Очередь

  3. Хэш таблица

  4. Список (односвязный, двусвязный, циклический)

  5. Дерево

  6. Граф

Список

Существует 3 вида списков :

  1. односвязный (линейный)

  2. двусвязный

  3. циклический

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

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

Многие проблемы при работе с односвязным списком вызваны тем, что в них невозможно переи?ти к предыдущему элементу. Возникает естественная идея – хранить в памяти ссылку не только на следующии?, но и на предыдущии? элемент списка. Для доступа к списку используется не одна переменная-указатель, а две – ссылка на «голову» списка (Head) и на «хвост» - последнии? элемент (Tail).


Очередь

Очередь – это упорядоченныи? набор элементов, в котором добавление новых элементов до-

пустимо с одного конца (он называется начало очереди), а удаление существующих элементов – только с другого конца, которыи? называется концом очереди.

Хорошо знакомои? моделью является очередь в магазине. Очередь называют структурои? типа FIFO (First In – First Out) – первым пришел, первым ушел. На рисунке изображена очередь из 3-х элементов.





Стек

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

Стек называют структурои? типа LIFO (Last In – First Out) – последним пришел, первым ушел. Стек похож на стопку с подносами, уложенными один на другои? – чтобы достать какои?-то под- нос надо снять все подносы, которые лежат на нем, а положить новыи? поднос можно только сверху всеи? стопки. На рисунке показан стек, содержащии? 6 элементов.

В современных компьютерах стек используется для :

  1. размещения локальных переменных

  2. размещения параметров процедуры или функции

  3. сохранения адреса возврата (по какому адресу надо вернуться из процедуры)

  4. временного хранения данных, особенно при программировании на Ассемблере

На стек выделяется ограниченная область памяти. При каждом вызове процедуры в стек добавляются новые элементы (параметры, локальные переменные, адрес возврата). Поэтому если вложенных вызовов будет много, стек переполнится. Очень опаснои? в отношении переполнения стека является рекурсия, поскольку она как раз и предполагает вложенные вызовы однои? и тои? же процедуры или функции. При ошибке в программе рекурсия может стать бесконечнои?, кроме того, стек может переполниться, если вложенных вызовов будет слишком много.

3. инструкция пользователя

Программа выполнена как консольное приложение. В начале запускается файл практика.exe,после запуска появляется главное окно программы(Рис.1):

Рис.1. Главное окно программы























































4. инструкция программиста

Исходный текст организован в одном файле практика.cpp;

Используються следующие заголовочные файлы:

windows.h – для описания структур и функция WinAPI;

iostream.h – для вывода на консоль информации о ходе работы, диагностики и сообщений об ошибки

conio.h – для использования функций ввода

Основные функции программы:

void add() – функция добавления.

void prosmotr() – функция для просмотра всего текста

void find_number_poisk(char * search)– функция поикак

void prosmotr1() – функция функция для просмотра одного термина

void print_ukazat – функция выделения указателя в меню

void bd() – функция читает базу данных с файла

void save_bd()-функция сохраняет файл в структуру

5. методика и результаты тестирование

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

Рис. 3 На рисунке представлены копируемые файлы.

Рис. 6 На рисунке представлена ошибочный ввод данных.

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



Загрузить файл

Похожие страницы:

  1. Динамические структуры данных (5)

    Реферат >> Информатика, программирование
    Динамические структуры данных. Динамические информационные структуры. Ссылочный тип данных. Ссылки. Программирование информационных динамических структур. Списки. Задачи на списки. Деревья ...
  2. Динамические структуры данных (4)

    Лекция >> Информатика
    Динамические структуры данных. Указатели До сих пор мы ... явно управлять программист, называются динамическими переменными. Необходимость в динамических структурах данных обычно возникает в следующих случаях ...
  3. Основные принципы работы с статическими структурами данных, реализованными в языке Delphi

    Реферат >> Информатика, программирование
    ... и интервальных типов соответственно. Рис. 1.2. Классификация данных динамической структуры Данные составной структуры бывают однородными, т.е. такими, у которых ...
  4. Структуры и алгоритмы обработки данных (2)

    Практическая работа >> Информатика, программирование
    ... использования при решении задач динамических структур данных; изучение наиболее распространенных алгоритмов ... данной задачи нам понадобится такая динамическая структура данных как бинарное дерево. 3.2. Описание структур данных: Дерево - это структура данных ...
  5. Основные структуры данных (1)

    Курсовая работа >> Информатика
    ... структуры данных" Барнаул - 2007 ОГЛАВЛЕНИЕ 1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 5 1.1 ОБЩАЯ ХАРАКТЕРИСТИКА ДАННЫХ 5 1.2 ЛИНЕЙНЫЕ СТРУКТУРЫ ДАННЫХ 6 1.3 ТАБЛИЧНЫЕ СТРУКТУРЫ ДАННЫХ 8 1.5 УПОРЯДОЧЕНИЕ СТРУКТУР ДАННЫХ ... регламентируются динамическими свойствами управляемого ...

Хочу больше похожих работ...

Generated in 0.0069680213928223