Автор работы: Пользователь скрыл имя, 07 Апреля 2011 в 17:06, курсовая работа
Массив - это структура данных, которая может заключать в себе несколько отдельных значений данных, подобно тому, как здание - это физическая структура, которая может содержать несколько этажей.
Введение 
     1 Разработка эскизного и технического  проектов программы 
Назначение и область применения
     1.2     Техническая характеристика 
1.2.1  Постановка  задачи
1.2.2 Описание  алгоритма
1.2.3 Организация  входных и выходных данных
1.2.4  Выбор  среды разработки программных средств
    2. Методы сортировки массивов
2.1 Метод «Пузырька»  или Метод Обмена
2.2 Метод прямого  выбора
     2.3 Метод Шелла
    3 Проектирование и разработка  проекта
     3.1 Проектирование программы
     3.2 Текст программы
     3.3 Спецификация программы
     3.4 Тестирование
     3.5 Использование созданного приложени
     Заключение
     Глоссарий
     Список  использованных источников
      Приложение  А
      Приложение  Б
begin // обменяем k-й и k+1-й элементы
buf := a[k];
a[k]:=a[k+1];
a[k+1]:=buf;
ch:=true;
                 
end; 
for i:=1 to size do
             
label2.Caption:=label2.
             
label2.Caption:=label2.
         
until not ch; // если не было обменов, значит 
отсортирован 
//по убыванию
       
if (RadioButton1.Checked=true) and (RadioButton5.Checked=true)
repeat
ch:=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;
ch:=true;
                 
end; 
for i:=1 to size do
              
label2.Caption:=label2.
              
label2.Caption:=label2.
         
until not ch; // если не было обменов, значит 
отсортирован 
// метод прямого выбора
       
// по возрастанию 
       
if (RadioButton2.Checked=true) and (RadioButton7.Checked=true)
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.
               
label2.Caption:=label2.
           
end; 
// по убыванию
min:=i;
       
if (RadioButton2.Checked=true) and (RadioButton6.Checked=true)
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.
               
label2.Caption:=label2.
           
end; 
// МЕТОД ШЕЛЛА
// по возрастанию
       
if (RadioButton3.Checked=true) and (RadioButton8.Checked=true)
d:=Size div 2; // начальное значение интервала
While d>0 do
begin // цикл с уменьшением интервала до 1
             
//пузырьковая сортировка с 
ch:=true;
While ch do
begin // цикл, пока есть перестановки
ch:=false; i:=1;
for i:=1 to Size-d do
begin
                     
//сравнение эл-тов на 
if a[i]>a[i+d]
then
begin
buf:=a[i];
a[i]:=a[i+d];
a[i+d]:=buf; //перестановка
ch:=true; //признак перестановки
end;
end;
end;
             
d:=d div 2; // уменьшение интервала 
for i:=1 to size do
               
label2.Caption:=label2.
               
label2.Caption:=label2.
           
end; //пока d>0 
 
// по убыванию
       
if (RadioButton3.Checked=true) and (RadioButton9.Checked=true)
d:=Size div 2; // начальное значение интервала
While d>0 do
begin // цикл с уменьшением интервала до 1
             
//пузырьковая сортировка с 
ch:=true;
While ch do
begin // цикл, пока есть перестановки
ch:=false; i:=1;
for i:=1 to Size-d do
begin
                     
//сравнение эл-тов на 
if a[i]<a[i+d]
then
begin
buf:=a[i];
a[i]:=a[i+d];
a[i+d]:=buf; //перестановка
ch:=true; //признак перестановки
end;
end;
end;
             
d:=d div 2; // уменьшение интервала 
       
Label2.Caption:=Label2.
     end; 
     end. 
     3.3 
Спецификация программы 
Исполняемый файл программы «Сортировка линейного массива» имеет название Project1.exe и расположен на диске в Приложении А.
     Приложение 
включает следующие файлы приведенные 
в таблице 1. 
Таблица 1
| Наименование | Обозначение | Примечание | 
| Project1.dof | Файл параметров проекта | Содержит текущие установки проекта: настройки компилятора и компоновщика, имена служебных каталогов, условные директивы | 
| Project1.dpr | Файл проекта | Связывает все файлы из которых состоит приложение | 
| Unit1.pas | Файл программного модуля для формы № 1 | Определяет функциональность формы №1 | 
| Unit1.dfm | Файл формы №1 | Содержит список свойств всех компонентов, включенных в форму №1 | 
| Unit1.dcu | Объектный файл для Unit1.pas | Откомпилированная версия Unit1.pas | 
| Project1.cfg | Файл конфигурации проекта | содержит конфигурацию всего проекта | 
| Unit1.ddp | Файлы модуля | Содержит вспомогательные файлы модуля, формируется автоматически | 
     3.4 
Тестирование 
При разработке программы «Сортировка линейного массива» в качестве контрольного примера может быть использован следующий пример:
5 8 -4 0 7 3 9
     Отладка 
программы производилось с 
         
Результаты выполнения программы в ходе 
тестирования отображены в Приложении 
Б. 
Минимальные требования для полноценной работы созданного приложения:
  Для 
запуска приложения использовать файл 
Project1.exe.    
 
 
При выполнении данного курсового проекта мною были приобретены навыки работы в среде разработки приложений Delphi 7.0, сформированы знания по формированию и обработке массивов. Результатом моих знаний и умений служит разработанное приложение «Сортировка линейных массивов», которая может быть использована преподавателем на уроках при объяснении темы «Методы Сортировки линейных массивов».
Данное приложение было протестировано. Выявленные недостатки в ходе работы программы были устранены.
Результаты тестирования проекта имеются в Приложении Б.
При попытке сортировать массив с пропущенными ячейками в таблице программа выдает для пользователя соответствующее сообщение и автоматически заменяет пропущенные значения нулями.
Перспектива данной работы заключается в увеличении количества методов сортировки в данном проекте для более широкого использования в педагогической практике.
  
 
| № п/п | Понятие | Определение | 
| 1 | Delphi | одна из самых мощных систем, позволяющих на самом современном уровне создавать как отдельные прикладные программы Windows, так и разветвленные комплексы предназначенные для работы в корпоративных сетях и в Интернет. | 
| 2 | Object Pascal | язык программирования 
  высокого уровня, позволяющий использовать 
  такие объектно- | 
| 3 | Алгоритм | это описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов. | 
| 4 | Визуальные компоненты | компоненты, видимые при работе приложения | 
| 5 | Компилятор | программа, которая 
  переводит исходный код на машинный 
  язык и создает выполняемую | 
| 6 | Компиляция программы | перевод исходного кода на машинный язык и компоновку выполняемого файла из файлов, составляющих проект. | 
| 7 | Массив | это однородная структура однотипных данных, одновременно хранящихся в последовательных ячейках оперативной памяти. Эта структура должна иметь имя и определять заданное количество данных (элементов). | 
| 8 | Проект | совокупность файлов разных форматов, из которых строится программа. | 
| 9 | Сортировка массива | процесс перестановки значений данного массива в определенном порядке. | 
| 10 | Форма | окно приложения на этапе разработки |