Escreva o código das funções seguintes:
-module(aula2). -export([factorial/1, factorial_guards/1, bubble/1]).
% factorial/1 ----------------------------- % % devolve o factorial do numero % factorial(0) -> 1; factorial(N) -> N*factorial(N-1).
% factorial_guards/1 ----------------------------- % % devolve o factorial do numero, mas a implementacao recorre a "guards" % factorial(N) when N > 0 -> N*factorial(N-1); factorial(0) -> 1.
% bubble/1 ------------------------------ % % ordenacao da lista usando o "bubble sort" %
bubble([H]) -> [H]; bubble([H|T]) -> M = lists:max(T), [M|bubble(change(H, M, T))].
% troca a primeira ocorrencia de M por N change(_, _, []) -> []; change(N, M, [M|L]) -> [N|L]; change(N, M, [H|L]) -> [H|change(N, M, L)].
Última actualização: 14 Março 2000