Тестирование
Для тестирования программы производились различные манипуляции с данными, искусственно создавались всевозможные критические ситуации.
Тест 1. Ввод цифровых данных.
При вводе цифровых данных ошибок не возникает.
Тест 2. Ввод одной и той же системы счисления.
При вводе одной и той же системы счесления на экран выводится сообщение
Руководство администратора
Программа поставляется в виде исполнимого файла «SS.exe» размером 15 МБ не требует установки и дополнительной настройки.
Программа не разделяет полномочия на пользовательские и администраторские, вследствие чего руководство администратора будет идентично руководству пользователя.
Руководство пользователя
Программа предназначена для произведения элементарных действий перевода систем счисления.
Для ввода числовых,буквеных значений используется edit.
Заключение
В рамках курсовой работы была разработана программа над числами производящая перевод из одной системы счисления в другую.
|
|
При разработке данного программного средства применялся язык программирования Pascal.
Список использованнойлитературы
Попов Е.А.Экспресс курс программирования в Lazarus,2017г.
2. Дятченко Д.А. Методические указания к выполнению курсовой работы по дисциплине «Программирование и алгоритмически языки» – Северодонецк, 2015.
3. Абрамов В.Г., Трифонов Н.П., Трифонова Т.Н. Введение в язык Паскаль, 2014 г.
4. Бендукидзе А.Д. О системах счисления // Квант - 1975 - №8 - с 59-61.
5. Гутер Р.С. Вычислительные машины и системы счисления // Квант-1971 -№2.
Приложение
Приложение1
unit Unit1;
interface
uses
SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var
Form1: TForm1;
cs1, cs2: integer;
td: string;
const
digit: string[36] = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
implementation
{$R *.dfm}
{функция перевода Dec числа в любую сс}
function FromDec(n, r: longint): string;
var
s: string;
begin
s:= '';
repeat
s:= digit[(n mod r) + 1] + s;
n:= n div r;
until n = 0;
FromDec:= s;
end;
{фунция перевода любой сс в Dec}
function ToDec(n: string; r: longint): longint;
var
m, i: longint;
begin
m:= 0;
while n[1] = '0' do
delete(n, 1, 1);
for i:= 1 to length(n) do
m:= m * r + pos(n[i], digit) - 1;
ToDec:= m;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i,k:integer;
begin
val(Edit1.Text,cs1,k);
if(k<>0)or not(StrToInt(Edit1.Text)in [2..36])then
begin
ShowMessage('Исходная СС введена неверно, повторите ввод');
Edit1.Clear;
Edit1.SetFocus;
exit
end;
td:=Edit2.Text;
k:=0;
i:=1;
while(i<=length(td))and(k=0) do
if pos(td[i],copy(digit,1,cs1))=0 then k:=1
else inc(i);
if(td='')or(k=1) then
begin
ShowMessage('Исходное число введено неверно, повторите ввод');
Edit2.Clear;
|
|
Edit2.SetFocus;
exit
end;
val(Edit3.Text,cs2,k);
if(k<>0)or not(StrToInt(Edit3.Text)in [2..36])or(cs1=cs2)then
begin
ShowMessage('Итоговая СС введена неверно, повторите ввод');
Edit3.Clear;
Edit3.SetFocus;
exit
end;
Edit4.Text:= FromDec(ToDec(td, cs1), cs2);
end;
end.