De modo geral as linguagens de programação possibilita que se codifique trechos na forma de uma
função (ou um procedimento), podendo chamar esses trechos em qualquer ponto do código.
Isso possibilita uma melhor organização do programa, tornando-o mais modular.
O iVprog implementa essa possibilidade de modularização por meio de funções,
que comportam-se como as funções matemáticas.
Exemplo. Na figura 2 apresentamos um código definindo uma função de nome fatorial devolvendo um valor
inteiro (portanto função do tipo inteiro).
No programa que chama fatorial é solicitado que o
usuário digite um valor inteiro, então a função é invocada
para computar esse valor (imprimindo-o).
programa {funcao vazio inicio ( ) {inteiro n <- 0leia (n)escreva (fatorial(n), "\n") }funcao inteiro fatorial (inteiro pn) {inteiro fat <- 1inteiro i <- 2enquanto_verdadeiro (i <= pn) { fat <- fat * i i <- i + 1 }devolva fat } }