printable version

Test 3 Solutions

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

Problem X3.1.

[15 pts] In class we've seen snippets of code from APL, BASIC, C, C++, COBOL, Fortran, Haskell, Java, JavaScript, Lisp, Lua, Pascal, Prolog, Python, Ruby, Scala, and Smalltalk. Identify in which language each of the following is written.

a.def fact(n: Int): Int = (1 to n) reduceLeft (_ * _)
b.function fact(n : integer) : integer;
var
    i, r: integer;
begin
    r := 1;
    for i := 1 to n do
        r := r * i;
    fact := r
end;
c.MOVE 1 TO FACT
PERFORM VARYING I FROM 1 BY 1 UNTIL I = N
  MULTIPLY I BY FACT
END-PERFORM
d.   INTEGER FUNCTION FACT(N)
   K = 1
   DO 10 I = 1, N
   K = K * I
10 CONTINUE
   FACT = K
   RETURN
   END
e.(defun fact (n) (if (= n 1) 1 (* n (fact (- n 1)))))