Разработка визуализатора - Курсовая работа

бесплатно 0
4.5 47
Очередь в циклическом массиве. Извлечение элемента из очереди. Анализ сложности алгоритма. Класс входных данных, для которых применим алгоритм или структура. Выбор средств разработки. Определение отображаемых элементов, проектирование интерфейса.


Аннотация к работе
.6 Класс входных данных, для которых применим алгоритм или структура 1.7 Примеры практических задач, где может использоваться данный алгоритм. 2.3 Разработка алгоритмов прямого пошагового выполнения визуализации и выполнения откатаДобавление элемента (принято обозначать словом enqueue - поставить в очередь) возможно лишь в конец очереди, выборка - только из начала очереди (что принято называть словом dequeue - убрать из очереди), при этом выбранный элемент из очереди удаляется.Существует несколько способов реализации очереди в языках программирования. Первый способ представляет очередь в виде массива и двух целочисленных переменных start и end. Обычно start указывает на голову очереди, end - на элемент, который заполнится, когда в очередь войдет новый элемент. При добавлении элемента в очередь в q[end] записывается новый элемент очереди, а end уменьшается на единицу. Извлечение элемента из очереди производится аналогично: после извлечения элемента q[start] из очереди переменная start уменьшается на 1.Программный пример представляет процедуру, выполняющую вставку элемента в любое место очереди. {Вставка элемента в очередь } Var event: array[1..MAX_EVENT] of EVTTYPE; {добавить в очередь } procedure Qstore(q:EVTTYPE); begin if spos=MAX_EVENT thenИзвлечение элемента из очереди выполняется просто. Из массива извлекается первый элемент, и весь массив смещается влево, а последний элемент удаляется. {Извлечение элемента из очереди } function Qretrieve:EVTTYPE; begin if rpos=spos then beginОчередь в программировании используется, как и в реальной жизни, когда нужно совершить какие-то действия в порядке их поступления, выполнив их последовательно. Когда пользователь оказывает какое-то действие на приложение, то в приложении не вызывается соответствующая процедура (ведь в этот момент приложение может совершать другие действия), а ему присылается сообщение, содержащее информацию о совершенном действии, это сообщение ставится в очередь, и только когда будут обработаны сообщения, пришедшие ранее, приложение выполнит необходимое действие. if AQUEUE.start-1 then begin asg.Cells[AQUEUE.start,1]:="start"; begin with AQUEUE do begin if cnt<length(arr) then begin inc(cnt); if AQUEUE.cnt0 then with AQUEUE do begin if start=ent then begin start:=-1;В данной курсовой работе была реализована очередь на основе циклического массива.

План
Оглавление

Введение

1. Очередь в циклическом массиве.

1.1 Описание работы алгоритма

1.2 Способы построения

1.3 Вставка структур

1.4 Извлечение.

1.5 Анализ сложности алгоритма

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

Список литературы
Приложение 1.

Приложение 2.

Введение

Независимо от типа решаемых задач, любая программа оперирует какими-то данными, а сама программа представляет собой методы управления и обработки этих данных. Существует множество разных алгоритмов организации данных, одной из них является очередь. Для лучшего понимания алгоритмов создают специальные визуализаторы, демонстрирующие принцип действия заданного алгоритма в данной курсовой работе разрабатывается визуализатор очереди в циклическом массиве.1. Односвязный список [Электронный ресурс]

http://веб-информ.рф/С /6/22/2205

2. Бакнелл Д. Фундаментальные алгоритмы и структуры данных в Delphi. Изд.дом ДИАСОФТЮП, 2003

3. Списки [электронный ресурс]

4. Макконнелл Дж. Основы современных алгоритмов М.: Техносфера, 2004
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?