Variáveis Globais e Locais
Variáveis
Globais são aquelas declaradas no início de um algoritmo. São visíveis, ou
seja, podem ser utilizadas no algoritmo principal e por todos os outros
subalgoritmos.
Variáveis
Locais são aquelas declaradas no início de um subalgoritmo. São visíveis,
ou seja, podem ser utilizadas somente pelo subalgoritmo onde foram declaradas. Outros
subalgoritmos ou mesmo o algoritmo principal não podem utiliza-las.
Exemplo:
Algoritmo EXEMPLO_VARIAVEIS
Var X : real
I : inteiro
Função FUNC( ) : real
Var X : conjunto[5] de inteiro
Y : literal[10]
Início
. . .
Fim
Procedimento PROC( )
Var Y
: lógico
Início
X ß 4 * X
I ß I
+ 4
Y ß X = I
Se Y
Então
Escreva “X =
I”
Senão
Escreva “X
<> I”
Fim_se
Fim
Início
. . .
X
ß 3.5
I ß 10
PROC( )
Fim
Algoritimos
Parâmetros
Parâmetros
são canais por onde os dados são transferidos pelo algoritmo chamador a um
subalgoritmo, e vice-versa.
Parâmetros
Formais são os nomes simbólicos usados na definição dos parâmetros de um
subalgoritmo.
Parâmetros
Reais são aqueles que substituem os parâmetros formais quando da chamada de
um subalgoritmo.
Exemplo:
Algoritmo EXEMPLO_PARAMETROS
Var Z : real
Função MEDIA (X, Y
: real) : real
Início
Retorne (X + Y) / 2
Fim
Início
Z ß MEDIA(8, 7)
Escreva “A Média é igual a “, Z
Fim
No exemplo
acima, X e Y são parâmetros formais da função MEDIA, enquanto 8 e 7 são parâmetros
reais do algoritmo principal que substituirão X e Y quando da chamada da função
MEDIA.
Mecanismos de Passagem de Parâmetros
A
substituição dos parâmetros formais pelos parâmetros reais no ato da invocação
de um subalgoritmo é denominada de passagem de parâmetros e pode se dar por
dois mecanismos distintos: passagem por valor (ou por cópia) e passagem por
referência.
-
Passagem de Parâmetros por Valor
No ato da invocação do subalgoritmo, o parâmetro
real é calculado e uma cópia do seu valor é substituída pelo parâmetro formal. Quando
o subalgoritmo é executado, as modificações efetuadas no parâmetro formal não
afetam o parâmetro real, pois trabalha-se apenas com uma cópia do mesmo.
Exemplo:
Algoritmo
EXEMPLO_PAR_VAL
Var X : inteiro
Procedimento PROC(Y : inteiro)
Início
Y ß Y + 1
Escreva “Durante Y = “, Y
Fim
Início
X ß 1
Escreva “Antes X = “,
X
PROC(X)
Escreva
“Depois X = “, X
Fim
-
Passagem de Parâmetros por Referência
Quando da invocação de um subalgoritmo com parâmetros
passados por referência, o espaço de memória ocupado pelos parâmetros reais é
compartilhado pelos parâmetros formais correspondentes, portanto as modificações
efetuadas nos parâmetros formais também afetarão os parâmetros reais.
Exemplo:
Algoritmo
EXEMPLO_PAR_REF
Var X : inteiro
Procedimento PROC(Var Y
: inteiro)
Início
Y ß Y + 1
Escreva “Durante Y = “, Y
Fim
Início
X ß 1
Escreva “Antes X = “, X
PROC(X)
Escreva
“Depois X = “, X
Fim
Exercícios:
1 – Escreva um subalgoritmo para determinar se um dado número
é ou não impar.
Função IMPAR(n : inteiro) : lógico
Início
Se (n – (n / 2) * 2)
<> 0
Então
Retorne .V.
Senão
Retorne .F.
Fim_se
Fim
2 – Escreva um subalgoritmo para realizar a escrita de um
vetor de n componentes reais (n <= 100).
Procedimento ESCR_VETOR(V : conjunto[100]
de real, n : inteiro)
Var I : inteiro
Início
Para I de 1 até n faça
Escreva “V[“, I, “] = “, V[I]
Fim_para
Fim
3 – Escreva um subalgoritmo para realizar a leitura de um
vetor de n componentes reais (n <= 100).
Procedimento LE_VETOR(Var V
: conjunto[100] de
real, n : inteiro)
Var I : inteiro
Início
Para I de 1 até n faça
Escreva “V[“, I, “] = “
Leia V[I]
Fim_para
Nenhum comentário:
Postar um comentário