Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   a^n über repascal berechnen (https://www.delphipraxis.net/104654-%5En-ueber-repascal-berechnen.html)

any_key 8. Dez 2007 11:58


a^n über repascal berechnen
 
aloah,
ich bereite mich gerade auf eine klausur vor. diese klausur ist eigentlich über assembler, aber als zwischenform zwischen pascal und assembler wurde uns noch repascal gegeben.
in diesem repascal wollte ich jetzt zu übungszwecken a^n berechnen.
dafür bin ich (durch ausprobieren der bedingung) auf diese lösung gekommen:
Delphi-Quellcode:
Label M;
var a ,n ,b , accu : integer;
BEGIN
{ Anweisungen in RePas: }
  RePasEingabe(a);
  RePasEingabe(n);
  Accu := a;
  b := Accu;

M: Accu := b;
   Accu := Accu * a;
   b := Accu;
   Accu := n;
   Accu := Accu - 1;
   n := Accu;
   IF NOT n <= -3  then GOTO M;

  RePasAusgabe(b);
END;
allerdings erscheint es mir als vollkommen unlogisch, dass bei der bedingung n <= -3 ein richtiges ergebnis ausgegeben wird.
dazu habe ich sogar schon probiert die schleife komplett selbst durchzurechnen, aber dafür bekomme ich dann immer zahlen raus, die viel größer sind als das eigentliche ergebnis.
kann mir vllt. jemand erklären, wie das sein kann, dass hier das richtige ergebnis raus kommt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 Uhr.

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