110 likes | 234 Views
Aula 6. Subprogramas - Funções e Sub-rotinas Seqüência de instruções compreendida entre uma declaração identificadora do subprograma e o comando END e que fazem parte de um programa. Tanto o programa principal como os subprograma são ditos unidades de programas.
E N D
Aula 6 • Subprogramas - Funções e Sub-rotinas • Seqüência de instruções compreendida entre uma declaração identificadora do subprograma e o comando END e que fazem parte de um programa. • Tanto o programa principal como os subprograma são ditos unidades de programas. • As unidades de programa podem ser compiladas independentemente • Os subprogramas só podem ser executados a partir de um programa principal.
Funções • Um tipo de subprograma que retorna um valor. • As funções devem combinar em tipo com as variáveis com as quais será associada. • Funções Intrínsecas: Predefinidas dentro da estrutura da linguagem (sin, cos, sqrt, etc) • Funções definidas pelo usuário: Funções criadas pelos usuários. • [<Tipo da Função>] FUNCTION <Nome> [(argumentos)] • Declarações de variáveis • Comandos executáveis • Comando de atribuição do resultado • [Return] • END [FUNCTION] [<Nome>]
Sub-rotinas • Podem conter quaisquer tipos de comandos. • Podem retornar nenhum, um, ou mais valores. • Sub-rotinas Intrínsecas: Predefinidas dentro da estrutura da linguagem (call exit) • Sub-rotinas definidas pelo usuário: Criadas pelos usuários. • SUBROUTINE <Nome> [(argumentos)] • Declarações de variáveis • Comandos executáveis • [Return] • END [SUBROUTINE] [<Nome>]
O comando COMMON • Bloco de memória comum. Usado para transferir valores entre unidades de programas. • Sintaxe: • COMMON [/ [ r1 ] /] <lista1> [/ [ r2 ] / <lista2>] ... • r: rótulo do bloco COMMON. Poder “branco”. Se o primeiro for “branco” o par de barras pode ser suprimido. O nome do rótulo não pode coincidir com o nome de uma unidade de programa. • lista1, lista2: listas de variáveis • Variáveis especificadas no COMMON compartilham posição de memória em comum entre subprogramas. • A lista de variáveis num COMMON pode ser diferente entre unidades de programas. • Em uma unidade de programa pode-se ter apenas um bloco COMMON não rotulado, entretanto pode-se ter vários rotulados.
Comando CALL Usado para chamar a execução de uma sub-rotina. Sintaxe: CALL <nome da sub-rotina> [(a,b,...)]
O comando INCLUDE • Inclui declarações, atribuições e comandos em uma unidade de programa. • Sintaxe: • INCLUDE ‘nome.ext’ ou INCLUDE “nome.ext” • É permitido o uso de caminhos completos no lugar de nome.ext • nome.ext pode ter qualquer extensão (.inc é mais comum). • Permite que linhas de programas, comuns a várias unidades de programa, sejam agrupadas em um único arquivo que será incluído quando necessário. • As instruções no arquivo “nome.inc” são interpretadas como parte do programa e por isso devem seguir as mesmas regras do programa.