Nesta aula vamos aprender a criar nosso primeiro módulo de programa (procedimento, sub-rotina) com a passagem de parâmetros, um procedimento com parâmetro para imprimir na tela uma mensagem de boas vindas e o nome do usuário. Depois de criado, o procedimento pode ser utilizado diversas vezes sem a necessidade de rescrever código.
Em diversas situações nossos procedimentos / funções precisarão receber dados, informações para realizar alguma ação.
Imagine, por exemplo, que lemos o nome do usuário dentro do procedimento inicio e, na mensagem de boas vindas, desejamos imprimir também o nome do usuário. Há um problema aí. A variável que armazena o nome digitado pelo usuário está declarada dentro do procedimento inicio, logo, ela apenas “existe” ali dentro. Não é possível acessa-la dentro do procedimento menssagemBoasVindas.
Para resolver esse problema precisamos fazer o que é chamado de passagem de parâmetros, ou seja, precisamos passar para nosso procedimento o valor de alguma variável, neste caso, o nome do usuário.
Como fazer uma passagem de parâmetro?
A primeira alteração que precisamos fazer é na assinatura do nosso procedimento. A assinatura do procedimento é a primeira linha, que possui o nome seguido de um par de parênteses, como a seguir:
// Assinatura do procedimento mensagemBoasVindas funcao menssagemBoasVindas()
Perceba que o par de parênteses está vazio. É dentro desse par de parênteses que precisamos dizer o que nosso procedimento irá receber como parâmetro. Um procedimento / função pode receber vários parâmetros separados por vírgula. Para cada procedimento é necessário dizer o tipo e dar um nome, assim:
// Assinatura do procedimento mensagemBoasVindas funcao menssagemBoasVindas(cadeia nome)
Ao chamar nosso procedimento em inicio, agora precisamos passar o valor de uma variável do tipo cadeia. O computador irá copiar esse valor para uma região de memória que poderá ser acessado com o nome dado dentro do par de parênteses, assim:
funcao menssagemBoasVindas(cadeia nome){ escreva("\n\t-----------------------------------------\n") escreva("\t\t\tOlá ", nome,"\n\t Seja bem vindo ao nosso sistema!") escreva("\n\t-----------------------------------------\n\n") }
Para fazer a passagem de um parâmetro para nosso procedimento precisamos apenas informar, dentro do par de parênteses, o nome da variável cujo valor precisamos enviar. Perceba que é exatamente igual quando fazemos a leitura de valores a partir do teclado, informando o nome das variáveis onde será salvo os valores lidos (leia(variavelA, variavelB, variavelC)).
A seguir apresento o código em Portugol que utiliza nosso procedimento duas vezes. A primeira vez para o nome de usuário José e a segunda vez para o nome de usuário lido a partir do teclado.
programa{ funcao menssagemBoasVindas(cadeia nome){ escreva("\n\t-----------------------------------------\n") escreva("\t\t\tOlá ", nome,"\n\t Seja bem vindo ao nosso sistema!") escreva("\n\t-----------------------------------------\n\n") } funcao inicio(){ cadeia nome = "José" menssagemBoasVindas(nome) escreva("Digite seu nome: ") leia(nome) menssagemBoasVindas(nome) } }