Форум: "Прочее";
Текущий архив: 2011.06.19;
Скачать: [xml.tar.bz2];
ВнизИнтересный алгоритм в обычном калькуляторе. Найти похожие ветки
← →
KilkennyCat © (2011-02-26 14:56) [80]
> Fergo © (26.02.11 14:25) [79]
>
> пока только я код привел более
> менее рабочий
да. он правда очень сильно напоминает мой, но это, наверное, совпадение?
← →
boriskb © (2011-02-26 14:56) [81]
> Fergo ©
Скажи пожалуйста, как ты сам оцениваешь:
1) Ты типичный представитель программистов такого возраста;
2) Ты Выше среднего уровня;
3) Ты чуть ниже среднего уровня.
← →
KilkennyCat © (2011-02-26 14:58) [82]
> boriskb © (26.02.11 14:56) [81]
там нет графы для него.
4) выше высшего уровня туповатый плагиатор.
← →
Fergo © (2011-02-26 15:14) [83]Удалено модератором
← →
Fergo © (2011-02-26 15:16) [84]Удалено модератором
← →
Inovet © (2011-02-26 15:18) [85]> [82] KilkennyCat © (26.02.11 14:58)
> там нет графы для него.
Я думал автору интересно самому сделать, а всё как всегда: "Дайте! Не даёте? Да вы ничё не можете, только теории задвигать можете, я сам так можу, у-а-а, у-а-а."
← →
boriskb © (2011-02-26 15:32) [86]
> KilkennyCat © (26.02.11 14:58) [82]
> Inovet © (26.02.11 15:18) [85]
Меня собственно насторожила фраза:
> ваши эти теории я и сам знаю. ты сделай а потом говори
.
.
.
> теории я и сам могу выводить кучами а когда делать начинаешь
> ( для тех кто в танке - ставить компоненты на форму и код
> писать) вот там то и ваши теории н катят на 100%.
То есть абсолютно с ног на голову всё ставит и гордится.
Вот и хотелось узнать - это типично?
← →
KilkennyCat © (2011-02-26 15:49) [87]
> boriskb © (26.02.11 15:32) [86]
наверняка типично. Возможно, у социологов даже есть категория.
← →
Fergo © (2011-02-26 16:12) [88]фиг знает народ вот если меня когда просят я не парю мозги теориями я беру и сам делаю а потом обьясняю что и как с РЕАЛЬНО РАБОЧИМ ПРИМЕРОМ.
← →
Fergo © (2011-02-26 16:14) [89]ладно бы если бы я ниче не сделав просил бы ответ тупо. я ваши все варианты перепробовал да и до этого еще много раз пытался по своему сделать... ну не получается у меня тупо в логике тут...
← →
KilkennyCat © (2011-02-26 16:25) [90]
> Fergo © (26.02.11 16:12) [88]
это личное дело каждого, как тратить время и каким принципам следовать.
> Fergo © (26.02.11 16:14) [89]
Inovet привел прекрасную табличку, не увидеть и не переложить алгоритм по которой...
← →
Sha © (2011-02-26 20:55) [91]Как-то так получается
type
TOper= (opEq, opAdd, opSub, opMul, opDiv);
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Edit1: TEdit;
Button16: TButton;
Button17: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
Value1: double;
Value2: double;
Oper: TOper;
HasData: boolean;
Fractional: boolean;
EqPressed: boolean;
procedure Reset;
procedure Cipher(ch: char);
procedure Calculate(NextOper: TOper);
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Reset;
begin;
HasData:=false;
Fractional:=false;
EqPressed:=false;
Value1:=0;
Value2:=0;
Oper:=opAdd;
Edit1.Text:="0"+DecimalSeparator;
end;
procedure TForm1.Cipher(ch: char);
var
s : string;
begin;
s:=Edit1.Text;
if (not HasData) or (s="0"+DecimalSeparator) then begin;
s:=ch+DecimalSeparator;
Fractional:=false;
end
else if Fractional then s:=s+ch
else Insert(ch,s,pos(DecimalSeparator,s));
Edit1.Text:=s;
HasData:=true;
end;
procedure TForm1.Calculate(NextOper: TOper);
label
SkipOperation;
begin;
if EqPressed
then if NextOper<>opEq
then goto SkipOperation
else // Value2 OK
else Value2:=StrToFloat(Edit1.Text);
case Oper of
opAdd: Value1:=Value1 + Value2;
opSub: Value1:=Value1 - Value2;
opMul: Value1:=Value1 * Value2;
opDiv: Value1:=Value1 / Value2;
else Value1:=0;
end;
SkipOperation:
EqPressed:=true;
if NextOper<>opEq then begin;
EqPressed:=false;
Value2:=Value1;
Oper:=NextOper;
end;
Edit1.Text:=FloatToStr(Value1);
HasData:=false;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin;
Reset;
end;
procedure TForm1.Button10Click(Sender: TObject);
begin;
Cipher("0");
end;
procedure TForm1.Button1Click(Sender: TObject);
begin;
Cipher("1");
end;
procedure TForm1.Button2Click(Sender: TObject);
begin;
Cipher("2");
end;
procedure TForm1.Button3Click(Sender: TObject);
begin;
Cipher("3");
end;
procedure TForm1.Button4Click(Sender: TObject);
begin;
Cipher("4");
end;
procedure TForm1.Button5Click(Sender: TObject);
begin;
Cipher("5");
end;
procedure TForm1.Button6Click(Sender: TObject);
begin;
Cipher("6");
end;
procedure TForm1.Button7Click(Sender: TObject);
begin;
Cipher("7");
end;
procedure TForm1.Button8Click(Sender: TObject);
begin;
Cipher("8");
end;
procedure TForm1.Button9Click(Sender: TObject);
begin;
Cipher("9");
end;
procedure TForm1.Button11Click(Sender: TObject);
begin;
Calculate(opDiv);
end;
procedure TForm1.Button12Click(Sender: TObject);
begin;
Calculate(opMul);
end;
procedure TForm1.Button13Click(Sender: TObject);
begin;
Calculate(opSub);
end;
procedure TForm1.Button14Click(Sender: TObject);
begin;
Calculate(opAdd);
end;
procedure TForm1.Button15Click(Sender: TObject);
begin;
Reset;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin;
Calculate(opEq);
end;
procedure TForm1.Button17Click(Sender: TObject);
begin;
Fractional:=true;
end;
← →
Fergo © (2011-02-26 21:53) [92]я тож решил наконец. проверил по всякому всё работает. ща опять начнете говорить что что то тут не рационально паршивцы)))
var
Form1: TForm1;
x,y: Extended;
oper: Byte;
Check1, Check2, Check3: boolean;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
case (sender as TComponent).tag of
0..9 : Begin
if Check1=true then Edit1.Text:="0";
if Edit1.text ="0" then Edit1.Text:=IntToStr((sender as TComponent).tag) else Edit1.text:= Edit1.text + IntToStr((sender as TComponent).tag);
Check1:=false;
if (Check2=false) and (Check3=false)then x:=StrToFloat(Edit1.Text);
if (Check2=true) and (Check3=false)then y:=StrToFloat(Edit1.Text);
if (Check2=true) and (Check3=true)then y:=StrToFloat(Edit1.Text);
End;
10 : if pos(".",Edit1.text) < 1 then Edit1.text := Edit1.text + ".";
11..14 : Begin
oper:=(sender as TComponent).tag;
Check1:=true;
Check2:=true;
if Check3=true then y:=StrToFloat(Edit1.Text);
End;
15 : Begin
if oper<>0 then
Begin
case oper of
11 : x:=x*y;
12 : x:=x/y;
13 : x:=x+y;
14 : x:=x-y;
End;
Edit1.Text:=FloatToStr(x);
Check1:=true;
Check2:=false;
Check3:=true;
End;
End;
end;
end;
← →
Fergo © (2011-02-26 21:55) [93]
> Sha ©
спс за кодец наконец то) ща проверю мож тож нормик будет...
← →
Игорь Шевченко © (2011-02-26 22:10) [94]http://www.delphimaster.ru/forums.shtml#rule
изучай
Страницы: 1 2 3 вся ветка
Форум: "Прочее";
Текущий архив: 2011.06.19;
Скачать: [xml.tar.bz2];
Память: 0.63 MB
Время: 0.006 c