No Visual Cobra, rotinas são criadas com def. Quando não há retorno, usamos a função apenas para organizar tarefas (equivalente a procedimento).
# Declaração sem parênteses, pois não recebe dados de fora
def linha_decorativa():
escreva("--------------------------")
escreva("Cabeçalho do Sistema")
linha_decorativa() # Invocando sem parênteses
escreva("Bem-vindo!")
linha_decorativa()
# Esse recebe dados, logo, os parênteses são obrigatórios
def mostrar_erro(mensagem):
escreva("[ERRO DO SISTEMA]:", mensagem)
mostrar_erro("A conexão com a internet caiu.")
mostrar_erro("O disco rígido está cheio.")
Reutilizar uma mensagem sem duplicar comandos
Uma rotina agrupa comandos que serão executados quando você a chamar. A definição sozinha não mostra a mensagem; a chamada é que inicia o corpo. Um parâmetro permite variar o dado recebido sem copiar a rotina inteira. Neste caso, a função apenas escreve uma saudação e não precisa devolver um resultado explícito. Evite imprimir a própria chamada esperando uma segunda mensagem: o valor de retorno implícito é nulo.
Preserve a indentação dos blocos ao modificar este exemplo em Visual Cobra.
def saudar(nome):
escreva("Olá,", nome)
saudar("Ana")
saudar("Bia")
Resultado esperado e testes
Execute o exemplo sem fornecer entradas. A saída deve ser:
Olá, Ana Olá, Bia
Faça uma terceira chamada com outro nome: a definição não precisa mudar. Diferencie o parâmetro nome, usado dentro da função, dos valores Ana e Bia recebidos em chamadas distintas. Como exercício, crie uma rotina que receba uma mensagem e a mostre entre duas linhas separadoras. Confira quantas vezes a função foi chamada e quantas linhas cada chamada produz.
Depois, compare o raciocínio com a versão do mesmo assunto nas outras linguagens do menu.