-
Basta armazenar em variáveis globais.
-
O uso de passagem de parametros por referencias para tais procedimentos também pode causar este efeito.
-
Forçando um pouco a interpreação de "existência mesmo após o termino de execução do procedimento"...
Dependendo da linguagem empregada, não é necessário nem mesmo uma variável global, uma local mesmo resolve.
Em C, por exemplo, temos o modificador static.
Variáveis locais static são variáveis cujo valor é mantido de uma chamada da função para a outra.
-
Creio que caberia recurso nesta questão.
O gabarito de outra questão, que salvo engano também é do CESPE, tem como ponto chave para resolução o fato de que "procedimento" não retorna valor.
O correto seria mencionar "...implementar FUNÇÕES cujos valores gerados..."
Apesar de "valores gerados" possivelmente se refira a atribuições dentro do procedimento, ainda assim o texto compromete a interpretação.
-
Sim. Basta armazenar esses valores em variáveis globais, que deverão estar fora de todas as funções ou procedimentos do programa.
Resposta: Certo
-
Correta. Basta armazenar esses valores em variáveis globais, que deverão estar fora de todas as funções ou procedimentos do programa.
-
Cuidado na resposta, podemos sim, ao término de um bloco de execução guardar este valor em uma variável do tipo global, porém, com o fechar do sistema se esta não for armazenada em outro lugar, com certeza o seu valor será perdido.
Resposta: Certo
-
GABARITO: CORRETO
Basta armazenar esses valores em variáveis globais, que deverão estar fora de todas as funções ou procedimentos do programa.
-
Pelo que pude entender, esse efeito ("... variáveis que garantem sua existência mesmo após o término da execução de tais procedimentos")
se consegue pela utilização de variável global
ou por meio de passagem de parâmetro por referência.
Neste livro vem com explicação mais detalhada;
aqui coloquei só resumo meu.
==============================
Variáveis globais são aquelas declaradas
no início de um algoritmo. Estas variáveis são visíveis (isto é, podem ser
usadas) no algoritmo principal e por todas as demais sub-rotinas.
Variáveis locais são aquelas definidas
dentro de uma sub-rotina e, portanto, somente visíveis (utilizáveis) dentro do
mesmo. Outras sub-rotinas, ou mesmo o algoritmo principal, não podem
utilizá-las.
--------------------------------------------
O mecanismo de funcionamento de uma
sub-rotina é iniciado quando se encontra um comando de invocação desta, durante
a execução do algoritmo principal.
A partir daí a execução do mesmo é
interrompida e a seguir, passa-se à execução dos comandos do corpo da
sub-rotina.
Ao seu término, retoma-se a execução do
algoritmo que o chamou (no caso, o algoritmo principal) no ponto onde foi
interrompida (comando de chamada da sub-rotina) e prossegue-se pela instrução
imediatamente seguinte.
---------------------------
Essa invocação pode se dar também
através dos parâmetros que são canais por onde os dados são transferidos pelo
algoritmo chamador a uma sub-rotina, e vice-versa.
Para que possa iniciar a execução das
instruções em seu corpo, uma sub-rotina às vezes precisa receber dados do
algoritmo que o chamou e, ao terminar sua tarefa, a sub-rotina deve fornecer ao
algoritmo chamador os resultados da mesma.
Esta comunicação bidirecional pode ser
feita de dois modos que são
por meio de variáveis globais ou
por meio da passagem de parâmetros.
-------------------------------
continua na parte II
-
parte II (continuação)
Fonte:
Batista, Rogério da Silva
Lógica de programação
Parâmetros são canais pelos quais se estabelece uma comunicação
bidirecional entre uma sub-rotina e o algoritmo chamador (o algoritmo principal
ou outra sub-rotina).
Dados são passados pelo algoritmo chamador à sub-rotina, ou
retornados por este ao primeiro por meio de parâmetros.
OS PARÂMETROS PODEM SER DAFUNÇÃO OU DO PROCEDIMENTO:
EXEMPLO:
Função Quad(w : real)
ESSA FUNÇÃO ELEVA O PARÂMETRO W AO QUADRADO
(O QUE ESTÁ EMMAIÚSCULO-ITÁLICO É PORQUE É COMENTÁRIO MEU)
--------------------------------------
Os Parâmetros formais são os nomes simbólicos introduzidos no
cabeçalho de sub-rotinas, usados na definição dos parâmetros do mesmo.
Dentro de uma sub-rotina
trabalha-se com estes nomes da mesma forma como se trabalha com variáveis
locais ou globais.
Já os Parâmetros reais são aqueles que substituem os parâmetros
formais quando da chamada de uma sub-rotina.
-------------------------
Na passagem de parâmetros por valor (ou por
cópia) o parâmetro real é calculado e uma cópia de seu valor é fornecida ao
parâmetro formal, no ato da invocação do sub-rotina.
A execuçãodo sub-rotina prossegue normalmente e todas as modificações feitas no parâmetro
formal não afetam o parâmetro real.
-----------------------
Já no mecanismo de passagem deparâmetros por referência, o espaço de memória ocupado pelos parâmetros
reais é compartilhado pelos parâmetros formais correspondentes.
Assim, as eventuais modificações feitas nos parâmetros formais também afetam os parâmetros reais
correspondentes."
No capítulo vem mais explicado, com exemplos.
Fonte:
Batista, Rogério da Silva