Разработка программы перевода чисел
Курсовая работа, 20 Декабря 2011, автор: пользователь скрыл имя
Краткое описание
Тема курсовой работы звучит так: разработка программы перевода чисел между системами счисления.
Целью курсовой работы является разработка программы, которая переводила бы числа одной системы счисления в любую другую, заданную пользователем программы и могла сохранять или открывать полученные результаты. Кроме того, она должна содержать в себе справочный материал для пользователя программы.
Содержание работы
Введение 3
1 Теоретические основы разработки 4
1.1 Системные требования 4
1.2 Техническое задание 4
1.3 Жизненный цикл 5
1.3.1 Схемы модели ЖЦ ПО 5
1.3.2 Другие типы моделей ЖЦ ПО 10
1.3.3 Процессы жизненного цикла ПО 12
1.4 Проектирование программного обеспечения 15
2 Практические основы разработки 16
2.1 Реализация программного продукта 16
2.1.1 Описание программного кода 21
2.2 Тестирование и отладка программного продукта 28
2.3 Достоинства и недостатки программного продукта 29
2.4 Руководство пользователя 29
Заключение 31
Список использованных источников 32
Приложение А - UML - диаграмма программы 33
Приложение Б - Программный код 35
Приложение В - Презентация 43
Содержимое работы - 1 файл
Курсовая.docx
— 4.23 Мб (Скачать файл)EdSrcNum.SetFocus;
end;
end;
После всего проделанного программа при введении неправильного значения перестала вылетать, а выделяла ошибку и в поле Label высвечивалась ошибка «Неверное число».
2.3 Достоинства и недостатки программного продукта
Достоинством программного продукта является то, что он может облегчить работу связаную с числами. Этот программный продукт не требует установки на компьютер, не занимает много места на жестком диске и легок в использовании.
Недостаток программного продукта - что программа не может переводить дробные числа.
Программа является не доработанной, причиной тому стало недостаточное освоение среды программирования Delphi.
2.4 Руководство пользователя
Для
того чтобы приступить к работе с
программой нужно запустить
Рисунок 14 - Рабочая программа
Полученный результат возможно сохранить, выполнив команды Файл→Сохранить и выбирав текстовый документ в который необходимо сохранить полученный результат или открыть результат, выполнив команды Файл→Открыть и выбрав текстовый документ в котором хранится результат (рисунок 14).
Рисунок 15 - Вспомогательные команды
Для того, чтобы получить дополнительную информацию нужно на клавиатуре нажать вспомогательную клавишу F1 или Справка→Справка. В следствии этого откроется документ справочной системы (рисунок 15).
Рисунок 16 - Вызов справки
В
этом документе хранится руководство
о пользовании программы и информация
о программе.
Заключение
Закончив работать над курсовым проектом я закрепил навыки по созданию графического интерфейса пользователя, научился производить тестирование и отладку программного продукта, решать возникающие проблемы, оформлять справочный материал и включать его в программный продукт. Ознакомился и научился на практике как создавать программные компоненты и делать так, чтобы они были пригодны для использования.
Созданный
программный продукт не совсем удовлетворяет
требованиям потому, что задачей
курсового проекта было разработать
программу с графическим
О – Н 123321
H – D АВС45
Буквами
должно указываться система
В
дальнейшей работе над программным продуктом
недостатки будут решены.
Список использованных источников
- Архангельский А.Я. Примеры программирования в Delphi на основе VCL 2006: учебник для студ. вузов / А.Я. Архангельский. - М.: Бином, 2006. – 944 с.
- Бутанов Е.А. Методы создания качественного программного обеспечения: учебник для студ. вузов / Е.А Бутанов. - М.: Энергоатомиздат, 2005. – 633 с.
- Гофман В.Э. Delphi. Быстрый старт: учебник для студ. вузов / В.Э. Гофман, А.Д. Хомоненко. - СПб.: БХВ – Петербург, 2005. – 288 с.
- Дарахвелидзе П.Г. Программирование в Delphi 7: учебник для студ. вузов / П.Г. Дарахвелидзе, Е.П. Марков. – СПб.: БХВ - Петербург, 2005. – 784 с.
- Жуков А.Е. Изучаем Delphi: учебник для студ. вузов / А.Е. Жуков. - СПб.: Питер, 2005. – 336 с.
- Краснов М.В. Графика в проектах Delphi: учебник для студ. вузов / М.В. Краснов. - СПб.: БХВ - Петербург, 2006. – 352 с.
- Кузан Д.Я. Программирование Win 32 API в Delphi: учебник для студ. вузов / Д.Я. Кузян. – М.: BHV, 2005. – 364 с.
- Культин Н.Б. Основы программирования в Delphi 2006: учебник для студ. вузов / Н.Б. Культин. – М.: BHV, 2006. – 464 с.
- Липаев В.С. Надежность программных средств: учебник для вузов / В.С. Липаев. - М.: Синтег, 2005. – 468 с..
- Парижский С.М. Delphi. Учимся на примерах: учебник для студ. вузов / С.М. Парижский. – М.: МК – Пресс, 2005. – 216 с.
- Пестриков В. М. Delphi на примерах: учебник для студ. вузов / В.М. Пестриков, А.Н. Маслобоев. - СПб.: БХВ - Петербург, 2005. – 496 с.
- Ревич Ю.В. Нестандартные приемы программирования на Delphi: учебник для студ. вузов / Ю.В. Ревич. – М.: BHV, 2005. – 560 с.
- Ремнев А.А. Курс Delphi для начинающих.: учебник для студ. вузов / А.А. Ремнев, С.В. Федотова. – М.: Солон, 2007. – 360 с.
- Рубенкинг Н.Дж. Язык программирования Delphi для «чайников». Введение в Borland Delphi: учебник дл студ. вузов / Н.Дж. Рубенкинг. — М.: Диалектика, 2007. – 218 с.
- Фаронов В.В. Delphi 2005. Руководство по переходу младших версий: учебник для студ. вузов / В.В. Фаронов. - СПб.: Питер, 2006. – 544 с.
Приложение А
(обязательное)
UML - диаграмма всей программы
Рисунок А. 1
Рисунок
А.2
Приложение Б
(обязательное)
Программный код продукта
unit uMain;
interface
uses
Windows,
Messages,
SysUtils,
Variants,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
StdCtrls,
Math,
Buttons,
shellapi,
Menus;
type
TfrmMain = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
EdSrcBase: TEdit;
EdSrcNum: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
EdTrgBase: TEdit;
Memo1: TMemo;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Label8: TLabel;
Label9: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
BitBtn1: TBitBtn;
N2: TMenuItem;
N6: TMenuItem;
procedure N6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure EdSrcNumChange(Sender: TObject);
procedure Restart8(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
uses StrUtils;
{$R *.dfm}
procedure TFrmMain.Restart8(Sender: TObject);
begin
Label8.Caption := '';
if not (EdSrcNum.Text = '') then
Label8.Caption := EdSrcNum.Text;
if not (EdSrcBase.Text = '') then
Label8.Caption := Label8.Caption + '(' + EdSrcBase.Text + ')';
if not (EdTrgBase.Text = '') then
Label8.Caption := Label8.Caption +
' = X(' + EdTrgBase.Text + ')';
end;
function IntToDigit(aNum: Byte): string;
const
SelfName: string = 'IntToDigit.';
begin
case aNum of
0..9: Result := IntToStr(aNum);
10: Result := 'A';
11: Result := 'B';
12: Result := 'C';
13: Result := 'D';
14: Result := 'E';
15: Result := 'F';
else
raise Exception.Create(SelfName +
' Числу не сопоставлена цифра!');
end;
end;
function DigitToInt(aDigit: AnsiChar; aBase: Byte): Byte;
const
SelfName: string = 'DigitToInt.';
begin
if aBase < 2 then
raise Exception.Create(SelfName +
' Основание системы счисления должно быть >= 2!')
;
case aDigit of
'0'..'9': Result := StrToInt(aDigit);
'A', 'a': Result := 10;
'B', 'b': Result := 11;
'C', 'c': Result := 12;
'D', 'd': Result := 13;
'E', 'e': Result := 14;
'F', 'f': Result := 15;
else
raise Exception.Create(SelfName +
' Неизвестный символ в представлении числа!');
end;
if Result > aBase - 1 then
raise Exception.Create(SelfName +
' В данной системе счисления нет такой цифры!')
;
end;
function XcimalStrToNumber(aStrXcimal: string; aBase: Byte): Extended;
const
SelfName: string = 'XcimalStrToNumber.';
var
StrXcimal: string;
i: Integer;
Weight: Integer;
StrInt: string;
StrFrac: string;
Pos1: Integer;
Sign: Integer;
IntPart: Extended;
FracPart: Extended;
begin
if Length(aStrXcimal) = 0 then
raise Exception.Create(SelfName + ' Не задано число!')