Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1298669393
Юрий
2011-02-26 00:29
2011.06.19
С днем рождения ! 26 февраля 2011 суббота


2-1300038548
Тони
2011-03-13 20:49
2011.06.19
Firebird


15-1299089241
Baks
2011-03-02 21:07
2011.06.19
Редактор файлов справок (hlp, chm)


2-1296316880
Пироги
2011-01-29 19:01
2011.06.19
Помогите настроить отображение массива в TListView?


6-1238737207
Alex_C
2009-04-03 09:40
2011.06.19
SendText в блокирующем сокете





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский