aula 105

Como criar uma função sem parâmetro em Portugol?

Nesta aula vamos aprender a criar nossa primeira função sem nenhum parâmetro, para ler e retornar o nome do usuário. A diferença entre uma função e um procedimento é que, enquanto um procedimento executa uma sequência de código e finaliza sem nenhum retorno, uma função também executa uma sequência de código, contudo, retornando algum valor ao final.

Continuando o código da aula anterior, vamos agora escrever uma função para pedir ao usuário seu nome, ler o nome digitado e retornar.

A pergunta que mais escuto nas aulas é: retorna pra onde?

Retorna exatamente para onde foi feita a chamada à nossa função.

O processo de construção da nossa função é bem parecido com um procedimento, porém na função temos que indicar o tipo de retorno, neste caso tipo cadeia. A assinatura da nossa função fica assim:

// Assinatura da função lerNome
funcao cadeia lerNome()

Temos a palavra reservada “funcao“, o tipo de retorno “cadeia“, o nome da nossa função “lerNome” e o par de parênteses, neste caso vazio porque não precisamos receber nenhum parâmetro.

Dentro da nossa função vamos criar uma variável do tipo cadeia, pedir para o usuário digitar seu nome, fazer a leitura do que for digitado salvando na variável do tipo cadeia e, por fim, retornar o conteúdo da variável.

	funcao cadeia lerNome(){
		cadeia nome = ""
		escreva("\n\tDigite seu nome: ", nome)
		leia(nome)
		retorne nome
	}

Perceba que existem basicamente duas diferentes entre uma função e procedimento:

  • indicar, após a palavra reservada funcao, o tipo de retorno da nossa função e,
  • a última linha com um retorne, retornando algum valor.

A seguir apresento o código completo em portugol. Dentro do procedimento início utilizamos nossa função lerNome, como é uma função e irá retornar um elemento do tipo cadeia, atribuímos o retorno à uma variável também do tipo cadeia. Por fim, utilizamos o procedimento para imprimir uma mensagem de boas vindas e o nome do usuário.

programa{

	funcao cadeia lerNome(){
		cadeia nome = ""
		escreva("\n\tDigite seu nome: ", nome)
		leia(nome)
		retorne nome
	}

	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é"
		nome = lerNome()
		menssagemBoasVindas(nome)
	}
}

Deixe um comentário

9 + 16 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.