Разработка проекта "Методы сортировки"

Особенности реализации внутренних и внешних сортировок. Массивы и операции с массивами. Алгоритмы внутренних и внешних сортировок, примеры процедур, их реализующих. Процедуры сортировок методами выбора и обменами. Код программы для вывода массива.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 18.07.2012
Размер файла 288,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

24

Нижегородский филиал

Курсовая работа

По дисциплине: Программирование на языке высокого уровня

Тема: Разработать проект "Методы сортировки".

Черкасова Кирилла Анатольевича

Содержание

  • Введение
  • 1. Особенности реализации внутренних и внешних сортировок
  • 1.1 Массивы и операции с массивами
  • 1.2 Алгоритмы внутренних сортировок
  • 1.3 Примеры процедур, реализующих различные алгоритмы внутренних сортировок
  • 1.4 Внешние сортировки
  • 2. Процедуры сортировок методами выбора и обменами
  • 2.1 Код программы для вывода массива
  • 2.2 Сортировка выбором
  • 2.3 Сортировка обменом
  • Заключение
  • Глоссарий
  • Список использованных источников
  • Приложение А

Введение

Delphi - является одной из наиболее мощных систем программирования, которая позволяет сейчас на высочайшем уровне создавать приложения и целые комплексы для корпоративных сетей и Internet. Delphi поддерживает многие современные информационные технологии.

Delphi - это комбинация нескольких важнейших технологий:

Высокопроизводительный компилятор в машинный код

Объектно-ориентированная модель компонент

Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов

Масштабируемые средства для построения баз данных

Развитие Delphi берет свое начало с языка программирования Pascal, названного в честь знаменитого французского математика Блеза Паскаля (Blaise Pascal). Язык Pascal был создан Никлаусом Виртом (Niklaus Wirth) в Цюрихе (Швейцария) как учебный язык компьютерного программирования. Хорошая структурированность языка помогает привить начинающим программистам правильные навыки программирования. В результате Pascal быстро получил широкую популярность и стал основным учебным языком во многих университетах как в США, так и во всем мире. Благодаря богатым функциональным возможностям, легкости составления программ и высокой скорости компиляции Pascal стал интенсивно использоваться также для создания коммерческих программ.

Компанией Borland была разработана популярная версия этого языка - Turbo Pascal. По мере развития операционных систем Windows и распространения концепции объектно-ориентированного программирования язык Pascal был естественным образом расширен до Turbo Pascal for Windows и Object Pascal for Windows.

массив программа код сортировка

Следующим естественным шагом было создание Delphi - среды разработки программ на Object Pascal. Слово Delphi - это название города в древней Греции, в котором пророчествовали оракулы. Такое название было выбрано разработчиками Delphi для того, чтобы подчеркнуть способность программ, создаваемых в Delphi, взаимодействовать с базами данных Oracle. Имя приобрело популярность, и коммерческий программный продукт под этим же названием был выпущен на рынок. В систему Delphi входят компилятор с Object Pascal, визуальная среда разработки, инструменты взаимодействия с базами данных и библиотека VCL (Visual Components Library - библиотека визуальных компонентов). Система Delphi создана в полном согласии с концепцией RAD (Rapid Application Development - быстрая разработка приложений), ее использование значительно повышает скорость разработки приложений для Windows.

В данной курсовой работе рассматривается вопрос, который часто возникает в программировании: перегруппировка (сортировка) элементов в возрастающем или убывающем порядке. Цель сортировки - облегчить последующий поиск элементов в отсортированном множестве. С отсортированными множествами объектов мы встречаемся в телефонных книгах, в словарях, в библиотеках, на складах, почти везде, где нужно искать хранимые объекты.

1. Особенности реализации внутренних и внешних сортировок

1.1 Массивы и операции с массивами

Массив представляет собой упорядоченную последовательность однородных элементов. Элементами массива могут быть различные величины, как числовые (целые и вещественные), так и символьные или строковые. Но при этом строго должно соблюдаться следующее правило: все элементы каждого отдельно взятого массива должны относиться к одному и тому же типу, что и называется однородностью массива. В массиве каждый элемент имеет свой порядковый номер, который называется индексом. Массивы бывают одномерные и двумерные.

Примером простейшего одномерного массива является таблица результативности игроков футбольной команды. В этом случае элементами массива будут количества забитых каждым из игроков голов, а индексами - номера игроков.

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

var

<имя_массива>: array [<нижняя граница>. <верхняя граница>] of <тип элементов; - ;

где: var, array и of - служебные слова. Array означает массив, предлог of в данном случае - из;

<нижняя граница> и <верхняя граница> - соответственно нижняя и верхняя границы диапазона значений индекса. Индексы элементов массива, в общем случае, используются порядкового типа. Обычно это тип integer, но возможны также типы char и boolean;

<имя_массива> - задается согласно правилам именования переменных;

<тип элементов> - любой из стандартных или определенных пользователем типов.

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

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

var

< имя массива >: array [<нижняя граница индекса1>. <верхняя граница индекса1>, <Нижняя граница индекса2>. <верхняя граница индекса2>] of <тип элементов >;

где: var, array и of - служебные слова. Array означает массив, предлог of' в данном случае - из;

<нижняя граница индексах> И <верхняя граница индекса1>, <нижняя граница индекса2> И <верхняя граница индекса2> - соответственно диапазоны первого и второго индексов, характеризующих элементы массива. Индексы элементов массива в общем случае используются порядкового типа. Обычно это тип integer, но возможны также типы char и boolean;

<имя массива> - задается согласно правилам именования переменных;

<тип элементов> - любой из стандартных или определенных пользователем типов. Архангельский, А.Я. Программирование в Delphi [Текст] / А.Я. Архангельский. - М.: Бином-Пресс, 2008.

1.2 Алгоритмы внутренних сортировок

Выбор алгоритма зависит от структуры обрабатываемых данных, а в случае сортировки такая зависимость столь глубока, что соответствующие методы были разбиты на два класса:

сортировки массивов;

сортировки файлов (последовательностей).

Иногда их называют внутренней и внешней сортировкой, поскольку массивы хранятся в быстрой (оперативной или внутренней) памяти со случайным доступом, а файлы обычно размещаются в более медленной, но более емкой внешней памяти, на устройствах, основанных на механических перемещениях (дисках или лентах).

Одним из условий выбора метода внутренней сортировки является экономное использование доступной памяти, перестановки, приводящие элементы в порядок, должны выполняться на том же месте. Руководствуясь этим критерием, можно классифицировать методы по их экономичности, то есть по времени работы. Хорошей мерой эффективности служит число необходимых сравнений и число пересылок (перестановок) элементов. Эти числа являются функциями от числа сортируемых элементов п. Хорошие алгоритмы сортировки требуют порядка (n Ч log n) сравнений. В простых и очевидных методах, их называют прямыми, требуется порядка n2 сравнений. Архангельский, А.Я. Программирование в Delphi [Текст] / А.Я. Архангельский. - М.: Бином-Пресс, 2008.

Методы сортировки "на том же месте" можно разбить в соответствии с определяющими принципами на три основные категории:

сортировку с помощью включения (by insertion);

сортировка с помощью выделения (by selection);

сортировка с помощью обменов (by exchange).

Технология внешней сортировки в корне отлична от технологии внутренней сортировки, хотя в обоих случаях задача одна и та же: необходимо расположить данные из набора, для внешней сортировки - записи из файла, в определенном порядке. Объясняется это тем, что требуемое время для доступа к файлам на внешних носителях велико и зачастую эти устройства не обеспечивают произвольного (прямого) доступа к данным. Структура данных при реализации алгоритма внешней сортировки должна быть такой, чтобы учитывать эти особенности. Поэтому большинство методов внутренней сортировки (вставка, выбор, обмен) бесполезно для внешней сортировки. Алгоритмы внешней сортировки основаны на слиянии упорядоченных заранее подфайлов. Слияние оперирует только очень простыми структурами данных, пройти которые можно последовательным образом.

Для рассмотрения алгоритмов сортировки введем некоторые обозначения. Если у нас есть элементы

то сортировка есть перестановка этих элементов в массив

где при некоторой упорядочивающей функции f выполняются отношения

Обычно упорядочивающая функция не вычисляется по какому-либо правилу, а хранится как явная компонента (поле) каждого элемента. Ее значение называется ключом (key) элемента. Поэтому для представления элементов хорошо подходит такая структура данных, как запись. Архангельский, А.Я. Программирование в Delphi [Текст] / А.Я. Архангельский. - М.: Бином-Пресс, 2008. Ее можно описать следующим образом

Под "другими компонентами" подразумеваются данные, по существу относящиеся к сортируемым элементам, а ключ просто идентифицирует каждый элемент. Говоря об алгоритмах сортировки, мы будем обращать внимание лишь на компоненту-ключ.

