Iterative:
package SummenberechungIterative is
function Summenberechnung (StartwertExtern : in Integer; EndwertExtern : in Integer) return Integer;
private
Startwert : Integer;
Endwert : Integer;
Summe : Integer;
end SummenberechungIterative;
package body SummenberechnungIterative is
function Summenberechnung (StartwertExtern : in Integer; EndwertExtern : in Integer) return Integer
is begin
if StartwertExtern > EndwertExtern then
Startwert := EndwertExtern;
Endwert := StartwertExtern;
else
Startwert := StartwertExtern;
Endwert := EndwertExtern;
end if;
Summe := 0;
SummeSchleife:
for SummeSchleifenwert in Startwert .. Endwert loop
Summe := Summe + SummeSchleifenwert;
end loop SummeSchleife;
return Summe;
end Summenberechnung;
end SummenberechnungIterative;
Rekursiv:
package SummenberechnungRekursiv is
function Summenberechnung (WertExtern : in Natural) return Natural;
end Summenberechung;
package body SummenberechnungRekursiv is
function Summenberechnung (WertExtern : in Natural) return Natural
is begin
case WertExtern is
when 0 .. 1 =>
return WertExtern;
when others =>
return WertExtern + Summenberechnung (WertExtern => (WertExtern - 1));
end case;
end Summenberechnung;
end SummenberechnungRekursiv;
Neueste Kommentare