Разработка программы перевода чисел

Автор работы: Пользователь скрыл имя, 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

Содержимое работы - 1 файл

Курсовая.docx

— 4.23 Мб (Скачать файл)

         EdSrcNum.SetFocus;

       end;

     end;

     После всего проделанного программа при  введении неправильного значения перестала вылетать, а выделяла ошибку и в поле Label высвечивалась ошибка «Неверное число».

     2.3 Достоинства и недостатки программного продукта

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

     Недостаток  программного продукта - что программа не может переводить дробные числа.

     Программа является не доработанной, причиной тому стало недостаточное освоение среды программирования Delphi.

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

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

     

     Рисунок 14 - Рабочая программа

     Полученный  результат возможно сохранить, выполнив команды Файл→Сохранить и выбирав текстовый документ в который необходимо сохранить полученный результат или открыть результат, выполнив команды Файл→Открыть и выбрав текстовый документ в котором хранится результат (рисунок 14).

     

     Рисунок 15 - Вспомогательные команды

     Для того, чтобы получить дополнительную информацию нужно на клавиатуре нажать вспомогательную клавишу F1 или Справка→Справка. В следствии этого откроется документ справочной системы (рисунок 15).

     

     Рисунок 16 - Вызов справки

     В этом документе хранится руководство о пользовании программы и информация о программе. 
Заключение

     Закончив  работать над курсовым проектом я закрепил навыки по созданию графического интерфейса пользователя, научился производить тестирование и отладку программного продукта, решать возникающие проблемы, оформлять справочный материал и включать его в программный продукт. Ознакомился и научился на практике как создавать программные компоненты и делать так, чтобы они были пригодны для использования.

     Созданный программный продукт не совсем удовлетворяет  требованиям потому, что задачей  курсового проекта было разработать  программу с графическим интерфейсом, в качестве входного параметра программа  должна получать путь к текстовому файлу в формате:

     О – Н 123321

     H – D АВС45

     Буквами должно указываться система исчисления.

     В дальнейшей работе над программным продуктом недостатки будут решены. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

Список  использованных источников

  1. Архангельский А.Я. Примеры программирования в Delphi на основе VCL 2006: учебник для студ. вузов / А.Я. Архангельский. - М.: Бином, 2006. – 944 с.
  2. Бутанов Е.А. Методы создания качественного программного обеспечения: учебник для студ. вузов / Е.А Бутанов. -  М.: Энергоатомиздат, 2005. – 633 с.
  3. Гофман В.Э. Delphi. Быстрый старт: учебник для студ. вузов / В.Э. Гофман, А.Д. Хомоненко. - СПб.: БХВ – Петербург, 2005. – 288 с.
  4. Дарахвелидзе П.Г. Программирование в Delphi 7: учебник для студ. вузов / П.Г. Дарахвелидзе, Е.П. Марков. – СПб.: БХВ - Петербург, 2005. – 784 с.
  5. Жуков А.Е. Изучаем Delphi: учебник для студ. вузов / А.Е. Жуков. - СПб.: Питер, 2005. – 336 с.
  6. Краснов М.В. Графика в проектах Delphi: учебник для студ. вузов / М.В. Краснов. - СПб.: БХВ - Петербург, 2006. – 352 с.
  7. Кузан Д.Я. Программирование Win 32 API в Delphi: учебник для студ. вузов / Д.Я. Кузян. – М.: BHV, 2005. – 364 с.
  8. Культин Н.Б. Основы программирования в Delphi 2006: учебник для студ. вузов /  Н.Б. Культин. – М.: BHV, 2006. – 464 с.
  9. Липаев В.С. Надежность программных средств: учебник для вузов / В.С. Липаев. - М.: Синтег, 2005. – 468 с..
  10. Парижский С.М. Delphi. Учимся на примерах: учебник для студ. вузов / С.М. Парижский. – М.: МК – Пресс, 2005. – 216 с.
  11. Пестриков В. М. Delphi на примерах: учебник для студ. вузов / В.М. Пестриков, А.Н. Маслобоев. - СПб.: БХВ - Петербург, 2005. – 496 с.
  12. Ревич Ю.В. Нестандартные приемы программирования на Delphi: учебник для студ. вузов / Ю.В. Ревич. – М.: BHV, 2005. – 560 с.
  13. Ремнев  А.А. Курс Delphi для начинающих.: учебник для студ. вузов / А.А. Ремнев, С.В. Федотова. – М.: Солон, 2007. – 360 с.
  14. Рубенкинг Н.Дж. Язык программирования Delphi для «чайников». Введение в Borland Delphi: учебник дл студ. вузов / Н.Дж. Рубенкинг. — М.: Диалектика,  2007. – 218 с.
  15. Фаронов В.В. 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 + ' Не задано число!')

Информация о работе Разработка программы перевода чисел