27 – Lógica de Programação – Funções

Lógica de Programação – Funções

No tutorial anterior aprendemos o que são subrotinas e como usar Procedimentos em Lógica de Programação. Neste artigo continuar nosso estudo de subrotinas dando ênfase às Funções.

Uma função é uma subrotina que executa uma tarefa, como o procedimento, porém retornando um resultado ao chamador.

Podemos declarar uma função em português estruturado da seguinte forma:

funcao nome-da-funcao (parâmetros) : tipo_retorno
    Declarações Internas
inicio
    Comandos
fimfuncao

Instrução retorne

A instrução retorne finaliza a execução da função e retorna o valor resultante ao chamador. O controle é retornado ao ponto no qual o procedimento foi chamado.

Vamos ver um exemplo de criação de uma função.

Exemplo de Função

Vamos criar uma função de exemplo que calcule o cubo de um número fornecido pelo usuário:

funcao cubo(x:inteiro) : inteiro
     var resultado : inteiro
inicio
     resultado <- x * x * x
     retorne resultado
fimfuncao

Chamando a função

Vejamos agora como usar a função criada em um programa:

var
    n,res : inteiro

funcao cubo(x:inteiro) : inteiro
   var resultado : inteiro
inicio
   resultado <- x * x * x
   retorne resultado
fimfuncao
inicio
    escreval("Digite um número para calcular seu cubo:")
    leia(n)
    res <- cubo(n)
    escreval("O cubo calculado é ", res)
fimalgoritmo

Reaproveitando uma função

Vamos ver agora como podemos reaproveitar a função criada, efetuando diversas chamadas a ela para calcular os cubos dos números de 1 até 10.

Para isso criaremos um laço para e chamaremos a função dentro dele, 10 vezes.

var
   i,res : inteiro
funcao cubo(x:inteiro) : inteiro
   var resultado : inteiro
inicio
   resultado <- x * x * x
   retorne resultado
fimfuncao
inicio
   para i de 1 ate 10 faca
   res <- cubo(i)
   escreval("O cubo de ", i, " é ", res)
fimpara

Funções internas

A maioria das linguagens de programação possui diversas funções pré-programadas que podemos utilizar em nossos programas.

Veja alguns exemplos de funções matemáticas presentes no simulador VisualG:

Função Descrição
Abs (valor : real) : real Valor absoluto
Cos (valor : real) : real Cosseno
Exp (base, expoente) Exponenciação
Int (valor : real) : inteiro Converter valor em inteiro
Log (valor : real) : real Logaritmo base 10
Raizq (valor : real) : real Raiz quadrada

Exemplo de uso de funções pré-programadas

Calculando o log base 10 de um número qualquer – função log(). Veja que por se tratar de uma função interna, não é necessário declará-la (criá-la):

var
   logaritmo, numero : real
inicio
   escreval("Digite um número para calcular seu logaritmo:")
   leia(numero)
   logaritmo <- log(numero)
   escreval("O log do numero digitado é ", logaritmo)
fimalgoritmo

Boas práticas para uso de subrotinas

  • Familiarize-se com o conjunto de funções e procedimentos da linguagem que você usará
  • Separe as definições de funções e procedimentos no código por uma linha em branco
  • Procure não usar os mesmos nomes de argumentos que a subrotina usa e nomes de variáveis passadas à subrotina
  • Sempre escolha nomes de subrotinas e parâmetros que possuam significado condizente

É isso aí! Assista agora ao vídeo da Bóson Treinamentos para ver a explicação sobre Funções em Lógica de Programação:

 

Sobre Fábio dos Reis (1194 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

3 Comentários em 27 – Lógica de Programação – Funções

  1. Vai postar mais vídeos?
    Estou no aguardo =)

  2. preciso resolver esses dois algoritmos em visualg:

    Algoritmo 1: Faça um algoritmo que solicite a digitação da idade e do sexo de uma pessoa (o sexo deve ser F ou M) e depois pergunte se o usuário deseja informar uma nova pessoa. Esse processo deve se repetir até que o usuário informe que não deseja mais informar novas pessoas. Quando isso acontecer, o algoritmo deve imprimir na tela a quantidade de pessoas do sexo masculino informadas, a quantidade de pessoas do sexo feminino informadas, a média das idades informadas para pessoas de sexo masculino e a média das idades informadas para pessoas de sexo feminino.

    Algoritmo 2: Faça um algoritmo que fique em laço (repetição) solicitando a digitação do estado civil (S para solteiro, C para Casado, V para viúvo ou D para Divorciado) e da idade de pessoas. O algoritmo só deve parar de solicitar a digitação de dados de novas pessoas quando for informado um estado civil inválido (diferente de S, C, V e D) ou uma idade inválida (idade menor que 0). Quando isso acontecer, devem ser exibidas as quantidades de pessoas de cada estado civil e a respectiva média de idade de acordo com o estado civil. A condição de repetição deste laço é um pouco mais complexa, você deverá montar uma expressão lógica usando os operadores lógicos E ou OU.

    se puderem me ajudar …. desde ja obrigado

Escreva um comentário

Seu e-mail não será divulgado


*