Программа "калькулятор"

Для проверки правильности решений линейных уравнений был написан код программы "калькулятор" и созданы приложения в Pascal ABC NET. и Lazarus. Предлагаю сравнить как выглядит код программы в различных средах программирования, и интерфейс калькулятора.

Обе среды работают с языком Pascal. Среда Lazarus была выбрана мною , так как этот язык изучается в школьном курсе информатики. В разделе "Создание программы" предлагаю ознакомиться , каким образом можно создавать проекты в "Lazarus".


Калькулятор 1 (код в Pascal ABC NET.)

program projectL;

var a,b,x,:real;

y:string;

begin

writeln('Линейное уравнение с одной переменной');

writeln('Введите переменную А');

readln(a);

writeln('Введите переменную B');

readln(b);

begin

if a =0

then

if b=0

then writeln('х любое значение')

else

writeln('нет решений')

else

begin

x:=(-b)/a;

writeln('x= ',x:0:1);

end;

begin

read(Y);

end;


end.

Калькулятор 2 (код в Lazarus)

unit Unit1;


{$mode objfpc}{$H+}


interface


uses

Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;


type


{ TForm1 }


TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Edit1Change(Sender: TObject);

procedure FormCreate(Sender: TObject);

private


public


end;


var

Form1: TForm1;


implementation


{$R *.lfm}


{ TForm1 }


procedure TForm1.Edit1Change(Sender: TObject);

begin


end;


procedure TForm1.FormCreate(Sender: TObject);

begin


end;


procedure TForm1.Button1Click(Sender: TObject);


var a,b,result:real;

begin

a:=StrToFloat(edit1.Text);

b:=StrToFloat(edit2.Text);

result:=a+b;

edit3.Text:=FloatToStr(result);

end;


procedure TForm1.Button2Click(Sender: TObject);

var a,b,result:real;

begin

a:=StrToFloat(edit1.Text);

b:=StrToFloat(edit2.Text);

result:=a-b;

edit3.Text:=FloatToStr(result);

end;


procedure TForm1.Button3Click(Sender: TObject);

var a,b,result:real;

begin

a:=StrToFloat(edit1.Text);

b:=StrToFloat(edit2.Text);

result:=a*b;

edit3.Text:=FloatToStr(result);

end;


procedure TForm1.Button4Click(Sender: TObject);

var a,b,result:real;

begin

a:=StrToFloat(edit1.Text);

b:=StrToFloat(edit2.Text);

result:=a/b;

edit3.Text:=FloatToStr(result);


end;


procedure TForm1.Button5Click(Sender: TObject);

var

a,b,result:real;


x:string;


begin

a:=StrToFloat(edit1.Text);

b:=StrToFloat(edit2.Text);

if ( a=0) and ( b=0) then

begin

if (a <>0) then

begin


MessageDlg('Решение линейного уравнения x='+x,mtInformation,[mbOk],0);

end

else

MessageDlg('Нет корней!',mtInformation,[mbOk],0);

end

else

result:=(-b)/a;

edit3.Text:=FloatToStr(result);

end;

end.

Сравнение интерфейса калькуляторов