Метод сортировки называется устойчивым, если в процессе сортировки относительное расположение элементов с равными ключами не изменяется. Устойчивость сортировки желательна, если речь идет об элементах, уже упорядоченных (отсортированных) по некоторым вторичным ключам (т.е. свойствам), не влияющим на основной ключ. Культин, Н.Б. Delphi.net в задачах и примерах [Текст] / Н.Б. Культин. - СПб.: БХВ-Петербург, 2008.

1.3 Примеры процедур, реализующих различные алгоритмы внутренних сортировок

· сортировка элементов массива методом подсчета;

· сортировки вставками;

· бинарные вставки;

· метод Шелла или сортировка с убывающим шагом;

· сортировки обменами;

· сортировка методом "пузырька";

· быстрая сортировка или метод Хоара;

· сортировки выбором;

· распределяющий подсчет;

· двухпутевые вставки;

· вставки в список с вычислением адреса;

· шейкерная сортировка;

· обменная поразрядная сортировка;

· пирамидальная сортировка;

· параллельная сортировка Бэтчера;

· простое слияние (метод Неймана);

· естественное слияние. Архангельский, А.Я. Программирование в Delphi [Текст] / А.Я. Архангельский. - М.: Бином-Пресс, 2008.

1.4 Внешние сортировки

Внешние сортировки - это сортировки, применяемые к данным, которые хранятся во внешней памяти. В таком случае мы говорим, что данные представляют собой последовательный файл, состоящий из записей или элементов. В каждый момент непосредственно доступен для считывания только один элемент. Как и в случае внутренних сортировок существует большое количество алгоритмов, позволяющих сортировать данные, которые хранятся в файлах. Большинство их основано на слиянии частично упорядоченных вспомогательных файлов. Культин, Н.Б. Delphi.net в задачах и примерах [Текст] / Н.Б. Культин. - СПб.: БХВ-Петербург, 2008.

Стоит заметить, что если в некоторой реальной задаче появляется необходимость отсортировать данные, хранящиеся во внешней памяти, и есть возможность загрузить их в оперативную память и упорядочить эти данные там, то рекомендуется использовать ее, поскольку время обращения к оперативной памяти гораздо меньше, чем время обращения к внешней памяти. Такая программа будет работать быстрее, чем при реализации какого-либо из алгоритмов внешних сортировок. В качестве вспомогательных структур при загрузке данных из внешней памяти могут быть выбраны массивы, множества, списки, деревья. В книге Дж. Бентли "Жемчужины программирования" рассмотрены несколько замечательных примеров, когда специальное представление данных во внутренней памяти позволило быстро и легко упорядочить данные. Фаронов, В.В. Delphi. Программирование на языке высокого уровня [Текст]: учебник для вузов / В.В. Фаронов. - СПб.: Питер, 2008.

Наиболее известные алгоритмы внешних сортировок представлены на рисунке 1 (Приложение А).

2. Процедуры сортировок методами выбора и обменами

2.1 Код программы для вывода массива

unit outar_;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class (TForm)

Button1: TButton;

Label1: TLabel;

procedure Button1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *. dfm}

const

NT = 5;

var

team: array [1. NT] of string [10] = ('Зенит','Динамо','Ротор','Спартак','СКА');

procedure TForm1. Button1Click (Sender: TObject);

var

st: string;

i: integer; // индекс, номер элемента массива

begin

// формирование списка для отображения в форме

for i: =1 to NT do

st: =st+IntToStr (i) +' '+team [i] +#13;

// вывод списка

Label1. Caption: = st;

end;

end.

2.2 Сортировка выбором

Сначала из N элементов выбирается максимальный элемент. Далее N-ый и найденный максимальный элементы меняются местами. Затем среди оставшихся (N - 1) элементов от 1 до (N - 1) выбирается максимальный и меняется местами с элементом, стоящим на (N - 1) месте и т.д. Так продолжается до тех пор, пока весь массив не будет отсортирован. Последний раз максимум выбирается из двух элементов, стоящих на первом и на втором месте соответственно, и наибольший из них ставится на второе место. Фаронов, В.В. Delphi. Программирование на языке высокого уровня [Текст]: учебник для вузов / В.В. Фаронов. - СПб.: Питер, 2008.

