Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Titulnyy_list_kurs_r_novyy (Автосохраненный).doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.32 Mб
Скачать

Заключение

В результате проделанной работы был более подробно изучен материал по теме динамическое программирование в курсе дисциплины «Структуры и алгоритмы обработки данных».

Итогом выполнения задания на курсовую работу стала программа «Pods4et», осуществляющая сортировку массива из 8 элементов с помощью метода подсчета сравнений и визуализацию данного процесса.

Список литературы:

  1. Интернет ресурс http://www.delphisources.ru – Delphi программирование - Borland Delphi.

  2. Учебник для ВУЗов «Delphi Программирование на языке высокого уровня». Фаронов В.В.

Приложение 1

МИНОБРНАУКИ РОССИИ

ФГБОУ ВПО Череповецкий Государственный Университет

Институт информационных технологий

Кафедра МПО ЭВМ

Утверждаю

зав. каф. МПО ЭВМ

д.т.н., проф.________ Ершов Е.В.

«____»_____________2012г.

Алгоритмы обработки данных

Техническое задание на курсовую работу

Исполнитель: студентка гр.1ИВТб-31

Кляпикова А.А.

Руководитель: Селивановских В.В.

2012г.

1. Введение.

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

2. Основание для разработки

Основанием для разработки служит задание на курсовую работу по дисциплине : «Структуры и алгоритмы обработки данных ».

Задание:

Реализовать графическую визуализыцию работы алгоритма сортировки методом подсчета сравнений.

3. Назначение разработки

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

4. Требования к программе

А) Требования к функциональным характеристикам

Исходные данные:

-массив задается случайным образом и выводится в Memo

-число элементов массива задается с клавиатуры

Результаты:

-отсортированный массив выводится в Memo

-ход сортировки можно пронаблюдать в Image

Функции:

- Наглядное представление алгоритма сортировки методом подсчета сравнений;

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

-Пошаговое выполнение алгоритма

Б) Требования к надежности

При ошибке или неверном действии будет использоваться сообщение об ошибке или с дальнейшими действиями.

С) Требования к составу и параметрам технических средств.

Минимальные системные требования: Оперативная память: 64 Мб RAM и выше; Операционная система — Windows 2000/ XP/ 7; Объем занимаемой памяти на жестком диске: 1,5 Mb; Устройства взаимодействия с пользователем: мышь, клавиатура.

Д) Требования к информационной и программной совместимости.

Программа, написанная в среде Delphi 7 на языке Object Pascal должна работать на основе операционный системы Windows.

5. Требования к программной документации

- Пояснительная записка,

-Техническое задание (Приложение 1),

-Блок-схемы алгоритмов (Приложение 2),

-Текст программы (Приложение 3),

-Руководство пользователя (Приложение 4).

  1. Стадии и этапы разработки

Наименование этапа разработки

Сроки разработки

Результат выполнения

Исполнитель

Постановка задачи и разработка технического задания

До 1 октября

Техническое задание

Оловянишникова Д.В.

Выбор языка и среды программирования

до 10 октября

Обоснование выбора языка программирования

Оловянишникова Д.В.

Разработка алгоритма программы

до 10 октября

Алгоритм рабочей программы

Оловянишникова Д.В.

Описание логической структуры программы

до 30 октября

Логическая структура программы

Оловянишникова Д.В.

Проектирование интерфейса пользователя

до 10 ноября

Интерфейс программы в электронном виде

Оловянишникова Д.В.

Первая версия программы

до 17 ноября

Не менее 50% рабочей программы

Оловянишникова Д.В.

Тестирование

до 1 декабря

Рабочая программа без ошибок

Оловянишникова Д.В.

Окончательный вариант программы

до 8 декабря

Окончательный вариант рабочей программы

Оловянишникова Д.В.

Написание расчетно-пояснительной записки

до 15 декабря

Расчетно-пояснительная записка

Оловянишникова Д.В.

Защита

с 20 по 24 декабря

Готовая курсовая работа

Оловянишникова Д.В.

  1. Порядок контроля и приёмки

Наименование контрольного этапа

Сроки контроля

Отметка о приеме

Техническое задание в бумажном виде

1 октября

Выбор языка и среды программирования в бумажном виде

10 октября

Обобщенный алгоритм в бумажном виде

10 октября

Логическая структура программы

30 октября

Приблизительный интерфейс в электронном виде

10 ноября

Не менее 50% реализованной программы в электронном виде

17 ноября

Окончательный вариант программы в электронном виде

8 декабря

Расчетно-пояснительная записка в бумажном виде (без приложений)

15 декабря

Защита

20-24 декабря

Группа 56

Приложение 2

Блок – схемы алгоритмов

Блок-схема сортировки

Группа 89

Блок схема

визуализуции

Приложение 3

Листинг

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, jpeg, ExtCtrls, XPMan, Menus, Grids, ComCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

img1: TImage;

Memo1: TMemo;

Memo2: TMemo;

GroupBox1: TGroupBox;

XPManifest1: TXPManifest;

Button3: TButton;

Image2: TImage;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

strngrd1: TStringGrid;

Image3: TImage;

TrackBar1: TTrackBar;

Label1: TLabel;

Label2: TLabel;

Image4: TImage;

Image5: TImage;

Image6: TImage;

N5: TMenuItem;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

const n=8;

var

C,E,F:array [0..10000] of integer;

i,j:integer;

Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

memo1.Clear;

memo2.Clear;

randomize;

for i:=0 to n-1 do begin

C[i]:=0;

E[i]:=random(100);

memo1.Lines.Add(inttostr(E[i]));

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Button3.Visible:=true;

strngrd1.colcount:=n;

strngrd1.rowcount:=n;

for i:=0 to n-1 do

for j:=i+1 to n do

if E[i]<E[j] then

begin

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

strngrd1.cells[i,j]:='0';

strngrd1.cells[j,i]:='1';

end

else

begin

C[i]:=C[i]+1;

strngrd1.cells[i,j]:='1';

strngrd1.cells[j,i]:='0';

end;

for i:=0 to n do

F[C[i]]:=E[i];

for i:= 1 to n do

memo2.Lines.add(inttostr(F[i]));

end;

procedure TForm1.N2Click(Sender: TObject);

begin

Form1.Hide;

Form3.Show;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

Form1.Hide;

Form2.Show;

end;

procedure TForm1.Button3Click(Sender: TObject);

var cy,dx,u:integer;

begin

u:=TrackBar1.Position;

dx:=60;

Image2.Picture:=nil;

Image3.Picture:=nil;

Image4.Picture:=nil;

Image2.Canvas.Pen.Color:=clBlack;

Image3.Canvas.Font.Size:=20;

Image2.Canvas.Font.Size:=20;

Image4.Canvas.Font.Size:=20;

for i:=0 to n-1 do

begin

Image3.Canvas.Ellipse(dx*i,0,dx*i+50,50);

Image3.Canvas.TextOut(dx*i+9,7,inttostr(E[i]));

end;

for i:=0 to n-1 do

for cy:=0 to n-1 do

begin

if strngrd1.cells[i,cy]='' then Image2.Canvas.Brush.Color:=clWhite;

if strngrd1.cells[i,cy]='1' then Image2.Canvas.Brush.Color:=clGreen;

if strngrd1.cells[i,cy]='0' then Image2.Canvas.Brush.Color:=clRed;

Image2.Canvas.Ellipse(dx*cy,dx*i,dx*cy+50,dx*i+50);

if strngrd1.cells[i,cy]='' then

begin

Image2.Canvas.Pen.Color:=clBlack;

Image2.Canvas.TextOut(dx*cy+9,dx*i+7,inttostr(E[i]));

end;

Sleep(u);

begin

Image4.Canvas.Ellipse(dx*i,0,dx*i+50,50);

Image4.Canvas.TextOut(dx*i+9,7,inttostr(F[i+1]));

Image2.Repaint;

Image3.Repaint;

Image4.Repaint;

end; end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Button3.Visible:=False;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Form1.Close;

end;

end.

Приложение 4

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

Запускаем файл Podc4et.exe.

При запуске файла на экране появится главное окно программы (Рис.П4.1), содержащее:

  • Кнопки «Изначальный массив», «Сортировать» и «Просмотреть визуализацию»

  • Окна для ввода и вывода

  • Регулятор скорости сортировки

  • Меню и справку

Рис. П4. 1. Главное окно программы

Задаем скорость сортировки

Рис. П4.2

Задайте необходимую скорость и нажмите на кнопку «Изначальный массив». После нажатия этой кнопки в окно над ней выведется исходный неотсортированный массив, состоящий из 8 элементов(количество задано по умолчанию и меняется только в коде программы). Затем нажимаем на кнопку «Сортировка». Появляется кнопка «Просмотреть визуализацию». Нажимаем на нее и массив начинает сортироваться, закрашивая красным (если элемент с которы мравниваем больше сравниваемого) и зеленым (если меньше) (Рис.П4.2).

Рис.П4.2. Нажатие кнопки «Создать массив».

Во вкладке меню можно (Рис . П4.3) можно просмотреть информацию от авторе (Рис.П4.4)

Рис.П4.3

Рис.П4.4

Или можно осуществить выход.

В соседней вкладке Справка можно изучить руководство пользочателя (Рис.П4.5).

Рис.П4.5

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]