Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rosberg Guedes

Fatorial com procedimento e função

Recommended Posts

Olá galera, minha duvida em relação a esse codigo é apenas no final, pois depois que eu coloquei o while no programa principal e criei a rotina operacao o programa não continua repetindo ate que o usuario digite qualquer outra tecla. Quero saber como posso resolver isso.

 

program fatorial;
uses crt;
var
numero:integer;
usuario,resp:string;



function calcfatorial (var num:integer):integer;
var
fatorial,i:integer;
begin
    fatorial :=1;
    for i:=1 to num do
    begin
        fatorial:=fatorial*i;
    end;
    calcfatorial:=fatorial;{caso essa linha de codigo não for digitada a sua variavel vai pro lixo da memoria, ou seja, a função vai ser inute}
end;





procedure pergunta (nome:string); 
var
idade:integer;
sexo:string;
begin
    writeln('Ola ',nome,' gostaria de lhe fazer algumas perguntas');
    writeln('Qual a sua idade?');
    readln(idade);
    writeln('Qual o seu sexo?');
    readln(sexo);
    writeln('Qual o numero que voce quer descobrir?');
    readln(numero);{global}
    writeln(numero,' != ',calcfatorial(numero));{A função retorna um valor, diferente do procedure que este caso não seria util}
end;





procedure operacao;
    begin
       writeln('Qual o numero que voce ainda quer descobrir ?');
       readln(numero);{global}
       writeln(numero,' != ',calcfatorial(numero));
    end;






Begin{programa principal}
    resp:='';
    writeln('Digite seu nome: ');
    readln(usuario);
    pergunta(usuario);{chama a rotina pergunta}
    writeln('Deseja continuar ? ');
    while ((resp='sim') or (resp='s')) do
         operacao;
    readkey;
end.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.