File : fizzbuzz.sp


$ spar fizzbuzz
 1
 2
Fizz
 4
Buzz
...
#!/usr/local/bin/spar

pragma annotate( summary, "fizzbuzz" );
pragma annotate( description, "Write a program that prints the numbers from 1 to 100. But for multiples of" );
pragma annotate( description, "three print 'Fizz' instead of the number and for the multiples of five print" );
pragma annotate( description, "'Buzz'. For numbers which are multiples of both three and five print" );
pragma annotate( description, "'FizzBuzz'" );
pragma annotate( see_also, "http://rosettacode.org/wiki/FizzBuzz" );
pragma annotate( author, "Ken O. Burtch" );
pragma license( unrestricted );

pragma restriction( no_external_commands );

procedure fizzbuzz is
begin
   for i in 1..100 loop
      if i mod 15 = 0 then
         ? "FizzBuzz";
      elsif i mod 5 = 0 then
         ? "Buzz";
      elsif i mod 3 = 0 then
         ? "Fizz";
      else
         ? i;
      end if;
   end loop;
end fizzbuzz;

-- VIM editor formatting instructions
-- vim: ft=spar