Методы внутренней сортировки массивов

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

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

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

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

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

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

Методы внутренней сортировки массивов

Емельянова Дарья Владимировна

Введение

информационный массив сортировка

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

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

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

В повседневной жизни нам очень часто приходится раскладывать наши вещи, книги, кассеты диски и т. п. в удобном для нас порядке. Для чего? Чтобы облегчить их дальнейший поиск. В библиотеке раскладываем книги по авторам, в телефонной книге записываем фамилии по алфавиту, в словаре слова расставлены по алфавиту. С появлением компьютеров люди стали использовать «железных монстров» для хранения больших объемов информации. Очевидно, что появилась потребность обработки данных. Самые необходимые для этого функции -- это сортировки. Сначала появились самые простенькие алгоритмы, впоследствии изобретались более эффективные. Обычно алгоритмы сортировки разделяются на два типа -- сортировка массивов и сортировка последовательностей.

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

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

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

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

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

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

В данной курсовой работе речь будет идти об эффективности различных методов сортировки массивов в языке ABC Pascal.

Тема: Методы внутренней сортировки массивов.

Объект: целочисленные массивы.

Предмет: методы внутренних сортировок массивов.

Цель: анализ эффективности различных методов сортировки данных в языке ABC Pascal.

Задачи:

· Рассмотреть понятия и классификацию методов сортировок;

· Выделить принцип работы методов внутренних сортировок массивов;

· Проанализировать эффективность методов сортировок массивов при решении задач с помощью программы ABC Pascal;

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

1. Характеристика массивов

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

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

Описать одномерный массив можно несколькими способами:

В разделе переменных:

1. var имя массива: array [тип индекса] of тип элементов.

В разделе описания типов:

2. type имя типа = array [тип индекса] of тип элементов.

В разделе констант:

3. const имя массива: array [тип индекса] of тип элементов = (список элементов).

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

Ввод данных в одномерный массив:

Ввод массива с клавиатуры оператором read:

for i:=1 to n do

begin

writeln ('введите элемент массива');

read (a[ i ]);

Заполнение массива с помощью генератора случайных чисел random на интервале (a,b):

randomize;

for i:=1 to n do

a[ i ] := random (b-a)+a;

Ввод массива в разделе констант (производится вместе с объявлением).

const n = 5;

a: = array [1..n] of integer (-8,0,4,1,3);

Массив состоит из нескольких элементов. Ко всему массиву можно обращаться по его имени. Можно обращаться к его элементу, но для этого надо задать индекс (индексы). Для объявления массива необходимо задать типы его индексов и компонент.

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

2. Понятие и виды сортировок

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

Сортировки делятся:

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

2. Внешняя сортировка оперирует с запоминающими устройствами большого объёма, но с доступом не произвольным, а последовательным (упорядочение файлов). Это накладывает некоторые дополнительные ограничения на алгоритм и приводит к специальным методам упорядочения, обычно использующим дополнительное дисковое пространство. Кроме того, доступ к данным на носителе производится намного медленнее, чем операции с оперативной памятью.

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

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

Методы внутренней сортировки массивов:

1. Сортировка вставками (с англ. insertion sort) -- примитивный алгоритм сортировки с высокой вычислительной сложностью: O(nІ).

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

Плюсы:

-- эффективен на небольших наборах данных до десятков элементов может оказаться лучшим;

-- эффективен на наборах данных, которые уже частично отсортированы;

-- это устойчивый алгоритм сортировки(не меняет порядок элементов, которые уже отсортированы);

-- может сортировать список по мере его получения;

-- использует O(1) временной памяти, включая стек.

-- может работать значительно быстрее за счёт бинарного поиска

Минусы:

Очень высокая вычислительная сложность алгоритма O(nІ) (при использовании стандартного алгоритма).

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

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

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

Условие задачи № 1: Отсортировать числа при помощи метода вставками по возрастанию массива A из N.

Листинг программы:

program sort_vstavkami;

uses crt;

const n = 16;

type massiv = array [1..n] of integer;

var arr,b:massiv;{заполнение массива}

procedurezapolnenie;

vari:integer;

begin

randomize;

writeln('сортировкавставками (insertionsort)');

writeln;

write('сортировка вставками -- примитивный алгоритм сортировки с высокой вычислительной сложностью.');

writeln('этоталгоритм может оказаться эффективным на небольшихи частично');

write('отсортированныхсписках,носкоростьегоработыпримернотакаяже,как у сортировки пузырьком и сортировки выбором,');

writeln('поэтому он не пригоден для серьезного практического применения.');

writeln;

writeln('исходная последовательность массива:');

for i:=1 to n do

begin

arr[i]:=10-random(20);

write(arr[i],' ');

end;

writeln;

end;

procedurevivod;

var i:integer;

begin

for i:=1 to n do

write(arr[i],' ');

writeln;

end;

proceduresortinsert (vararr : massiv; n : integer);

vari, j, temp : integer;

begin

fori:= 2 to n do begin

temp :=arr [i];

j:= i-- 1;

while (j>0)and(temp <arr [j]) do begin

arr [j + 1]:= arr [j];

dec (j);

end;

arr [j + 1]:= temp;

end;

writeln;

writeln ('отсортированная последовательность вставками:');

vivod;

arr:=b;

end;

begin clrscr;

zapolnenie;

b:=arr;

sortinsert(arr,n);

writeln;

write ('таким образом, получается, что каждый шаг сортировки вставками');

write ('сводиться к упорядочиванию подмассивов, размер которого увеличивается с шагом на один элемент,');

write ('ипоследний шаг заключается в просмотре заданного массива целиком.');

end.

Рисунок 1. Задача № 1. Сортировка вставками

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

2. Гномья сортировка (англ. gnomesort) -- алгоритм сортировки, похожий на сортировку вставками, но в отличие от последней перед вставкой на нужное место происходит серия обменов, как в сортировке пузырьком. Название происходит от предполагаемого поведения садовых гномов при сортировке линии садовых горшков.

Гномья сортировка впервые была предложена 2 октября 2000 года Хамидом Сарбази-Азадом. Он назвал ее глупая сортировка, простейший алгоритм сортировки всего с одним циклом. И действительно, глупый этот метод или нет, но в нем задействован, никак в большинстве сортировок - два или более циклов, а только один. Позже, голландский ученый Дик Грун, на страницах одной из своих книг, привел для гномьей сортировки следующую аналогию: гномья сортировка основана на технике, используемой обыкновенным голландским садовым гномом. Вот как садовый гном сортирует ряд цветочных горшков. По существу, он смотрит на два соседних цветочных горшка, если они находятся в правильном порядке, то он переходит на один горшок вперед, иначе он меняет их местами и возвращается на один горшок назад. Граничные условия: если позади нет ни одного горшка - он шагает вперед, а если нет следующего горшка, тогда он закончил.

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

Алгоритм концептуально простой, не требует вложенных циклов. Время работы O(nІ). На практике алгоритм может работать так же быстро, как и сортировка вставками.

Условие задачи № 2: Дан исходный массив отсортировать числа с помощью метода Шейкерной сортировки по возрастанию массива A из B.

Листинг программы:

program gnome_sort;

uses crt;

vara: array[1..10] of integer; i,i1,c:integer;

begin randomize;

writeln ('гномьясортировка (англ. gnomesort)');

writeln;

write ('алгоритм сортировки, похож на сортировку вставками,');

write (' но в отличие от последней перед вставкой на нужное место происходит серия обменов,');

write ('как в сортировке методом пузырька. название происходит от предполагаемого поведения');

write ('садовых гномов при сортировке линии садовых горшков.');

writeln ('гномья сортировка основана на технике, используемой обычным голландским садовым гномом.');

writeln;

writeln ('исходный массив:');

for i:= 1 to 10 do

begin

a[i]:= random(21)-10;

write(a[i],' ');

end;

writeln(' ');

writeln;

for i:= 1 to 9 do

for i1:= i+1 to 10 do

if ( a[i1] < a[i] ) then

begin

c:= a[i];

a[i]:= a[i1];

a[i1]:= c;

end;

writeln ('отсортированный массив:');

for i:= 1 to 10 do

write(a[i],' ');

writeln;

writeln;

write ('этот метод, которым садовый гном сортирует линию цветочных горшков.');

write ('по существу он смотрит на следующий и предыдущий садовые горшки:');

write ('если они в правильном порядке, он шагает на один горшок вперёд,');

write ('иначе он меняет их местами и шагает на один горшок назад.');

write ('граничные условия: если нет предыдущего горшка, он шагает вперёд;');

writeln ('если нет следующего горшка, он закончил.');

end.

Рисунок 2. Задача № 2. Гномья сортировка

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

3. Шейкерная сортировка (сортировка перемешиванием с англ. сocktailsort) -- разновидность пузырьковой сортировки. Отличается тем, что просмотры элементов выполняются один за другим в противоположных направлениях, при этом большие элементы стремятся к концу массива, а маленькие -- к началу. Лучший случай для этой сортировки -- отсортированный массив (О(n)), худший -- отсортированный в обратном порядке (O(nІ)). Анализируя метод пузырьковой сортировки можно отметить два обстоятельства:

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

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

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

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

Условие задачи № 3: Отсортировать числа с помощью гномьей сортировки по возрастанию массива A из N.

Листинг программы:

program cocktail_sort;

uses crt;

const m = 10;

vararr: array[1..m] of integer;

i, j, k: integer;

begin

randomize;

writeln ('сортировка перемешиванием (шейкерная, cocktail sort, bidirectional bubble sort)');

writeln;

write ('шейкерная сортировка -- разновидность пузырьковой сортировки.');

write ('отличается тем, что просмотры элементов выполняются один за другим в противоположных направлениях,');

writeln ('при этом большие элементы стремятся к концу массива, а маленькие -- к началу.');

write ('перестановка элементов в шейкерной сортировке выполняется аналогично той же в пузырьковой сортировке,');

writeln ('т.е. два соседних элемента, при необходимости, меняются местами.');

writeln;

write ('исходный массив:');

fori:= 1 to m do begin

arr[i]:= random(256);

write (arr[i]:5);

end;

writeln;

writeln;

fori:= 1 to m-1 do

for j:= 1 to m-i do

ifarr[j] >arr[j+1] then begin

k:= arr[j];

arr[j]:= arr[j+1];

arr[j+1]:= k

end;

write ('отсортированный массив:');

fori:= 1 tomdo

write (arr[i]:5);

writeln;

writeln;

write('алгоритм сортировки показывает симметрию:');

write('один неправильно расположенный элементвсплываетна место за один проход,');

write ('а неправильно расположенный элемент массива в легком конце опускается');

write ('за один проход на один шаг в сторону правильного места.');

writeln;

end.

Рисунок 3. Задача № 3. Шейкерная сортировка

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

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

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

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

А вот сортировка вставками, что интересно, алгоритм не содержит вложенных циклов, а сортирует весь массив за один проход.

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

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

Заключение

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

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

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

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

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

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

Литература

1. Алгоритмы и структуры данных [Электронный ресурс]/ Режим доступа: http://depositfiles.com.

2. Алексеев Е.Р. Учебник по программированию [Текст]/ Е.Р. Алексеев, Санкт-Петербург: ДиаСофтЮП, 2009 г.

3. Антоненко М.В. Толстый самоучитель работы на компьютере c XP, Vista и Windows 7 [Текст]/ М.В. Антоненко, Москва: Наука и техника, 2011 г.

4. Боон К. Паскаль для всех пользователей [Текст]/ К. Боон, Москва: Энергоавтомиздат, 2011 г.

5. Бородач Ю.С. Паскаль для персональных компьютеров. Справочное пособие [Текст]/ Ю.С. Бородач, Москва: Бф-Итмп Ника, 2010 г.

6. Вирт Н. Алгоритмы и структуры данных [Текст]/ Н. Вирт, Москва: Мир, 2012 г.

7. Геодаков Н.А. Практикум по программированию. Введение в организацию ЭВМ и программирование. Программирование на языке Паскаль [Текст]/ Н.А. Геодаков, Москва: МГПИ, 2009 г.

8. Гордон Ян. Язык программирования. Паскаль без секретов [Текст]/ Ян Гордон, Москва: Просвещение, 2011 г.

9. Грогоно П. Программирование на языке Паскаль [Текст]/ П. Грогоно, Москва: Мир, 2012 г.

10. Йенсен К. Паскаль. Руководство для пользователя [Текст]/ К. Йенсен, Москва: Компьютер, 2010 г.

11. Керниган Б. Инструментальные средства программирования на языке Паскаль [Текст]/ Б. Керниган, Москва: Мир, 2012 г.

12. Кнут Д.Э. Искусство программирования [Текст]/ Д.Э. Кнут, Москва: Вильямс, 2011 г.

13. Мануйлов В.Г. Разработка программного обеспечения на Паскале [Текст]/ В.Г. Мануйлов, Москва: Приор, 2012 г.

14. Основы программирования [Электронный ресурс]/ Режим доступа: http://dump.ru.

15. Павловская Т.А. Паскаль. Программирование на языке высокого уровня [Текст]/ Т.А. Павловская, Москва: Диалог-Мифи, 2012 г.

16. Паскаль для студентов. Электронный учебник по программированию [Электронный ресурс]/ Режим доступа: http://www.ksc.ru/cdo/metod/programmerscourse/language/index.

17. Паскаль. Руководство для пользователя [Электронный ресурс]/ Режим доступа: http://dump.ru.

18. Перминов О.H. Программирование на языке Паскаль [Текст]/ О.H. Перминов, Москва: Радио и связь, 2011 г.

19. Прайс Д. Программирование на языке Паскаль. Практическое руководство [Текст]/ Д. Прайс, Москва: Наука и техника, 2010 г.

