h1

Курсовая работа по дисциплине вычислительная математика на тему «Разработка обучающего программного комплекса для изучения алгоритмов обработки массивов»

Май 28, 2010

Эта курсовая работы была написана и защищена на отлично на втором курсе. В работе описана программа ACP Pascal, ее характеристики, этапы разработки и другое, что относится к разработке программного обеспечения.

Ссылка на скачивание

Текст курсовой работы (без изображений)

Содержание
Введение
1. Разработка эскизного и технического проектов программы
1.1 Назначение и область применения
1.2 Технические характеристики
1.2.1 Постановка задачи
1.2.2 Организация входных и выходных данных
1.2.3 Выбор состава технических и программных средств
1.3 Выбор названия программы
2. Разработка рабочего проекта
2.1 Алгоритм программы
2.2 Текст программы
2.3 Описание программы
2.4 Тестирование программы
3. Внедрение
Заключение
Список использованной литературы

Введение
В настоящее время проблема создания приложений и внедрение их в повседневную жизнь очень актуальна.
В каждом офисе есть ПК со специальными приложениями для работы. С помощью приложений ведется производство сложной техники на предприятиях, автоматизация производств. Приложения используются в электро–технических приборах домашнего пользования: калькуляторы, стиральные машины, видеокамеры, фотоаппараты и др. Следовательно, для движения прогресса и внедрения, разработки новых технологий нужны программисты.
Программирование одна из самых сложных наук, и объем информации, усваиваемой программистом при обучении очень сложно запомнить, а зачастую сложно донести в доступном виде. Для помощи программистам создаются и разрабатываться приложения, ориентированные на задачи программистов. Они помогают облегчить жизнь начинающему программисту и сэкономить время более опытному программисту; исключают поиск нужной справочной информации в интернете и библиотеках, обеспечивая нужными данными прямо на рабочем месте.
Тема моего курсового проекта – «Разработка обучающего программного комплекса для изучения алгоритмов обработки массивов». создание обучающей программы для изучения алгоритмов обработки массивов. Задача программы – это помощь в изучении алгоритмов обработки массивов на языке Turbo Pascal.

1. Разработка эскизного и технического проектов программы

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

1.2 Технические характеристики
1.2.1 Постановка задачи
Создать программу автоматического создания исходных кодов программ на Pascal. Программа должна выдавать исходный код программы, который формируется в зависимости от указанных параметров.
Реализовать систему удобного расположения переключаемых параметров, создать информационное сообщение выводимое при ошибке введенных данных. Создать справку о пользовании программой.
Для того чтобы воспользоваться вывода исходного кода нужно заполнить пункты с условиями к реализуемой задаче и нажать кнопку «Вывести код». Исходный код появится в поле находящимся в правой части диалогового окна программы.
Для пользователей есть справка о пользовании программой, для вызова справки нужно нажать по надписи «Справка» у верхней границы диалогового окна программы.
Для выхода из программы следует нажать «Меню» — «Выход».

1.2.2 Организация входных и выходных данных
На вход программе задаются данные, вводимые пользователем, которые храняться в неявных переменных (CheckBox.Checked, Edit.Text). Выходные данные выводятся в поле Memo, так же предусмотрена возможность сохранения их в файл.

1.2.3 Выбор состава технических и программных средств
В последнее время резко возрос интерес к программированию. Это связано с развитием и внедрением в повседневную жизнь информационно-коммуникационных технологий. Если человек имеет дело с компьютером, то рано или поздно у него возникает желание, а иногда и необходимость, программировать.
Среди пользователей персональных компьютеров в настоящее время наиболее популярно семейство операционных систем Windows и, естественно, что тот, кто собирается программировать, стремится писать программы, которые будут работать в этих системах. Несколько лет назад рядовому программисту оставалось только мечтать о создании собственных программ, работающих в среде Windows, т. к. единственным средством разработки был Borland C++ for Windows, явно ориентированный на профессионалов, обладающих серьезными знаниями и опытом.
Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую «быструю разработку», среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development — среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий. Производительность программиста при использовании RAD-систем — фантастическая! Среда программирования – Delphi – весьма быстрая и удобная для разработки приложений различного назначения для Windows. Для нормальной работы программы необходим IBM совместимый компьютер с тактовой частотой процессора не ниже 144МГц и выше, оперативной памятью 16 Мб, жесткий диск объемом не менее 500Мб.

1.3 Выбор названия программы
Для успешного продвижения программного продукта следует дать ему легкозапоминаемое и лаконичное название. Для своего пректа я подобрал название ACP Pascal, расшифровывется как Automatic Creation of Programs Pascal – автоматическое создание программ на Pascal.
При выборе уникального имени программы, продвижение ее в интернете становится в разы проще. Так, если ввести в поисковые системы Google или Yandex запрос «ACP Pascal», то на первых местах в результате поиска окажется ссылка на страницу с моим проектом.

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

