Programação Portugol

O que é uma FUNÇÃO na programação (e como utilizar)?

Uma função nada mais é do que um “pedaço de código” construído fora do seu programa principal, onde você pode chamar esse “pedaço de código” e executá-lo dentro do seu programa principal.

Veja como seu programa principal ( função inicio() ), do Portugol Studido, pode chamar outras funções no exemplo abaixo:

Abra o Portugol Studio, se não tiver a ferramenta de programação instalada no seu computador, você pode acessar de forma online CLICANDO AQUI.

Quando você abrir um novo programa no Portugol, note que ele já abre com a função principal –“funcao inicio()” dessa forma:

Sempre que você executar seu programa, o sistema só executará as linhas de código que estiverem dentro da funcao inicio() entre as { }. Portanto, você deverá criar suas funções abaixo da funcao inicio() conforme exemplo abaixo:

Note que cada função possui abre { e fecha }, seu código de cada sub-programa ficará entre as chaves { }.

Escreva o código conforme exemplo e execute seu programa principal para ver o que acontece:

Executou seu código?

Legal né!

Note que o output do seu programa saiu exatamente o que você escreveu na função 2 e função 4.

Você sabia que podemos enviar parâmetros, ou seja valores definidos em variáveis, de uma função para outra, faça o exemplo abaixo e execute seu código novamente:

Perceba que o valor BANANA enviado como parâmetro na função 2 foi exibida em tela no final da função e o valor GOIABA enviado para a função 3, foi repassado para a função 4 e exibido também em tela.

Você já ouviu falar de variáveis globais? Então vocês conhecer também esse conceito:

Quais são as variáveis globais?

Variáveis Globais são aquelas declaradas no início do seu programa. São visíveis, ou seja, podem ser utilizadas no programa principal e por todos os outras subrotinas (funções). 

Note no exemplo abaixo que a variável global “var_global” foi declarada no inicio do programa, desta forma todas as funções conseguirão visualizar seu conteúdo.

Construa esse exemplo e execute para ver como funciona. Se você declarar sua variável dentro da funcao inicio() , não será possível a função 4 reconhecer o a variável global, seu programa irá dar um erro. Neste caso a variável criada dentro da funcao inicio() é considerada como variável local, apenas a função inicio irá reconhece-la.

Variáveis Locais são aquelas declaradas dentro da sua função e outra função não consegue reconhece-la.

No exemplo abaixo foi utilizado apenas variáveis locais, note que é possível enviar o parâmetro ano na função quantos_anos, onde o valor é processado e o valor calculado é retornado para a função funcao inicio()

Você sabia que pode utilizar diversas funções construida por outros programadores dentro do seu programa? Pois é, legal né?

Veja o exemplo abaixo, a biblioteca Util (um conjunto de funções) foi incorporado para dentro do seu programa, agora você conseguirá utilizar a função sorteia dentro do seu programa.

Vamos praticar? Monte seu código!

Agora que você está CRAQUE nos conceitos de FUNÇÃO, vamos testar seu conhecimento!

Copie o código do programa de votação e faça duas alterações:

Altere o menu principal incluindo uma nova opção para zerar o resultado da votação.

O menu ficaria algo do tipo:

Também inclua uma nova opção no menu de votação, inclua a opção 3 e não esqueça de colocar essa opção no Resultado da votação.

Boa sorte!

Abaixo o código do programa de votação.

programa {

  inteiro votos_bonito = 0
  inteiro votos_feio = 0
  cadeia nome

  funcao inicio() {

    escreva("Nome do participante: ")
    leia(nome)

    chama_menu()    
  
  }

  funcao chama_menu()
  {
    inteiro opcao
    escreva("\n Escolha Uma Opção:")
    escreva("\n 1 - Vote")
    escreva("\n 2 - Resultado da votação")
    escreva("\n Opção: ")
    
    leia(opcao)
    limpa()

    escolha(opcao)
    {
      caso 1:
      vote()
      pare
      caso 2:
      resultado_votacao()
      pare
      caso contrario:
      escreva("Opção Inválida!")
      chama_menu()
    }

  }

  funcao vote()
  {
    inteiro opcao
    escreva("\n Você acha o ", nome, " bonito? Vote:")
    escreva("\n 1 - Bonito(a)")
    escreva("\n 2 - Feio(a)")
    escreva("\n 3 - Retorne ao menu principal")  
    escreva("\n Opção: ")
    
    leia(opcao)
    limpa()

    escolha(opcao)
    {
      caso 1:
      votos_bonito = votos_bonito + 1
      vote()
      pare
      caso 2:
      votos_feio = votos_feio + 1
      vote()
      pare
      caso 3:
      chama_menu()
      pare
      caso contrario:
      escreva("Opção Inválida!")
      chama_menu()
    }

  }

  funcao resultado_votacao()
  {
    escreva("\n", votos_bonito, " pessoas votaram Bonito para o ", nome)
    escreva("\n", votos_feio, " pessoas votaram Feio para o ",nome)
  }


}

Se continuar praticando, você se tornará um grande programador, persista!

Até.