Ir ao conteúdo
  • Cadastre-se
Carlos1924

Pascal Criar Funções e declarar variaveis

Recommended Posts

Opa galera tudo bem? Preciso criar um software utilizando a linguagem pascal e que seja capaz de realizar 6 tipos de conversões de base. Pra mim a parte das conversões é de boa, mas estou com dificuldade em criar o menu e usar funções. Como faço para declarar variáveis diferentes dentro de cada função? Desde já agradeço.

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @Carlos1924.

 

2 horas atrás, Carlos1924 disse:

estou com dificuldade em criar o menu e usar funções. Como faço para declarar variáveis diferentes dentro de cada função? Desde já agradeço.

 

A própria pergunta já se responde... para declarar as variáveis, basta declará-las.

 

 

1#

Um detalhe importante é que as variáveis internas, aquelas que estão dentro dos procedimentos e funções (rotinas), são independentes do "mundo externo"... ou seja, elas só existem dentro da própria rotina.

Ex.

program FCdH;
uses
  CRT; //necessário para alguns compiladores reconhecerem alguns comandos extras, como ReadKey

//PROCEDIMENTO QUE RECEBE UM DECIMAL E RETORNA O VALOR CORRESPONDENTE EM BINÁRIO
procedure DemimalParaBinario();
  var //essas variáveis aqui são locais. Só existem para esse escopo
    x,y,z         :integer;
    alfa,beta,gama:string;
  begin
  
  end;

//PROCEDIMENTO QUE RECEBE UM BINÁRIO E RETORNA O VALOR CORRESPONDENTE EM DECIMAL
procedure BinarioParaDecimal();
  var //veja que aqui utilizo as mesmas nomenclaturas e não dá erro!
    x,y,z         :integer;
    alfa,beta,gama:string;
  begin
  
  end;
  

BEGIN
writeln();
writeln(' ### CONVERT BASES Pro. v0.001 Alpha ###');
writeln();
writeln();






write  ('Pressione qualquer tecla para finalizar');
ReadKey();
END.

Nesse caso, eu inventei algumas variáveis que o método precisa.. e, para demonstrar, propositalmente deixar 2 métodos diferentes utilizando as mesmas nomenclaturas... ou seja, vai funcionar de boa, pois um rotina não reconhece a outra.

 

obs.: veja, esse código é apenas um esboço aleatório... apenas tentando demonstrar o uso das variáveis.

 

 

 

 

2#

Outra forma de declarar variáveis locais nos métodos é declarando nos parâmetros do método em si, ex.:

//FUNÇÃO QUE RECEBE UM DECIMAL E RETORNA O VALOR CORRESPONDENTE EM BINÁRIO
function DemimalParaBinario(numDecimal:integer):real;
  var
     auxiliar   :integer;
     joao, maria:real;
  begin
  
  blablablabla
  
  DemimalParaBinario:=auxiliar * joao * maria;
  end;

Nesse caso, a variável numDecimal receberá seu valor inicial quando o método for invocado, ex.:

numBinario:=DemimalParaBinario(7);

 

Ou seja, numDecimal, ao executar o método, já vai receber o valor 7....   Esse tipo de declaração, serve também para justamente levar um dado necessário para função que está no exterior para dentro. (em vez de usar variáveis globais)

 

 

***

 

Deu para entende?

 

Se tiver alguma dúvida específica, é só postar.

Se já começou a implementar, por favor, poste o código completo e onde está com dúvidas.

 

No aguardo.

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Simon, muito obrigado! Entendi melhor agora sobre as variáveis locais e globais, ainda estou tentando entender só como puxar as  funçoes, porque preciso criar um menu com octal para decimal, binario para decimal, decimal para binario, etc. Por hora estava tentando juntar todas, mas até agora só fiz de binario para decimal e vice-versa.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Carlos1924     depois que você  criar a função você pode usa-la chamando o nome da função , por exemplo, se você criou a função binario_para_decimal  então para chama-la basta colocar a palavra binario_para_decimal  e o programa vai nessa função e faz o que está nela , e retorna para a linha seguinte de onde ela foi chamada ,      e para fazer  essas conversões  será mais fácil se você usar o comando mod para pegar o resto da divisão , e para fazer o menu você pode usar o comando case of  .     poste o código que você já fez , para podemos ver como está e em que podemos ajudar   .

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×