Entwickler-Ecke

Sonstiges (Delphi) - X hoch Y mit for schleife


Zauriel444 - So 26.01.03 17:28
Titel: X hoch Y mit for schleife
Hallo bin neu hier muss für die schule ne delphi anwendung schreiben die die funktion von x hoch y um taschenrechner hat mit ner for schleife. Bekomme dass aber einfach nicht gemacht. Wär sehr dankbar wenn ihr mir vor Freitag helfen könntet danke!!!


Christian S. - So 26.01.03 17:38

Poste doch mal den Quelltext, mit dem Du nicht weiterkommst. Das ist immer am besten. Soll y eine ganze Zahl sein?


Zauriel444 - So 26.01.03 18:40
Titel: Egal wie groß
Sorry bekomm ansich gar nix hin ist egal wie groß muss nur über ne for schleife laufen!!


smiegel - So 26.01.03 18:48

Hallo,


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
// nur für ganzzahlige Werte
// x>0, y>=0, x^0=1
function XhochY(x, y:Integer):Int64;
var i:Integer;
begin
  Result:=1;
  if (y>0) then for i:=1 to y do Result:=Result*x;
end; // XhochY

var 
  erg:Int64;
  ...
  erg:=XhochY(2, 4);
  Label1.Caption:=IntToStr(erg);
  ...


Zauriel444 - So 26.01.03 19:03
Titel: danke
vielen dank dass hat mir sehr weiter geholfen!!


Christian S. - So 26.01.03 19:11

Wenn Du Deine Lehrer beeindrucken möchtest, dann mach' es doch so:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
function potenz (basis : Real; exponent : Integer) : Real;
VAR ergebnis : Real;
begin
  if exponent = 1 then result:=basis else
  begin
    if exponent mod 2 = 0 then
    begin
      ergebnis:=potenz(basis, exponent div 2);
      result:=ergebnis*ergebnis;
    end else result:=potenz(basis, exponent-1)*basis;
  end;
end;


Um 5^100 zu berechnen, braucht der Algorithmus gerade einmal 9 Durchläufe.

MfG,
Peter


Zauriel444 - So 26.01.03 19:21
Titel: Hm
ich glaube dass würde auffallen wenn ich mit so em Ding bei meinem Lehrer auftauchen würde. Was macht ihr?? Studieren??


Christian S. - So 26.01.03 19:23

Ich bin Physik-Student im 3.Semester und habe auch zwei Semester Informatik gehört.


tommie-lie - So 26.01.03 19:26

nein, lesen.
Sowas steht an jeder Ecke im Internet. Und wenn man sich ein winziges Bisschen mit Mathe auskennt (so 8 oder 9te Klasse...) kriegt man das auch fast ohne Programmierkenntnisse hin (gut, man muss wissen, was eine for-Schleife macht, aber das war's auch schon).


Christian S. - So 26.01.03 19:34

Swoeit ich weiß, meinte er die Rekursion, nicht die For-Schleife.


tommie-lie - So 26.01.03 19:40

ich dachte, er meint es allgemein. Und allgemein weiß ich seit der 9ten, daß Potenziern nichts anderes ist, als die Basis Exponent-mal mit sich selbst zu multiplizieren. Aber iss ja egal... Ich kam nur leider zu spät, um hier noch was sinnvolles beitragen zu können, weil das Problem schon gelöst war.