Loop structures: Difference between revisions

Content added Content deleted
(Added Dafny)
Line 758: Line 758:
writeln(stri);
writeln(stri);
end for;
end for;

==SETL4==
<lang setl4>
define('prime(n)set.this') :(prime.end)

* Tests if _n_ is a prime integer.

prime

n = integer(n) +n
eq(n,2) :s(return)
even(n) :s(freturn)
exists(new('iter 3 ' square.root(n) ' 2'), 'multiple(n,this)') :s(freturn)f(return)

prime.end

define('primes(n)set.this') :(primes.end)

* Returns set of primes less than _n_.

primes

primes = filter(new('iter 2 ' (n - 1)),'prime(this)') :(return)
primes = new('set')
iter = new('iter 2 ' (n - 1))
loop(iter)

primes.loop
this = next(iter) :f(return)
prime(this) add(primes,this) :(primes.loop)

primes.end
</lang>


==[[SIMPOL]]==
==[[SIMPOL]]==