2.2 Текст программы
Программа включает в себя более 800 строк кода. Поэтому рассмотрим лишь часть из исходного кода программы, который отвечает за объвление переменных, вывод первых строк программ и поиска маскимального элемента в массиве:
procedure TForm1.Button1Click(Sender: TObject);
var
temp, temp2: string;
flag,flag_k, flag_sum, flag_pr, flag_sa, flag_j, flag_x: boolean;
begin
flag:=false;
if not (CheckBox14.Checked or (Length(Edit1.Text)>0)) or
not (RadioButton5.Checked or RadioButton6.Checked) or
not (RadioButton3.Checked or RadioButton4.Checked) then
MessageBox(Handle,PChar(‘Заполнены не все данные!’),
PChar(‘Внимание!’),MB_ICONINFORMATION+MB_OK+MB_DEFBUTTON2)
else
flag:=true;
Memo1.Clear;
if flag then
begin
Memo1.Lines.Add(‘uses crt;’);
Memo1.Lines.Add(‘var’);
if RadioButton5.Checked then temp:=’integer’;
if RadioButton6.Checked then temp:=’real’;
if CheckBox14.Checked then
Memo1.Lines.Add(‘ a: array [1..99] of ‘+temp+’;’)
else
Memo1.Lines.Add(‘ a: array [1..’+Edit1.Text+’] of ‘+temp+’;’ );
{переменные для функций}
{темп — целое темп2 — вещественное}
temp:=»; temp2:=»; flag_k:=false; flag_sum:=false; flag_pr:=false; flag_j:=false;
//поиск максимального
if CheckBox1.Checked then
begin
if RadioButton5.Checked then
begin
temp:=temp+’,max,k’;
flag_k:=true;
end
else
begin
temp2:=temp2+’,max’;
temp:=temp+’,k’;
flag_k:=true;
end;
end;

//нахождение максимального
if CheckBox1.Checked then
begin
if CheckBox14.Checked then temp:=’n’ else temp:=Edit1.Text;
Memo1.Lines.Add(‘{poisk maximalnogo elementa}’);
Memo1.Lines.Add(‘max:=a[1];’);
Memo1.Lines.Add(‘k:=1;’);
Memo1.Lines.Add(‘for i:=2 to ‘+temp+’ do’);
Memo1.Lines.Add(‘begin’);
Memo1.Lines.Add(‘ if a[i]>max then ‘);
Memo1.Lines.Add(‘ begin’);
Memo1.Lines.Add(‘ max:=a[i];’);
Memo1.Lines.Add(‘ k:=i;’);
Memo1.Lines.Add(‘ end;’);
Memo1.Lines.Add(‘end;’);
Memo1.Lines.Add(‘writeln;’);
if RadioButton5.Checked then
Memo1.Lines.Add(‘writeln(»maximalnoe chislo — »,max:2, », ego nomer — »,k:2);’)
else
Memo1.Lines.Add(‘writeln(»maximalnoe chislo — »,max:2:2, », ego nomer — »,k:2);’);
end;

Рассмотрим также часть кода, отвечающего за сортировку методом выбора:
//сортировка выбором
if CheckBox13.Checked then
begin
if not flag_k then
begin
temp:=temp+’,k’;
flag_k:=true;
end;
if not flag_j then
begin
temp:=temp+’,j’;
flag_j:=true;
end;
if RadioButton5.Checked then
begin
if not flag_x then
begin
temp:=temp+’,x’;
flag_x:=true;
end;
end;
if RadioButton6.Checked then
begin
if not flag_x then
begin
temp2:=temp2+’,x’;
flag_x:=true;
end;
end;
end;

//сортировка выбором
if CheckBox13.Checked then
begin
if CheckBox14.Checked then temp:=’n’ else temp:=Edit1.Text;
Memo1.Lines.Add(‘{sortirovvka viborom}’);
Memo1.Lines.Add(‘writeln;’);
Memo1.Lines.Add(‘for i:=1 to ‘+temp+’-1 do’);
Memo1.Lines.Add(‘begin’);
Memo1.Lines.Add(‘ k:=i;’);
Memo1.Lines.Add(‘ x:=a[i];’);
Memo1.Lines.Add(‘ for j:=i+1 to ‘+temp+’ do’);
Memo1.Lines.Add(‘ if a[j]<x then’);
Memo1.Lines.Add(‘ begin’);
Memo1.Lines.Add(‘ k:=j;’);
Memo1.Lines.Add(‘ x:=a[j];’);
Memo1.Lines.Add(‘ end;’);
Memo1.Lines.Add(‘ a[k]:=a[i];’);
Memo1.Lines.Add(‘ a[i]:=x;’);
Memo1.Lines.Add(‘end;’);
Memo1.Lines.Add(‘writeln(»massiv, otsortirovannii metodom vibora:»);’);
if CheckBox14.Checked then
Memo1.Lines.Add(‘for i:=1 to n do’)
else Memo1.Lines.Add(‘for i:=1 to ‘+Edit1.Text+’ do’);
Memo1.Lines.Add(‘ begin’);
if RadioButton5.Checked then
Memo1.Lines.Add(‘ write(a[i]:3,»»);’)
else Memo1.Lines.Add(‘ write(a[i]:3:2,» »);’);
Memo1.Lines.Add(‘ end;’);
end;
Для удобства чтения исходного кода, прилагается скриншот программы, с помеченными компонентами.

