Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Taschenrechner (https://www.delphipraxis.net/77456-taschenrechner.html)

moprotz 21. Sep 2006 21:14

Re: Taschenrechner
 
Die haute cuisine:
Sowohl Operanden als auch Operatoren werden auf einem Stack abgelegt und ihrer Priorität nach abgearbeitet. Dadurch bekommst du u.a. Brüche, Punkt-vor-Strich-Rechnung oder auch Klammern.


Naja, das versteh ich jetzt nicht

Der_Unwissende 21. Sep 2006 21:32

Re: Taschenrechner
 
Zitat:

Zitat von moprotz
Die haute cuisine:
Sowohl Operanden als auch Operatoren werden auf einem Stack abgelegt und ihrer Priorität nach abgearbeitet. Dadurch bekommst du u.a. Brüche, Punkt-vor-Strich-Rechnung oder auch Klammern.


Naja, das versteh ich jetzt nicht

Hi.
das ist eigentlich recht einfach. Du musst nur mal nach Stack und Operatoren suchen.
An sich ist ein Stack einfach nur eine sehr sehr einfache Datenstruktur. Wörtlich würdest du Stapel dazu sagen. Ein Stack funktioniert im Prinzip genau so, wie es auch ein normaler Stapel tut. Du legst alles neue oben rauf. Dabei wird alles schön einzeln immer raufgepackt. Runterholen funktioniert natürlich genau umgekehrt, du nimmst immer zuerst das oberste Element runter (last-in, first-out / LIFO).
Das Gegenstück dazu ist die Queue. Das wäre eine Schlange, dieser wird zwar hinten etwas angehangen, aber immer der Kopf entfertn (first-in, first-out / FIFO).

Stacks werden dir sicherlich früher oder später mal über den Weg laufen, wie gesagt das eigentlich wichtige ist nur, dass du hier das letzte was du reintust als erstes raus bekommst. Der theoretische Nutzen ist zwar schon von hanselmasel erklärt, aber ich denke da sollte er wirklich noch ein etwas auführlichere Erklärung folgen lassen!

Wie gesagt, einfache Datenstruktur und es sind auch sehr einfache Operationen!

Ach und nebenbei bemerkt : Willkommen in der DP! :dp:

Gruß Der Unwissende

moprotz 24. Sep 2006 16:25

Re: Taschenrechner
 
ja, ich habs raus.

Hab noch eine dumme frage.
Extra Proceduren kann man ja bei privates machen, aba wie genau sieht das aus, wenn ich z.b.:
Procedure Kuerzen;
begin
...
end;

hinschreibe kommt dort immer eine fehlermeldung.

hanselmansel 24. Sep 2006 17:46

Re: Taschenrechner
 
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    Procedure Foo(x,y :Integer); //nur den Kopf der Prozedur
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;

//        Die Klasse, zu der die Prozedur gehört
//         |
//         V
procedure TForm1.Foo(x, y: Integer);
begin
doSomethingUseful;
end;

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:20 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz