Program Pzim ;
{Escrever um programa que, utilizado de funções, leia um valor e retorne
a) se é multiplo de 5 ou não -retorno string;
b) fatorial (1*2*...*n) retorno integer.}
{variaveis globais}
var
r_fatorial, num:integer;
r_multiplo:string;
//inicio da função multiplo
function multiplo(x:integer):string; // a função recebe um valor de inteiro e retorna ma string
begin
if (x mod 5 = 0) then // verifica se é multiplo de 5, se fim
multiplo:='O número é multiplo de 5' //a função multiplo recebe a frase como resposta
else // se não
multiplo:='O número NÃO é multiplo de 5' //recebe a frase informando que não
end;
//inicio da função fatorial
function fatorial(y:integer):integer; // a funçaõ recebe e retorna um valor de inteiro
var
fat,i:integer;
begin
fat:=1;
for i:= 1 to y do
begin
fat:= fat * i;
end;
fatorial:=fat;
end;
//fim das funçoes
//inicio do algoritmo
{quando fazemos algoritmos com funções e procedimentos devemos primeiro começar perlo algoritmo, depois
é que fazemos as funções e ou procedimentos }
Begin
writeln('Digite um número: '); // solicita que seja digitado um numero
readln(num); // recebe o numero digitado
r_multiplo:=multiplo(num); // atribui a variavel r_multiplo o valor retornado da função multiplo
r_fatorial:=fatorial(num); // atribui a variavel r_fatorial o valor retornado da função fatorial
{em função, ao mesmo tempo chamamos a função e atribuimos o resultado
a uma varivel, esse resultado pode ter a variavel do mesmo tipo ou de tipo diferente}
writeln(r_multiplo); //exibe os resultados
writeln('O fatorial de ',num, ' é : ',r_fatorial);
End.