Você está na página 1de 2

Subprogramao Funes

Vejamos agora uma outra forma de subprogramao, que a funo.

Vimos anteriormente que podemos executar procedimentos separadamente. Normalmente so procedimentos


elementares como leitura, escrita, e clculos.

As funes tambm realizam procedimentos bsicos. A diferena recai no retorno de valores.

Enquanto a subrotina pode no retornar valor algum, como pode retornar todos os valores passados como
parmetros, a funo retorna apenas um somente um valor. Este valor referenciado pelo nome da prpria
funo e no como parmetro.

O primeiro tipo de funes a pr-definida. Cada linguagem possui seu prprio conjunto de funes.
Por exemplo, se eu quiser o valor absoluto de um nmero, dentro do Fortran, uso a funo ABS.
Exemplo: a = ABS(b)

Se eu quiser o resto da diviso entre dois nmeros posso usar a funo MOD(a, b)
e assim por diante.

A outra forma de funo a criada pelo usurio. Se voc olhar a relao de funes pr-definidas em cada
linguagem notar que alguns procedimentos no so contemplados como rotina.

Por exemplo, se eu sei o nome, 3 notas e total de faltas de um usurio, por meio de uma funo, em algumas
linguagens eu consigo calcular a mdia entre as duas notas mas no consigo encontrar o status do aluno.

No Fortran nem mesmo a mdia eu consigo retornar.

Nesta categoria de funo, eu posso subdividir em outros dois tipoa: Funo-definio e funo definida pelo
usurio.

A funo-definio utilizada quando o clculo envolvido equivale execuo de apenas uma expresso.
Por exemplo: Se eu quiser calcular a mdia entre duas notas eu posso montar um cdigo como descrito
abaixo:

Incio
Defina n1, n2, m real
media(x, y) (x + y) / 2
Leia n1, n2
m media(n1, n2)
Escreva n1, n2, m
Fim
A funo definida pelo usurio utilizada quando o clculo envolvido equivale execuo de uma sequncia
de comandos.
Por exemplo: Se eu quiser calcular a situao do aluno eu posso montar um cdigo como descrito abaixo:

Incio
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
Funo calcsit(x)
Defina x real
Defina calcsit caracter
Se x<4 Ento
calcsit reprovado
Seno
Se x<6 Ento
calcsit v.s.
Seno
calcsit aprovado
Fim-se
Fim-se
Fim-Funo

Você também pode gostar