Автор работы: Пользователь скрыл имя, 20 Декабря 2011 в 05:05, курсовая работа
Тема курсовой работы звучит так: разработка программы перевода чисел между системами счисления.
Целью курсовой работы является разработка программы, которая переводила бы числа одной системы счисления в любую другую, заданную пользователем программы и могла сохранять или открывать полученные результаты. Кроме того, она должна содержать в себе справочный материал для пользователя программы.
Введение 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
EdSrcNum.SetFocus;
end;
end;
После всего проделанного программа при введении неправильного значения перестала вылетать, а выделяла ошибку и в поле Label высвечивалась ошибка «Неверное число».
2.3 Достоинства и недостатки программного продукта
Достоинством программного продукта является то, что он может облегчить работу связаную с числами. Этот программный продукт не требует установки на компьютер, не занимает много места на жестком диске и легок в использовании.
Недостаток программного продукта - что программа не может переводить дробные числа.
Программа является не доработанной, причиной тому стало недостаточное освоение среды программирования Delphi.
2.4 Руководство пользователя
Для
того чтобы приступить к работе с
программой нужно запустить
Рисунок 14 - Рабочая программа
Полученный результат возможно сохранить, выполнив команды Файл→Сохранить и выбирав текстовый документ в который необходимо сохранить полученный результат или открыть результат, выполнив команды Файл→Открыть и выбрав текстовый документ в котором хранится результат (рисунок 14).
Рисунок 15 - Вспомогательные команды
Для того, чтобы получить дополнительную информацию нужно на клавиатуре нажать вспомогательную клавишу F1 или Справка→Справка. В следствии этого откроется документ справочной системы (рисунок 15).
Рисунок 16 - Вызов справки
В
этом документе хранится руководство
о пользовании программы и информация
о программе.
Заключение
Закончив работать над курсовым проектом я закрепил навыки по созданию графического интерфейса пользователя, научился производить тестирование и отладку программного продукта, решать возникающие проблемы, оформлять справочный материал и включать его в программный продукт. Ознакомился и научился на практике как создавать программные компоненты и делать так, чтобы они были пригодны для использования.
Созданный
программный продукт не совсем удовлетворяет
требованиям потому, что задачей
курсового проекта было разработать
программу с графическим
О – Н 123321
H – D АВС45
Буквами
должно указываться система
В
дальнейшей работе над программным продуктом
недостатки будут решены.
Список использованных источников
Приложение А
(обязательное)
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 + ' Не задано число!')