Глава 3. Тестирование программы и руководство

 

Тестирование

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

Тест 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.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: