17.01.2013 Views

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ComPort <strong>–</strong> <strong>Compilador</strong> <strong>Portugol</strong><br />

As funções obedecem todas as regras e possuem todas as propriedades<br />

dos procedimentos. O que diferencia uma função é sua capacidade de retornar um<br />

valor. O valor a ser retornado deve ser atribuído a um identificador, com o mesmo<br />

nome e tipo da função de seu tipo de retorno, antes do fimfunção. Observar que<br />

esta atribuição não força o retorno, o que só ocorre ao executarmos o fimfunção.<br />

Exemplo:<br />

função calculaB( i numérico<br />

j literal<br />

k lógico<br />

) numérico<br />

<br />

calculaB:=r<br />

fimfunção<br />

2.11. MÓDULOS<br />

Os módulos iniciam com a palavra módulo seguida do nome e terminam<br />

com fimmodulo. Este nome deve ser utilizado na hora de importar o módulo no<br />

programa principal ou em outro módulo, através da cláusula importe.<br />

As variáveis declaradas dentro do módulo, mas fora de funções e<br />

procedimentos são globais ao módulo, podendo ser acessadas de fora se utilizando<br />

o nome do módulo seguido de ponto e nome da variável. Não é permitida a<br />

repetição de nomes de módulos ou a re-declaração destes na forma de variável.<br />

2.12. FUNÇÕES PRÉ-DEFINIDAS<br />

Tabela 8 - Funções pré-definidas<br />

Formato Função<br />

inteiro(x numérico) numérico Retorna a parte inteira de um número.<br />

tamanho(y literal) numérico Retorna o tamanho em caracteres de uma<br />

variável literal. 0 caso esteja vazia.<br />

ordem(x literal) numérico Retorna o valor correspondente ao primeiro<br />

caractere da seqüência passada na tabela<br />

39

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!