Buscar

7_Funcoes

Prévia do material em texto

Subprogramação – Funções
Vejamos agora uma outra forma de subprogramação, que é a função.
Vimos anteriormente que podemos executar procedimentos separadamente. Normalmente são procedimentos elementares como leitura, escrita, e cálculos.
As funções também realizam procedimentos básicos. A diferença recai no retorno de valores.
Enquanto a subrotina pode não retornar valor algum, como pode retornar todos os valores passados como parâmetros, a função retorna apenas um é somente um valor. Este valor é referenciado pelo nome da própria função e não como parâmetro.
O primeiro tipo de funções é a pré-definida. Cada linguagem possui seu próprio conjunto de funções.
Por exemplo, se eu quiser o valor absoluto de um número, dentro do Fortran, uso a função ABS.
Exemplo: a = ABS(b)
Se eu quiser o resto da divisão entre dois números posso usar a função MOD(a, b)
e assim por diante. 
A outra forma de função é a criada pelo usuário. Se você olhar a relação de funções pré-definidas em cada linguagem notará que alguns procedimentos não são contemplados como rotina.
Por exemplo, se eu sei o nome, 3 notas e total de faltas de um usuário, por meio de uma função, em algumas linguagens eu consigo calcular a média entre as duas notas mas não consigo encontrar o status do aluno.
No Fortran nem mesmo a média eu consigo retornar.
Nesta categoria de função, eu posso subdividir em outros dois tipoa: Função-definição e função definida pelo usuário.
A função-definição é utilizada quando o cálculo envolvido equivale à execução de apenas uma expressão.
Por exemplo: Se eu quiser calcular a média entre duas notas eu posso montar um código como descrito abaixo:
Início
Defina n1, n2, m real
media(x, y)  (x + y) / 2
Leia n1, n2
m media(n1, n2)
Escreva n1, n2, m
Fim
A função definida pelo usuário é utilizada quando o cálculo envolvido equivale à execução de uma sequência de comandos.
Por exemplo: Se eu quiser calcular a situação do aluno eu posso montar um código como descrito abaixo:
Início
Defina n1, n2, m real
Defina sit caracter
media(x, y)  (x + y) / 2
Leia n1, n2
m media(n1, n2) 
sit calcsit(m)
Escreva n1, n2, m, sit
Fim
Função calcsit(x)
 Defina x real
 Defina calcsit caracter
 Se x<4 Então
 calcsit  “reprovado”
 Senão
 Se x<6 Então
 calcsit  “v.s.”
 Senão
 calcsit  “aprovado”
 Fim-se
 Fim-se
Fim-Função

Continue navegando