20. Программирование в алгоритмах [Электронный ресурс]/ Режим доступа: http://amberv.narod.ru/pascal.html.

21. Роберт Седжвик. Фундаментальные алгоритмы на Pascal [Текст]/ Седжвик Роберт, Санкт-Петербург: ДиаСофтЮП, 2012 г.

22. Семашко Г.Л., Салтыков А.И. Программирование на языке паскаль [Текст]/ Г.Л. Семашко, А.И. Салтыков, Москва: Наука, 2012 г.

23. Тумасонис В. Паскаль. Руководство для программиста: Справочник [Текст]/ В. Тумасонис, Москва: Радио и связь, 2011 г.

24. Ускова О.Ф. Программирование на языке Паскаль: задачник [Текст]/ О.Ф. Ускова, Москва: Наука и техника, 2013 г.

25. Эрбс Х.Э., Штольц О. Введение в программирование на языке Паскаль [Текст]/ Х.Э. Эрбс, О. Штольц, Москва: Мир, 2012 г.

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

...

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

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

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

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

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

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

    курсовая работа [203,8 K], добавлен 03.12.2010

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

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

  • Изучение понятия и основных видов массивов. Ввод массива с клавиатуры и вывод на экран. Сортировка массивов. Метод простых обменов (пузырьковая сортировка). Сортировка простым выбором и простым включением. Решение задач с использованием массивов Паскаля.

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

  • Понятие алгоритма и сортировки. Способы и алгоритмы сортировки массивов. Быстрая сортировка Хоара. Описание алгоритма "быстрой сортировки". Реализация на языке программирования. Анализ наихудшего разбиения. Вероятностные алгоритмы быстрой сортировки.

    курсовая работа [291,5 K], добавлен 22.03.2012

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

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

  • Краткое описание языка программирования С++. Алгоритм линейного выбора элемента, методов минимального (максимального) элемента и челночной сортировки. Анализ и разработка приложения, организующего сортировку массива данных пятью методами сортировки.

    реферат [614,8 K], добавлен 12.04.2014

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

    лабораторная работа [14,2 K], добавлен 03.10.2010

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

    реферат [189,8 K], добавлен 06.12.2014

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

    курсовая работа [1,0 M], добавлен 02.06.2017

  • Структура – это объединение одного либо более объектов (переменных, массивов, указателей, других структур). Понятие структурной переменной. Создание массивов структур. Использование вложенных структур в виде элементов массивов person, date, pibm.

    лабораторная работа [17,6 K], добавлен 15.07.2010

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

    учебное пособие [1,1 M], добавлен 22.02.2011

  • Разработка программ на языке Turbo Pascal на основе использования массивов данных. Особенности хранения данных, способы объявления переменных, действия над элементами массивов, их ввод и вывод. Практическое применение одномерных и многомерных массивов.

    методичка [17,8 K], добавлен 25.11.2010

  • Разработка программы для решения инженерных задач с использованием функций, процедур и сложных типов данных, в том числе динамических массивов и объединений. Интерфейс ввода/вывода. Схемы алгоритмов отдельных подзадач. Технические требования к программе.

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

  • Сортировка как процесс расстановки элементов "в некотором порядке", ее структура и основные компоненты, характеристика методов. Порядок выбора того или иного метода сортировки: линейный с обменом и подсчетом, методом Шелла, с отложенными обменами.

    реферат [27,1 K], добавлен 13.09.2009

  • Основные модули и процедуры, входящие в состав программного комплекса. Логические структуры данных, объявление массивов. Сущность пирамидальной сортировки. Основные вкладки программы (использование пакета Borland Delphi). Листинг и тестирование программы.

    курсовая работа [1,0 M], добавлен 07.11.2010

  • Возможности современных компьютерных технологий решения задач в средах MS Excel, MS Word. Область программирования в офисных пакетах. Применение ЭВМ в решении математических задач. Разработка программного обеспечения. Разработка приложений с помощью VBA.

    дипломная работа [742,2 K], добавлен 29.01.2009

  • Характеристика параметрических методов решения задач линейного программирования: методы внутренней и внешней точки, комбинированные методы. Алгоритм метода барьерных поверхностей и штрафных функций, применяемых для решения задач большой размерности.

    контрольная работа [59,8 K], добавлен 30.10.2014

  • Централизованное создание массивов нормативно-справочной информации для разнообразных расчетов при решении задач предприятия, их информационное обеспечение. Решение задач по технической подготовке производства (ТПП) в программной среде СУБД Visual FoxPro.

    контрольная работа [160,9 K], добавлен 03.06.2009

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