Примеры программ Delphi (Lazarus)

Перевод числа из двоичной системы счисления в десятичную




Напишем программу перевода чисел из двоичной системы в десятичную. Для этого на форме расставим компоненты так, как показано на рисунке:

В Edit1 будет вводиться двоичное значение, на Label1 будет выводиться результат перевода. Кнопка Button1 предназначена для вычислений.
Сначала, выделим окно и двойным щелчком создадим событие создания формы:

//Устанавливаем начальные значения
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.Caption:= 'Вычислить';
Edit1.Text:= '';
Label1.Caption:= '';
end;

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


Выделим кнопку Button1, двойным щелчком создадим событие и самостоятельно дописываем недостающие строки:

procedure TForm1.Button1Click(Sender: TObject);
var
s,se: string;
c: char;
n: integer;
d: real;
begin
s:= Edit1.Text;
se:= '';
//Переворачиваем введённую строку
//и создаём новую перевёрнутую se
for n:= length(s) downto 1 do begin
c:= s[n];
se:= se + c;
end;
d:= 0;
//Производим вычисления сканируя перевёрнутую строку se
for n:= 1 to length(se) do
begin
c:= se[n];
//Если в строке появляется 1, то возводим 2 в степень n
// и наращиваем результат d
if c = '1' then d:= d + exp((n-1) * ln(2));
end;
label1.Caption:= FloatToStr(d);
end;

Запустим программу на исполнение, введём любое двоичное число, и нажав кнопку "Вычислить", убедимся что программа работает.





  
©Гуков Константин Михайлович 2006 - 2015     Почта: [email protected]