Advertisement
Guest User

Untitled

a guest
May 6th, 2015
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. function rekurrenz(n :int): int
  2. requires n >= 0
  3. ensures rekurrenz(n) > 0
  4. decreases n
  5. {
  6. if n == 0 then 2 else 3 * rekurrenz(n-1) + 2
  7. } // f(n) = 3 ^ (n+1) - 1 konnte nicht implementiert werden da ^ nicht in Dafny möglich!?
  8.  
  9. method Rekurrenz(n: int) returns (res:int)
  10. requires n > 0
  11. ensures res == rekurrenz(n)
  12. {
  13. var i := 0;
  14. res := 2;
  15. while i < n
  16. invariant 0 <= i <= n
  17. invariant res == rekurrenz(i)
  18. {
  19. res := 3 * res + 2;
  20. i := i + 1;
  21. }
  22. }
  23.  
  24.  
  25.  
  26. method Main()
  27. {
  28. var result:int := Rekurrenz(6);
  29. print "Rekkurenz(6):= ";
  30. print result;
  31. print "\n";
  32.  
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement