Jump to content
Fórum Script Brasil
  • 0

Pascal


Guest - Daniel -

Question

Guest - Daniel -

No ponto 91% do curso de LÓGICA DE PROGRAMAÇÃO do site contém um exemplo em que uma VARIÁVEL GLOBAL não tem seu valor alterado usando-se uma VARIÁVEL LOCAL com o mesmo nome.

O Problema é que tentei fazer isso no PASCAL TURBO e o programa tem o seu valor alterado e em outras versões nem chega a ser executado (não relatando erros do programa). Quero saber se esta informação contida no site é verdadeira?

Vou mandar o código do programa em PASCAL

PROGRAM problema01;

VAR

nome:string;

PROCEDURE setanome;

BEGIN

READ(nome);

END;

PROCEDURE mudanca

VAR

nome:string;

BEGIN

READ(nome);

END;

{começo do programa}

BEGIN

setanome;

WRITELN(nome);

mudanca;

WRITELN(nome);

END.

Grato pela atenção!

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Cara, eu vi um erro de escopo de variáveis ali, não sei se o objetivo do exercício é mostrar exatamente isso, mas na procedure mudanca, é declarada uma variável local chamada nome, sendo que já existe um identificador chamado assim que é global. Portanto, na procedure mudança, na verdade tu está setando o valor da variável local e, quando tu executa o writeln(nome) após chamar mudanca, na verdade o que vai ser impresso é o valor da variável global.

Não sei se consegui explicar direito, mas qualquer dúvida pergunta aí.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...