Количество сравнений для данного метода всегда постоянно и равно (n2 - n) /2, а среднее количество перемещений определяется следующей формулой: п Ч (ln n + g), где g - постоянная Эйлера (g = 0.577216).

Реализация сортировки:

unit sort1_;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Grids;

type

TForm1 = class (TForm)

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Label3: TLabel;

StringGrid1: TStringGrid;

procedure Button1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *. DFM}

procedure TForm1. Button1Click (Sender: TObject);

const

SIZE=10;

var

a: array [1. SIZE] of integer;

min: integer; { номер минимального элемента в части

массива от i до верхней границы массива }

j: integer; { номер эл-та, сравниваемого с минимальным }

buf: integer; { буфер, используемый при обмене эл-тов массива }

i,k: integer;

begin

// ввод массива

for i: =1 to SIZE do

a [i]: =StrToInt (StringGrid1. Cells [i-1,0]);

label2. caption: ='';

for i: =1 to SIZE-1 do

begin

{ поиск минимального эл-та

в части массива от a [1] до a [SIZE] }

min: =i;

for j: =i+1 to SIZE do

if a [j] < a [min]

then min: =j;

{ поменяем местами a [min] и a [i] }

buf: =a [i];

a [i]: =a [min];

a [min]: =buf;

{ вывод массива }

for k: =1 to SIZE do

Label2. caption: =label2. caption+' '+IntTostr (a [k]);

Label2. caption: =label2. caption+#13;

end;

Label2. caption: =label2. caption+#13+'Массив отсортирован. ';

end;

end.

2.3 Сортировка обменом

Сортировка методом "пузырька"

На первом проходе соседние элементы сравниваются, и если элементы не упорядочены, они меняются местами, в результате чего самый большой элемент переставляется на последнее место. За второй проход самый большой из оставшихся (сравнение идет между (N - 1) элементами) перемещается на предпоследнее место и так до тех пор, пока массив не окажется отсортированным. Культин, Н.Б. Delphi.net в задачах и примерах [Текст] / Н.Б. Культин. - СПб.: БХВ-Петербург, 2008.

В данном примере рассматривается усовершенствованный метод: на каждом проходе запоминается место последнего обмена между элементами. На следующем проходе сравнение выполняется только до этого места. Немнюгин, С.А. Turbo Pascal. Программирование на языке высокого уровня [Текст]: учебник для вузов / С.А. Немнюгин. - 2-е изд., перераб. и доп. - СПб.: Питер, 2008.

Количество сравнений в строго обменной пузырьковой сортировке равно (n2 - п) / 2, а среднее количество перемещений - 3 Ч (n2 - n) / 2. Анализ улучшенного метода довольно сложен. Кнут считает, что для улучшенной сортировки пузырьком среднее число проходов пропорционально n - k1 , среднее число сравнений пропорционально (n2 - n (k2 + ln n)) /2, а среднее число перемещений остается таким же, как и для строго обменного пузырька. Архангельский, А.Я. Программирование в Delphi [Текст] / А.Я. Архангельский. - М.: Бином-Пресс, 2008.

Быстрая сортировка или метод Хоара

Сортируемый массив просматривается сразу с двух сторон (слева и справа). Если слева находится элемент больший, чем элемент справа, то эти элементы меняются местами. Так продолжается до тех пор, пока указатели на левый и правый элементы не пересекутся. В результате такого прохода алгоритма получим, что весь массив разбит на две части. В левой части находятся элементы с меньшими значениями ключей, а в правой - с большими. Теперь осталось отсортировать тем же самым методом каждую часть отдельно.

Н. Вирт в [3] говорит о том, что в лучшем случае в сортировке Хоара потребуется порядка n Ч log n операций, а в худшем - n2. Немнюгин, С.А. Turbo Pascal. Программирование на языке высокого уровня [Текст]: учебник для вузов / С.А. Немнюгин. - 2-е изд., перераб. и доп. - СПб.: Питер, 2008.

Реализация сортировки:

unit sort2_;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Grids;

type

TForm1 = class (TForm)

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Label3: TLabel;

StringGrid1: TStringGrid;

procedure Button1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *. DFM}

procedure TForm1. Button1Click (Sender: TObject);

const

SIZE=5;

var

a: array [1. SIZE] of integer;

k: integer; // текущий элемент массива

i: integer; // индекс для ввода и вывода массива

changed: boolean; // TRUE, если в текущем цикле были обмены

buf: integer; // буфер для обмена элементов массива

