Olá, fiz umas adaptações em duas apostiladas e professores doutores para passar uma ideia geral sobre as sub rotinas que sao os procedimentos e as funções...
Definição
Um conceito simples seria:
Subrotina é um parcela de código computacional que executa uma tarefa bem definida, sendo que essa tarefa pode ser executada (chamada) diversas vezes num mesmo programa.
Motivação para criação:
A aplicação das subrotinas surgiu da necessidade de dividir um problema computacional em pequenas partes.
Os programadores verificaram que muitas destas pequenas partes se repetiam. Assim pensaram em implementá-las apenas uma vez e fazer várias chamadas ao código.
Ex.: Impressão de mensagens, zerar um vetor, fazer uma operação matricial, etc
Utilização de subrotinas
Deve-se usar subrotinas sempre que objetiva-se:
Utilizar uma parte do código em várias partes do programa;
Vários programas irão utilizar os mesmos códigos (bibliotecas);
Abstrair a complexidade e facilitar o entendimento do programa.
Utilização de subrotinas
Facilita a programação estruturada:
dada as fases previstas nos refinamentos sucessivos decompõe-se o programa em módulos funcionais
tais módulos podem ser organizados/programados como subrotinas.
Ou seja: viabiliza a modularização.
Características das subrotinas
Executam uma tarefa bem definida
Não funcionam sozinhas: devem ser chamadas por um programa principal ou por outra subrotina
Facilita a legibilidade do código através da:
◦ estruturação (subrotinas são agrupadas fora do programa principal)
◦ enxugamento (através de diversas chamadas da mesma subrotina)
Permite a criação de variáveis próprias e a manipulação de variáveis externas (devidamente parametrizadas) .
Tipos de subrotinas
Existem dois tipos de subrotinas:
Procedimentos: não retornam nenhum valor. São usadas para realizar alguma operação que não gera dados.
Funções: retornam valor. São utilizadas para realizar uma operação e retornam alguma resposta relativa à operação realizada.
Procedimento - forma geral
A sintaxe de declaração de um procedimento é:
procedimento <nome do procedimento>(<parâmetros ou não>)var<declaração de variáveis locais>inicio<comandos procedimento>fimprocedimento
Função - forma geral
A sintaxe de declaração de uma função é:
funcao <nome da funcao>([var]<parâmetros>) <tipo de retorno>var<declaração de variaveis locais>inicio<lista de comandos>retorne <variavel de retorno>fimfuncao
Passagem de parâmetros por referência: utiliza-se a construção VAR antes dos identificadores para indicar a passagem por referência. Os identificadores são separados por vírgula.
Parâmetros: Entre um mesmo tipo de dados usa-se a separação por vírgula. Entre tipos de dados a separação é feita com ponto-e-vírgulas ';'.
Tipo de retorno da função: Real, Inteiro, Lógico ou Caractere.
Declaração de variáveis locais: idêntica à declaração de variáveis globais. As variáveis declaradas localmente tem validade dentro do escopo da função
Retorne: local onde é colocado a variável de retorno.
EXEMPLOS:
Procedimento:
PROCEDIMENTO Troca(var x, y : inteiro)
var
Aux: inteiro
INICIO
aux < -x
x<-y
y<-Aux
FIMPROCEDIMENTO
Função:
FUNCAO FSoma(Recebe_valor1, Recebe_valor2: Real): Real
vartotal: realiniciototal<-Recebe_valor1 + Recebe_valor2retorne totalfimfuncao
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Créditos:
Helen
Helena
Codding4Life