Программа "калькулятор"
Для проверки правильности решений линейных уравнений был написан код программы "калькулятор" и созданы приложения в 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.
Сравнение интерфейса калькуляторов