Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wert - Quadrat - Kubus (https://www.delphipraxis.net/160144-wert-quadrat-kubus.html)

Rakash 29. Apr 2011 14:00

Delphi-Version: 7

Wert - Quadrat - Kubus
 
Wie löse ich folgende Aufgabe;

Es soll eine Tabelle (!) der ersten n-Quadrate und Kubuszahlen ausgegeben werden!

?

Wert --- Quadrat --- Kubus

1 --- 10 --- 100
.
.
.
10 --- 100 --- 1000

etc.

mkinzler 29. Apr 2011 14:03

AW: Wert - Quadrat - Kubus
 
Z.B. mit einem StringGrid

Bummi 29. Apr 2011 14:04

AW: Wert - Quadrat - Kubus
 
[klugscheiß]
wobei das:
1 --- 10 --- 100

falsch ist....
[/klugscheiß]

Rakash 29. Apr 2011 14:10

AW: Wert - Quadrat - Kubus
 
Zitat:

Zitat von Bummi (Beitrag 1097643)
[klugscheiß]
wobei das:
1 --- 10 --- 100

falsch ist....
[/klugscheiß]

das weiß ich auch^^

das sollte nur ne tabelle symbolisieren.

nun ja. ich bin ein blutiger anfänger. ^^
sobald ich die tabelle hab - was dann? wie realisiere ich das mit dem ² und ³ ?

mkinzler 29. Apr 2011 14:12

AW: Wert - Quadrat - Kubus
 
Für das Potenzieren bietet Delphi die Power() Funktion

Bummi 29. Apr 2011 14:17

AW: Wert - Quadrat - Kubus
 
Delphi-Quellcode:
implementation
uses Math;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const
C_LIMIT=100;
var
  i,j:Integer;
begin
  StringGrid1.RowCount := C_LIMIT + 1;
  StringGrid1.ColCount := 3;
  for I := 0 to C_LIMIT do
    begin
       for j := 1 to 3 do
       StringGrid1.Cells[j - 1,i] := FloatToStr(Power( i, j));
    end;
end;

Aphton 29. Apr 2011 14:28

AW: Wert - Quadrat - Kubus
 
Das könnte man noch stark optimieren, falls - mal angenommen - die Power Funktion nicht intern irgendeine schnelle Assembler Routine dafür verwendet.
Code:
Spalte1 - Spalte2   - Spalte3
X       - Spalte1*X - Spalte2*X

Bummi 29. Apr 2011 14:31

AW: Wert - Quadrat - Kubus
 
@Aphton

das ließe sich sicher stark optimieren, macht aber bei einer Ausgabe in ein Stringgrid wenig Sinn, da die Bremse in diesem Fall wo anders liegt.

Rakash 29. Apr 2011 14:37

AW: Wert - Quadrat - Kubus
 
Zitat:

Zitat von Bummi (Beitrag 1097647)
Delphi-Quellcode:
implementation
uses Math;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const
C_LIMIT=100;
var
  i,j:Integer;
begin
  StringGrid1.RowCount := C_LIMIT + 1;
  StringGrid1.ColCount := 3;
  for I := 0 to C_LIMIT do
    begin
       for j := 1 to 3 do
       StringGrid1.Cells[j - 1,i] := FloatToStr(Power( i, j));
    end;
end;

aus welchem grund arbeitest du mit einer constante?

Aphton 29. Apr 2011 14:37

AW: Wert - Quadrat - Kubus
 
Du hast recht, aber ich wollte es nur mal erwähnt haben für den Fall, dass der Threadstarter für C_LIMIT einen sehr hohen Wert nimmt!

Edit:
Weil das dadurch übersichtlicher wird!
- for i:=0 to 100 do
ginge auch, jedoch versteht man nicht, was das für Grenzen sind. Durch Konstanten kannst du den Grenzen (0 und 100) Namen verpassen!
Weiters lassen sich Konstante überall definieren, dh. du kannst alle Konstanten an einem "Punkt" haben und musst nicht durch den ganzen Code scrollen, um mal kleinere Änderungen vorzunehmen.
Praktisch ists außerdem auch noch, wenn du mehrere Schleifen hast und alle dieselben Grenzen haben sollen, du, falls du mal die Grenze ändern willst, dies nur einmal bei der Konstante machen und nicht einzeln zu allen Schleifendeklaration scrollen musst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 Uhr.
Seite 1 von 2  1 2      

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