← 都来码 / Dolaima← 例程索引ada/fizzbuzz.adb原文

ada/fizzbuzz.adb · 624 字节 · 下载原文

-- FizzBuzz:压「for 循环 + if/elsif/else + mod + 字符串并置」。
--
-- 判据在探针里(`scripts/vml-ada-probe`):输出必须逐行等于 1..15 的 FizzBuzz,
-- 且**第 15 行是 FizzBuzz**(同时被 3 和 5 整除 ⇒ 判定顺序不能写反)。

with Ada.Text_IO; use Ada.Text_IO;

procedure FizzBuzz is
begin
   for I in 1 .. 15 loop
      if I mod 15 = 0 then
         Put_Line("FizzBuzz");
      elsif I mod 3 = 0 then
         Put_Line("Fizz");
      elsif I mod 5 = 0 then
         Put_Line("Buzz");
      else
         Put_Line(Integer'Image(I));
      end if;
   end loop;
end FizzBuzz;