Unidade F – Subalgoritmos

Funções

O conceito de função foi originado da idéia de função matemática:

– raiz quadrada

– seno

– cosseno, etc.

onde um valor é calculado a partir de outros fornecidos à função.

A sintaxe de uma função é a seguinte:

<variáveis globais>

Funcao <nome> (<parâmetros>)

inicio

<comando composto>

fim

Sendo que:

A chamada de uma função é feita pelo aparecimento do nome da mesma, seguido pelos parâmetros entre parênteses, dentro de uma expressão. A função é executada e, ao seu final, o comando que a chamou é substituído pelo valor retornado pela mesma dentro da expressão em que se encontra, e a avaliação desta segue normalmente.

Dentro de uma função (somente neste caso), o comando Retornar <expressão> é usado para retornar o valor calculado pela função. Ao ser encontrado este comando, a expressão entre parênteses é avaliada, a execução da função é finalizada e o valor da expressão é retornado ao algoritmo que chamou a função. Esta expressão deve ser do mesmo tipo que o valor retornado pela função.

Abaixo temos um exemplo de uma função para calcular o valor de um número ao quadrado:

variaveis

numerico n

funcao quadrado (n)

inicio

retornar (n*n)

fim

// Início do Algoritmo Principal

inicio

escrever “Digite um número: ”

ler n

escrever “O quadrado é: ”, quadrado (n)

fim

Variáveis Globais e Locais

Variáveis globais são aquelas declaradas no início de um algoritmo. Estas variáveis podem ser usadas no algoritmo principal e por todos os demais subalgoritmos.

Variáveis locais são aquelas definidas dentro de um subalgoritmo e só podem ser utilizadas por este subalgoritmo onde foram declaradas.

Parâmetros

Parâmetros são canais pelos quais se estabelece uma comunicação bilateral entre um subalgoritmo e o algoritmo que o chamou.

Dados são passados pelo algoritmo chamador ao subalgoritmo, ou retornados pelo subalgoritmo ao algoritmo chamador por meio de parâmetros.

Parâmetros formais são os nomes simbólicos introduzidos no cabeçalho de subalgoritmos. Dentro de um subalgoritmo trabalha-se com estes nomes da mesma maneira como se trabalha com variáveis locais ou globais.

variaveis

numerico x, y

funcao media (x, y)

inicio

retornar (x + y)/2

fim

No exemplo acima, 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 ocorre a chamada de um subalgoritmo. Por exemplo, abaixo temos um trecho de um algoritmo que chama a função média com os parâmetros reais 15 e 24 substituindo os parâmetros formais x e y.

Z = média (15, 24)

Funções definidas pelo Usuário

Uma chamada à uma determinada função pode ser feita de dentro de uma expressão ou como a forma de chamada de um subprograma. Tem a seguinte forma:

<identificador> (<parâmetro...>)

ou

<identificador> ( )

Sendo que identificador é um nome dado a uma função definida pelo usuário.

Também pode ser usado o comando Retornar para retornar um valor de uma função definida pelo usuário. Sua sintaxe é a seguinte:

Retornar ( )   ou   Retornar (<variável>)   ou   Retornar variável

Exemplo:

No programa abaixo é lido um nome e usada uma função para imprimir este nome lido.

variaveis

caracter nome

funcao  imprimir(nome)

inicio

escrever “Nome : ”, nome

fim

// início do algoritmo principal

inicio

ler nome

imprimir(nome)

fim