Ir para conteúdo
Fórum Script Brasil
  • 0

Pascal - dúvida


barãomg

Pergunta

2 respostass a esta questão

Posts Recomendados

  • 0
Bom dia!!

Queria saber o seguinte em Pascal.

a) Qual a diferença entre passagem de parâmetro por valor e passagem de parâmetro por referência? Preciso de um exemplo.

B) Qual a diferença entre função e procedimento? Descreva um exemplo.

Grato

Este é um exercício de seu curso de informática? Não vou de ajudar. Mas vou te orientar.

Para a pergunta 1) No google pesquise por passagem de parametros valor x referencia

Você vai encontrar a resposta lá.

Para a pergunta 2) No google pesquise por functions procedure pascal

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Mauricio Quereguine

Bom BARÃMG seguinte...acho q tenho a resposta para a sua duvida....

Nos parametros da linguagem pascal temos realmente as suas passagens q são por "VALOR" e "REFERENCIA"

Exemplificando:

[=====================================================================]

Na passagem de parâmetros por valor, as alterações feitas nos parâmetros formais, dentro do subprograma, não se refletem nos parâmetros reais.

Na passagem de parâmetros por referência, a toda alteração feita num parâmetro formal corresponde a mes-ma alteração feita no seu parâmetro real associado.

Ex:

procedure ler_dados (var x : integer); ------>isto é um parametro formal.(o que vai ser chamado pelo parametro real);

......

Begin

lerdados(x); --------->isto é um parametro real.(o que chama o parametro formal)

End.

[=====================================================================]

Respondendo a sua pergunta:

Basicamente a passagem por valor todo o processamento e digamos(a respostado seu calculo) fica retido dentro do "procedimento ou função", quanto que por referencia ele altera o valor real.....

Mais um Ex:

Program EX_PASSAGEM_PARÂMETROS;

var N1,N2 : integer;

Procedure PROC(X:integer; var Y:integer); {para a passagem ser por referencia basta colocar a palavra "VAR"...}

begin {...antes da variavel.}

X:=1;

Y:=1;

end;

begin

N1:=0; N2:=0;

PROC(N1,N2);

writeln(N1); {será exibido o valor 0}

writeln(N2); (será exibido o valor 1}

end.

[===============================================================================]

No caso acima pelo fato de que a variavel n2 que é representada por "Y" (que tem a passagem por referencia), é afetado o valor real.....e sendo assim tem se como resultado o valor 1.

E a variavel n1 (como o calculo ficou retido dentro do procedimento) não lhe foi alterado em nada......[ok]?????

Bom, tá ai acho q isso dá uma ajuda....qualquer coisinha dá uma olhada no google =)

t+

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...