]]> ]]>

Факториал в Oberon

Пример для версий gpcp 1.3.4-JVM, gpcp 1.3.4-NET 1.1, gpcp 1.3.9-NET

Используется рекурсивное определение факториала.

MODULE Example;

IMPORT CPmain, Console, RTS;

VAR 
  n: INTEGER;
  s: ARRAY 15 OF CHAR;

PROCEDURE factorial*(n: INTEGER): LONGINT;
BEGIN
  IF n = 0 THEN
    RETURN 1;
  ELSE 
    RETURN n * factorial(n - 1)
  END;
END factorial;

BEGIN
  FOR n := 0 TO 16 DO
    Console.WriteInt(n, 2);
    Console.WriteString('! = ');
    RTS.LongToStr(factorial(n), s);  
    Console.WriteString(s);
    Console.WriteLn;
  END;
END Example.

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам