BuK/IIm11/Studenten/sistsche/RAM Wurzel
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
{|| border="1" cellpadding="5" cellspacing="0"
!BNr
!Methode
!Bemerkung
|-
||<div align="right">0</div>||R0 = 25||Berechnung Wurzel 25
|-
||<div align="right">1</div>||R1 = 1||R1 = aktueller Testwert
|-
||<div align="right">2</div>||R2 = 0||R2 = alter Testwert
|-
||<div align="right">3</div>||R5 = 1||Inkrement-Variable
|-
||<div align="right">4</div>||R10 = R1||Parameter für die Berechnung des Quadrats; Beginne Quadrierung
|-
||<div align="right">5</div>||R11=R10||Schleifenindex
|-
||<div align="right">6</div>||IFZERO R10 GOTO 10||
|-
||<div align="right">7</div>||R12 += R10||
|-
||<div align="right">8</div>||R11 -= R13||
|-
||<div align="right">9</div>||GOTO 4||
|-
||<div align="right">10</div>||R3 = R12||R3 = Quadrat von aktuellen Testwert; Ende Quadrierung
|-
||<div align="right">11</div>||R20 =R0||Vorbereitung Vergleich(Kopieren der Register) von gesuchten Wert mit Ergebnis der Quadrierung
|-
||<div align="right">12</div>||R21 = R3||
|-
||<div align="right">13</div>||R20 -= R5||Beginn Vergleich errechneten Wert <= gegebenen Wert; Aufbau: beide Variablen dekrementieren bis eine oder beide 0 sind.
|-
||<div align="right">14</div>||R21 -= R5||
|-
||<div align="right">15</div>||IFZERO R20 GOTO 21||R20(Gesuchter Wert) kleiner oder gleich R21(berechnetes Quadrat des aktuellen Testwertes)
|-
||<div align="right">16</div>||IFZERO R21 GOTO 18||R21 kleiner R20 => weitermachen mit neuen Testwerten
|-
||<div align="right">17</div>||GOTO 13||Wiederholen bis R20 oder R21 = 0
|-
||<div align="right">18</div>||R2 = R1||alter Testwert = aktueller Testwert
|-
||<div align="right">19</div>||R1 += R2||aktueller Testwert + 1
|-
||<div align="right">20</div>||GOTO 4|| Mit neuen Testwert von vorn anfangen.
|-
||<div align="right">21</div>||R0 = R2|| Ergebnis in Rückgaberegister schreiben.
|}