begin

// ввод массива

for i: =1 to SIZE do

a [i]: = StrToInt (StringGrid1. Cells [i-1,0]);

label2. caption: ='';

// сортирвка массива

repeat

changed: =FALSE; // пусть в текущем цикле нет обменов

for k: =1 to SIZE-1 do

if a [k] > a [k+1] then

begin // обменяем k-ый и k+1-ый элементы

buf: = a [k];

a [k]: = a [k+1];

a [k+1]: = buf;

changed: = TRUE;

end;

// вывод массива

for i: =1 to SIZE do

Label2. caption: =label2. caption+' '+IntTostr (a [i]);

Label2. caption: =label2. caption+#13;

until not changed; // если не было обменов, значит

// массив отсортирован

Label2. caption: =label2. caption+#13+'Массив отсортирован. ';

end;

end.

Заключение

В данной курсовой работе был рассмотрен вопрос, который часто возникает в программировании: перегруппировка (сортировка) элементов в возрастающем или убывающем порядке. Цель сортировки - облегчить последующий поиск элементов в отсортированном множестве. С отсортированными множествами объектов мы встречаемся в телефонных книгах, в словарях, в библиотеках, на складах, почти везде, где нужно искать хранимые объекты.

Алгоритмы сортировки представляют собой интересный частный пример того, как следует подходить к решению проблем программирования вообще. Методы сортировки служат великолепной иллюстрацией идей анализа алгоритмов, т.е. идей, позволяющих оценивать рабочие характеристики алгоритмов, а значит, разумно выбирать лучший среди, казалось бы, равноценных методов. На примерах сортировок можно показать, как усложнение алгоритма приводит к значительному выигрышу в эффективности.

Существует много различных алгоритмов сортировок. Как отмечает Д. Кнут,". это пугающее количество методов на самом деле лишь малая толика всех алгоритмов, придуманных до сих пор". Он же подчеркивает, что "к сожалению, неизвестен "наилучший" способ сортировки; существует много наилучших методов в зависимости от того, что сортируется, на какой машине и для какой цели".

Delphi - является одной из наиболее мощных систем программирования, которая позволяет сейчас на высочайшем уровне создавать приложения и целые комплексы для корпоративных сетей и Internet. Delphi поддерживает многие современные информационные технологии.

Современные технологии программирования - вещь необъятная, в работе по программированию приходится поднимать огромные пласты материала, и написать обо всем, о чем хотелось бы - невозможно. Но всегда остается сомнение, было ли выбрано действительно самое существенное и полезное.

Развитие Borland Delphi свидетельствует о том, что у этой платформы хорошее будущее.

Глоссарий

№ п/п

Понятие

Определение

1

Алгоритм

точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату

2

Алгоритм линейной структуры (следование)

алгоритм, в котором все действия выполняются последовательно друг за другом

3

Алгоритмизация

техника составления алгоритмов и программ для решения задач на ЭВМ

4

Алфавит языка программирования

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

5

Ветвление

схема, в которой предусмотрено разветвление указанной последовательности действий на два направления в зависимости от итога проверки заданного условия

6

Вещественный тип (REAL)

элементы подмножеств вещественного типа

7

Выражение

совокупность операций и операндов

8

Графический способ записи алгоритмов

описание алгоритма с помощью графических символов

9

Дискретность

свойство алгоритма расчленять предопределенный алгоритмом вычислительный процесс на отдельные этапы, элементарные операции

10

Идентификатор

последовательность символов, начинающаяся с буквы, для наименования объектов

11

Массовость

свойство алгоритма, позволяющее решать однотипные задачи с различными исходными данными по одному алгоритму

Список использованных источников

1. Архангельский, А.Я. Delphi 2006. Справочное пособие. Язык Delphi, классы, функции Win32 и NET [Текст] / А.Я. Архангельский. - М.: Бином-Пресс, 2006.

2. Архангельский, А.Я. Программирование в Delphi [Текст] / А.Я. Архангельский. - М.: Бином-Пресс, 2008.

3. Борисок, В.В. Delphi. Трюки и эффекты [Текст] / В.В. Борисок, А.А. Чиртик, Ю.И. Кор-вель. - СПб.: Питер, 2007.

4. Желонкин, А.В. Основы программирования в интегрированной среде DELPHI [Текст]: практикум / А.В. Желонкин. - М.: БИНОМ; Лаборатория знаний, 2006.

5. Культин, Н.Б. Delphi в задачах и примерах [Текст] / Н.Б. Культин. - СПб.: БХВ-Петербург, 2007.

6. Культин, Н.Б. Delphi.net в задачах и примерах [Текст] / Н.Б. Культин. - СПб.: БХВ-Петербург, 2008.

7. Культин, Н.Б. Основы программирования в Delphi 7 [Текст] / Н.Б. Культин. - СПб.: БХВ-Петербург, 2008.

8. Немнюгин, С.А. Turbo Pascal. Программирование на языке высокого уровня [Текст]: учебник для вузов / С.А. Немнюгин. - 2-е изд., перераб. и доп. - СПб.: Питер, 2008.

9. Фаронов, В.В. Delphi. Программирование на языке высокого уровня [Текст]: учебник для вузов / В.В. Фаронов. - СПб.: Питер, 2008.

10. Фаронов, В.В. Турбо Паскаль 7.0. Практика программирования [Текст]: учеб. пособие / В.В. Фаронов. - М.: ОМД Групп, 2008.

11. Чеснокова, О.В. Алгоритмы и программы. Учимся программировать на Delphi 2007 [Текст]: учебный курс / Ю.П. Федоренко. - СПб.: Питер, 2008.

Приложение А

Виды внешних сортировок

Рисунок 1 Внешние сортировки

Размещено на Allbest.ru


Подобные документы

  • Понятие "сортировка" как упорядочение элементов некоторой последовательности, ее цель и методы. Разработка алгоритмов, подпрограмм сортировок различного рода, анализ и вычисление среднего времени каждой сортировки, составление графического меню.

    курсовая работа [165,4 K], добавлен 24.06.2012

  • Реализация различных методов сортировки. Алгоритмические языки программирования. Обработка большого числа единообразно организованных данных. Алгоритмы сортировки массивов. Анализ проблем реализации и использования различных видов сортировок массивов.

    курсовая работа [640,3 K], добавлен 07.07.2011

  • Алгоритмы и алфавит языка Турбо Паскаль. Основные типы данных. Операторы присваивания, перехода и выбора. Понятие массива в Паскале. Особенности работы со строками в программе. Использование линейного поиска и поиска с барьером. Основные виды сортировок.

    учебное пособие [53,2 K], добавлен 09.11.2009

  • Постановка задачи сортировки. Анализ основных понятий сортировок слияниями. Алгоритм сортировки простым и естественным слиянием. Оценка сложности алгоритма. Программная реализация простого слияния. Тестирование меню на корректность входных данных.

    курсовая работа [283,6 K], добавлен 22.06.2015

  • Анализ основных алгоритмов внутренней сортировки массивов данных, сравнение сложности их реализации и производительности. Сортировка пузырьком, методами вставок, выбора, методом Шелла, быстрая сортировка. Операция разделения массива внутренней сортировки.

    курсовая работа [161,7 K], добавлен 17.12.2015

  • Разработка программы для осуществления сортировки данных методами "Выбора" с использованием языка C# и Visual Studio 2012. Плавный метод сортировки. Основные фазы сортировки во внутреннем представлении пирамиды. Программа сортировки методами выбора.

    курсовая работа [637,6 K], добавлен 29.11.2014

  • Широкое использование компьютерных и информационных технологий. Концепции типов данных. Алгоритмы сортировки одномерных массивов. Описание двумерного массива Паскаля. Методы доступа к элементам массивов. Индексные, динамические и гетерогенные массивы.

    курсовая работа [66,3 K], добавлен 07.12.2010

  • Функциональные требования и требования к данным в экспериментальном исследовании и генерации последовательности. Требования к удобству использования и мобильности проектируемой компьютерной программы. Описание сценария диалога программы с пользователем.

    курсовая работа [736,1 K], добавлен 09.03.2016

  • Составление математической модели для определения местоположения точки относительно многоугольника. Оформление процедуры расчета расстояния, выбора точек из массива, сортировки массива и вывода результатов в программе в форме функций пользователя.

    курсовая работа [16,6 K], добавлен 06.08.2013

  • Анализ двоичной, восьмеричной и шестнадцатеричной систем счисления и перевода десятичных чисел. Форматы хранения чисел с плавающей точкой. Программа для преобразования массива констант в формат числа с плавающей точкой на эмуляторе микро-ЭВМ СМ-1800.

    курсовая работа [266,9 K], добавлен 24.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.