Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. MODULE main
  2. VAR e : {e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 , e10 , e11 , e12
  3. };
  4. VAR j : 3..9;
  5. VAR i : 1..24;
  6. VAR x : 0..6;
  7. VAR primes : 0..10;
  8. VAR factorial : 1..1000;
  9. VAR sigma : 0..5;
  10. VAR loop : 1..3;
  11. FROZENVAR number : 0..8;
  12.  
  13. ASSIGN
  14. init( e ) := e1;
  15. init( j ) := 3;
  16. init( i ) := 1;
  17. init( x ) := 0;
  18. init( primes ) := 0;
  19. init( factorial ) := 1;
  20. init( sigma ) := 0;
  21. init( loop ) := 1;
  22. next( e ) := case
  23. e = e1 & ( number > 2 ) : e2;
  24. e = e2 & ( j <= number ) : e3;
  25. e = e3 : e4;
  26. e = e4 & (x < (j - 2) ): e5;
  27. e = e4 & !(x < (j - 2) ): e7;
  28. e = e5 : e6;
  29. e = e6 : e4;
  30. e = e7 : e2;
  31. e = e2 & ! ( j <= number ) : e8;
  32. e = e8 : e9;
  33. e = e9 & number = 3 : e10;
  34. e = e9 & number != 3 : e11;
  35. e = e1 & ! ( number > 2 ) : e12;
  36. TRUE: e;
  37. esac;
  38. next( j ) := case
  39. e = e7 & next( e ) = e2 & j+1 <= 9 : j +1;
  40. TRUE: j;
  41. esac;
  42. next( i ) := case
  43. next(e) = e3 : 1;
  44. next(e) = e6 & i<24: i + 1;
  45. TRUE: i;
  46. esac;
  47. next( x ) := case
  48. e = e3 & next( e ) = e4 : 0;
  49. e = e6 & next( e ) = e4 & x + 1 <= 6 : x + 1;
  50. TRUE: x;
  51. esac;
  52. next( primes ) := case
  53. next(e) = e8 & (-1 + sigma ) >= 0 & (-1+sigma ) <= 4 : -1 + sigma;
  54. TRUE: primes;
  55. esac;
  56. next( factorial ) := case
  57. next(e) = e3 : 1;
  58. next(e) = e5 & factorial <= 1000 & factorial * i <= 1000: factorial *
  59. i;
  60. TRUE: factorial;
  61. esac;
  62. next( sigma ) := case
  63. next(e) = e7 & ( sigma + ( factorial - j * (factorial / j ) ) ) <= 5 :
  64. sigma + ( factorial - j * ( factorial / j ));
  65. TRUE: sigma;
  66. esac;
  67. next( loop ) := case
  68. loop = 1 & j = next( j ) & x = next( x ) & sigma = next( sigma ) &
  69. factorial =next( factorial ) & primes = next( primes ) & i = next( i ) &
  70. e = next( e ) : 2;
  71. loop = 2 : 3;
  72. TRUE: loop;
  73. esac;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement