Ana səhifə

Universidade Regional Integrada do Alto Uruguai e das Missões Campus Frederico Westphalen Departamento de Engenharias e Ciência da Computação Algoritmos e Estrutura de Dados I informática I


Yüklə 0.52 Mb.
səhifə12/23
tarix25.06.2016
ölçüsü0.52 Mb.
1   ...   8   9   10   11   12   13   14   15   ...   23

9.4Procedimentos


Um procedimento é um subalgoritmo que retorna zero (nenhum) ou mais valores ao (sub)algoritmo chamador. Estes valores são sempre retornados por meio dos parâmetros ou de variáveis globais, mas nunca explicitamente, como no caso de funções. Portanto, a chamada de um procedimento nunca surge no meio de expressões, como no caso de funções. Pelo contrário, a chamada de procedimentos só é feita em comandos isolados dentro de um algoritmo, como as instruções de entrada (Leia) e saída (Escreva) de dados.

A sintaxe da definição de um procedimento é:



Procedimento <nome> ( <parâmetros> )

Var <variáveis locais>

Inicio

<comando composto>

Fim.

Temos que:



  • <nome> é o nome simbólico pelo qual o procedimento é invocado por outros algoritmos;

  • <parâmetros> são os parâmetros do procedimento;

  • <variáveis locais> são as definições das variáveis locais ao procedimento. Sua forma é análoga à da definição de variáveis num algoritmo;

  • <comando composto> é o conjunto de instruções do corpo do procedimento, que é executado toda vez que o mesmo é invocado.

O exemplo a seguir é um exemplo simples, onde um procedimento é usado para escrever o valor das componentes de um vetor.

Algoritmo Exemplo_procedimento
Var vet : matriz[1..10] de real
Procedimento ESC_VETOR()

Var i : inteiro

Inicio

Para i de 1 até 10 faça

Início

Escreva vet[i]

Fim

Fim
Procedimento LER_VETOR()

Var i : inteiro

Inicio

Para i de 1 até 10 faça

Início

Leia vet[i]

Fim

Fim
Inicio

LER_VETOR()

ESC_VETOR()

Fim.

No exemplo é conveniente observar:

– a forma de definição dos procedimentos LER_VETOR( ) e ESC_VETOR( ), que não possuem nenhum parâmetro, e usam a variável local i para “varrer” os componentes do vetor, lendo e escrevendo um valor por vez; e

– a forma de invocação dos procedimentos, por meio do seu nome, seguido de seus eventuais parâmetros (no caso, nenhum), num comando isolado dentro do algoritmo principal.


9.5Variáveis Globais e Locais


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 todos os demais subalgoritmos.

Variáveis locais são aquelas definidas dentro de um subalgoritmo e, portanto, somente visíveis (utilizáveis) dentro do mesmo. Outros subalgoritmos, ou mesmo o algoritmo principal, não podem utilizá-las.

No exemplo a seguir são aplicados estes conceitos.



Algoritmo Exemplo_variáveis_locais_e_globais

Var X : real

I : inteiro


Função FUNC() : real

Var X : matriz[1..5] de inteiro

Y : caracter[10]



Inicio

...


Fim
Procedimento PROC

Var Y : 1ógico

Inicio

...


X := 4 * X

I := I + 1

...

Fim
Início

...


X := 3.5

...


Fim.

É importante notar no exemplo anterior que:



  • as variáveis X e I são globais e visíveis a todos os subalgoritmos, à exceção da função FUNC, que redefine a variável X localmente;

  • as variáveis X e Y locais ao procedimento FUNC não são visíveis ao algoritmo principal ou ao procedimento PROC. A redefinição local do nome simbólico X como uma matriz[5] de inteiro sobrepõe (somente dentro da função FUNC) a definição global de X como uma variável do tipo real;

  • a variável Y dentro do procedimento PROC, que é diferente daquela definida dentro da função FUNC, é invisível fora deste procedimento;

  • a instrução X := 8.5 no algoritmo principal, bem como as instruções X := 4 * X e I := I + 1 dentro do procedimento PROC, atuam sobre as variáveis globais X e I.

9.6Parâmetros


Parâmetros são canais pelos quais se estabelece uma comunicação bidirecional entre um subalgoritmo e o algoritmo chamador (o algoritmo principal ou outro subalgoritmo). Dados são passados pelo algoritmo chamador ao subalgoritmo, ou retornados por este ao primeiro por meio de parâmetros.

Parâmetros formais são os nomes simbólicos introduzidos no cabeçalho de subalgoritmos, usados na definição dos parâmetros do mesmo. Dentro de um subalgoritmo trabalha-se com estes nomes da mesma forma como se trabalha com variáveis locais ou globais.



Função Média(X, Y : real) : real

Inicio

Retorne (X + Y) / 2

Fim

No exemplo anterior, X e Y são parâmetros formais da função Média.

Parâmetros reais são aqueles que substituem os parâmetros formais quando da chamada de um subalgoritmo. Por exemplo, o trecho seguinte de um algoritmo invoca a função Média com os parâmetros reais 8 e 7 substituindo os parâmetros formais X e Y.

Z := Média(8, 7)

Assim, os parâmetros formais são úteis somente na definição (formalização) do subalgoritmo, ao passo que os parâmetros reais substituem-nos a cada invocação do subalgoritmo. Note que os parâmetros reais podem ser diferentes a cada invocação de um subalgoritmo.

1   ...   8   9   10   11   12   13   14   15   ...   23


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©atelim.com 2016
rəhbərliyinə müraciət