Сортировка данных строкового типа методом перестановок с использованием процедур и функций

Автор: Пользователь скрыл имя, 27 Июля 2011 в 14:44, курсовая работа

Описание работы

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

Содержание

Введение 3
1 Теоретические основы 4
1.1 Системные требования 4
1.2Анализ технического задания 4
1.3 Среда программирования Delphi 6
1.4 Основные принципы структурного программирования 12
1.5 Создание консольного приложения в среде Delphi 15
1.6 Компиляция и выполнение 18
1.7 Массивы на языке Delphi 19
1.8 Алгоритм ввода массива 20
1.9 Алгоритм вывода массива 20
1.10 Поиск минимального элемента массива 21
1.11 Алгоритм сортировки 21
1.12 Реализация алгоритмов с использованием подпрограмм 21
1.13 Алгоритм решения задачи 22
2 Разработка программы 23
2.1 Создание консольного приложения 23
2.2 Объявление основных переменных и констант 24
2.3 Реализация алгоритмов ввода и вывода массива 25
2.4 Реализация алгоритма сортировки 27
2.5 Тестирование и отладка 28
2.6 Руководство пользователя 29
Заключение 30

Работа содержит 1 файл

Курсовая гл.docx

— 374.85 Кб (Скачать)

     При создании нового проекта автоматически  генерируется  «пустая», но полностью  работоспособная заготовка будущего приложения. Она представляет собой  готовый код со всеми дополнительными  ресурсами. От разработчика не требуется  усилий по настройки исходного текста – он может быть сразу преобразован в исполнимый код и запущен  на выполнение (рисунок 2.2).

     

Рисунок 2.2 – Текст простейшей консольной программы в окне редактора кода

     2.2 Объявление основных  переменных и констант

     Любая величина в Delphi может быть постоянной или переменной. Её имя (идентификатор) может состоять из комбинации латинских букв, цифр и знака подчёркивания, и начинаться не с цифры. При этом регистр символов значения не имеет.

     Команда объявления переменных в языке Delphi:

     var имя_переменной: тип_переменной ;

     Слово var - ключевое. Именем может быть любой идентификатор, если он не был описан ранее и не является одним из ключевых или зарезервированных слов языка Delphi. Если нужно описать несколько переменных одного типа, то их перечисляют, отделяя запятой:

       var A, B, C: Integer;

       Если несколько описаний следуют друг за другом, то ключевое слово var повторно можно не указывать:

       var A, B: Integer;

     C, D: String;

     Постоянную  величину иначе называют константой. Конечно, в программе можно использовать числа и строки непосредственно: 3.1415 или 'Это значение числа пи', но иногда удобнее присвоить их идентификатору. Описание констант аналогично описанию переменных, но используется ключевое слово const, за именем идентификатора следует тип, затем знак равенства и его значение. Причём тип константы допускается не указывать:

     const pi=3.1415;

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

     Если  текст должен содержать сам символ кавычки, то его надо повторить дважды.

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

       Самый популярный строковый тип  – String. Строка типа String может содержать переменное количество символов объёмом до 2 Гбайт. Если нужно ограничить размер строки фиксированным значением, то после ключевого слова String в квадратных скобках указывается число, определяющее количество символов в строке: String (рисунок 2.3). 

Рисунок 2.3 – Объявление переменных и констант

     2.3 Реализация алгоритмов  ввода и вывода массива

     Пусть в программе описана переменная-массив:

     var a: array [1..n] of integer;

     Значения  элементов массива необходимо ввести с клавиатуры. Поскольку с элементами массива можно обращаться как  с обычными переменными, мы вправе написать следующие строчки:

       Write (‘Введите a[i]: ’);

       ReadLn (a[i]);

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

     for i:=1 to n do

     begin

       write (‘введите a[‘,i,’]: ’);

       readln(a[i]);

     end;

     Если  необходимо вывести все элементы массива на экран (в строчку), то это также можно сделать с помощью оператора FOR(рисунок 2.4):

     for i:=1 to n do

      Write ( a[i] );

     

Рисунок 2.4 – Алгоритм ввода и вывода

     2.4 Реализация алгоритма  сортировки

     Сортировка  перестановками состоит в следующем:

    1. Поиск минимального элемента
    2. Минимальный элемент меняется местами с первым
    3. Поиск минимального элемента, начиная со следующего за первым
    4. Алгоритм повторяется для каждого элемента.

Рисунок 2. 5 – Алгоритм сортировки

       2.5 Тестирование и отладка

     Отладка – это пошаговое выполнение команд программы. В этом режиме каждая строчка  кода выполняется по команде, и сразу  после ее выполнения Delphi останавливает  ее работу и ждет следующей команды. Когда программа остановлена  на определенном шаге выполнения, вы можете просмотреть значения всех переменных и даже изменить их значения (рисунок 2.6, рисунок 2.7). Точка прерывания отладки – строка кода, на которой программа должна остановить свое выполнение и перейти в Delphi для продолжения выполнения в пошаговом режиме. Для того чтобы поставить точку прерывания, нужно выделить строку и нажать клавишу . Эта строка должна окраситься в красный цвет. Если она сразу или после компиляции оказалась другого цвета, то на этой строке программа не может останавливаться. Слева от строки может стоять синяя точка. Это делается в том случае, когда строка может стать точкой прерывания. Если такой точки нет, то и прерывания не может быть. Эти точки видны не всегда. Они могут пропадать и появляться только после очередной компиляции программы. Если вы внесли какие-то изменения в код или добавили строку, то напротив этой строки не будет никаких точек, даже если здесь точно программа может остановить свое выполнение. Оболочка Delphi просто не знает о том, что делает этот код. Очередная проверка произойдет только во время следующей компиляции, и только после нее будут выставлены правильные точки прерывания.  

Рисунок 2.6 – Тестирование и отладка

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

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

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

Рисунок 2.7 – Тестирование и отладка

     2.6 Руководство пользователя

     Сортировка  перестановками – непрактичный алгоритм сортировки. Она применяется только в том случае, если надо уменьшить оперативную память. 

 

Заключение

     Для достижения цели мной были решены задачи :

    • создана программа сортировки перестановками;
    • была показана суть алгоритма;
    • был изучен алгоритм сортировки перестановками.

     Программа выполнена в полном соответствии с поставленными задачами, в частности  была проверена и отлажена.

 

 

 

Информация о работе Сортировка данных строкового типа методом перестановок с использованием процедур и функций