2.3 Описание программы
1) Общие сведения.
Программа написана с среде программирования Delphi. Для запуска программы необходима операционная система Windows 98, Nt, 2000, Me, XP. Программа не предназначена для работы в DOS.
2) Функциональное назначение.
Программа может использоваться в учебных заведениях.
3) Используемые технические средства (минимальные требования).
Рекомендуемые системные требования: процессор Pentium-133 и выше, ОЗУ 16Мб, место на диске не меньше 2Мб.
4) Вызов и загрузка.
Исполняемый файл программы – ACP Pascal.exe. Запустить программу можнопользуясь стандартным приложением для Windows «проводник» или через «Мой компьютер», просмотрев содержимое диска.
5) Входные данные.
Входные данные представляют собой группу компонентов, заполняемых пользователем.
6) Выходные данные.
Выходные данные выводятся на экран компонентом Memo или сохраняются в файл.

2.4 Тестирование программы
Было проведено тестирование по отдельности всех функций и в совокупности.
Рассмотрим тестирование программы на примере выполнения следующей задачи: Дан массив случайных целых чисел, размерность массива – 20 элементов. Найти сумму и среднее арифметическое всех элементов и отсортировать массив методом бинарных вставок.
При выполнении данной задачи было заполнено 6 компонентов.
В результате работы программы был создан следующий исходный код:
uses crt;
var
a: array [1..20] of integer;
i,sum,j,buf: integer;
sa:real;
begin
clrscr;
randomize;
for i:=1 to 20 do a[i]:=random(100);
clrscr;
{vivod ishodnogo massiva}
writeln(‘ishodnii massiv:’);
for i:=1 to 20 do
begin
write(a[i]:3,»);
end;
writeln;
{poisk symmi elementov}
sum:=0;
for i:=1 to 20 do
begin
sum:=sum+a[i];
end;
writeln;
writeln(‘symma vseh elementov — ‘, sum:2);
{poisk srednego arifmeticheskogo}
sum:=0;
for i:=1 to 20 do
begin
sum:=sum+a[i];
end;
sa:=sum/20;
writeln;
writeln(‘srednee arifmeticheskoe — ‘, sa:2:2);
{sortirovvka binarnimi vstavkami}
writeln;
for i:=2 to 20 do
begin
buf:=a[i];
j:=i-1;
while (j>0) and (buf<a[j]) do
begin
a[j+1]:=a[j];
j:=j-1;
end;
a[j+1]:=buf;
end;
writeln(‘massiv, otsortirovannii metodom binarnih vstavok:’);
for i:=1 to 20 do
begin
write(a[i]:3,»);
end;
readkey;
end.
Программа была откомпилирована без ошибок, результат ее выполнения на рисунке:
Было проверенна работа информационного сообщения на случай неправильно введенных данных. Программа успешно прошла тестирование.

3. Внедрение
1) Условия выполнения программы.
Для выполнения программы необходим IBM совместимый компьютер с процессором 133МГц и выше, ОЗУ3 объемом не менее 16Мб и стандартным набором внутренних и внешних устройств. Программное обеспечение – ОС Windows 95 и более поздние версии Windows.
2) Выполнение программы.
Для того чтобы запустить программу на панели управления щелкните кнопкой мыши кнопку Пуск. Выберете в развернувшимся меню пункт «Программы»-«Проводник». В проводнике выберете нужный каталог с файлом ACP Pascal.exe и дважды щелкните по нему левой кнопкой мыши. Программа запустится. На экране вы увидите окно программы.
Заполните пункты «Размерность», «Тип данных», «Ввод данных» и один или несколько из параметров «Необходимо найти». Нажмите кнопку «Вывести код программы». Код будет выведен в текстовое поле, его можно скопировать в буфер обмена с помощью кнопки «Скопировать в буфер обмена» или сохранить в файл *.pas при помощи кнопки «Сохранить в файл».
Также доступен просмотр справочной информации. Для этого надо нажать на пункт меню «Справка» в верхнем левом углу диалогового окна программы, появится новое окно с информацией.
При необходимости решения нескольких задач предусмотрена кнопка «Перезапустить», которая сбрасывает все введенные значения и очищает поле вывода.
Для увеличения шрифта выводимого результата установлен компонент TrackBar.

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

Реклама

One comment

  1. Не плохо Алексей, не плохо!!!



Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: