08 julho 2017

Aula 1.12: Funções #LTCode

Este artigo faz parte do projeto #LTCode

Agora vamos aprender sobre funções! A grande diferença de funções para procedimentos, é que ela pode retorna um resultado. Confira abaixo uma imagem que ilustra a diferença entre procedimento e função:
Bom, as alterações no código acima ocorreram apenas onde está marcado por um retângulo laranja. 

Em 1 e 2 (números vermelhos desenhados na imagem) é informado se é procedimento ou função, em 3 está escrito 'inteiro' pois informa o tipo de retorno dessa função e em 4 foi escrito o comando 'retorne' para que o valor da variável 'c' da função seja retornado para o programa principal - coisa que não acontece com procedimento, repare que no procedimento o 'escreval' (5) está dentro dele enquanto que na função o 'escreval' (6) está no programa principal. 

Ao contrário do procedimento em que (7) soma não retorna valor, na função (8) o resultado da soma é retornado para uma variável 'r' como podem ver no ponto 8 sendo assim necessário no ponto 6 que tenha um 'escreval' para mostrar ao usuário o resultado.

Entendeu? Olhe o código abaixo:

Algoritmo "par-ou-impar"
Var
    n : Inteiro
Procedimento parouimpar(valor: Inteiro) //'valor' vai receber o valor de 'n'
Inicio //inicio do procedimento
    Se (valor%2 = 0entao //confere se o resto da divisão de 'valor' por 2 é zero
        Escreval ("O número", valor, " é par")
    Senao
        Escreval ("O número", valor, " é ímpar")
    fimse
fimprocedimento //fim do procedimento
Inicio
    Escreva  ("Digite um número: ")
    Leia (n)
    parouimpar(n) //chamada para o procedimento   
Fimalgoritmo

É um procedimento! Vamos então alterar para função! 

Em Var vamos adicionar mais uma variável do tipo caractere para informar se o número é par ou impar:

Var
    n : Inteiro
    r : caractere

Agora vamos inciar a função, informando claro que ela vai retornar um valor do tipo caractere:

Funcao parouimpar(valor: Inteiro) : caractere //'valor' vai receber o valor de 'n'

Bom, dentro do inicio da nossa função, vamos apenas criar como o próprio nome diz uma função para descobrir se o número é par ou impar mas com uma diferença do procedimento: ela vai retornar o resultado para a parte principal do programa - isso é bom pois podemos reutilizar o código.

    Se (valor%2 = 0entao //confere se o resto da divisão de 'valor' por 2 é zero
        retorne "par"
    Senao
        retorne "impar"
    fimse

Agora na parte principal do programa, precisamos informar a variável que será usada para retornar o valor da função - no caso é 'r'.

r <- parouimpar(n)

E por fim damos a mensagem para nosso usuário saber se o número é par ou impar:

Escreval ("O número é", n, " é ", r)

Confira como ficou o código abaixo:

Pronto, você aprendeu como criar uma função! No 'procedimento' era possível fazer passagem de valor por parâmetros ou referencias, isso também é possível nas funções. No código da imagem acima foi utilizado passagem por parâmetro, agora confira a imagem abaixo uma passagem por referência:
A maioria das linguagens de programação vem com funções já pré-definidas, bastando você apenas chamar ela. No visualg existe também essas funções já pré-definidas, confira algumas:

Sendo 'n' nossa variável do tipo caractere: 
Maiusc(n) vai retornar o que tiver escrito mas com todas letras em maiúsculo.
Minusc(n) vai retornar o que tiver escrito mas com todas letras em minusculo.
Compr(n) vai retornar o total de caracteres.

Asc("a") vai retorna o código da letra A, assim como Asc("b") retorna o da letra B.
Carac(65) vai retornar a letra correspondente ao código 65.

É isso, recomendo praticar.. inventar programas e resolver seus bugs.. afinal é assim que se aprende, até mais!

>> Próxima aula, clique aqui



~ Dica: Aulas de programação grátis >>clicando aqui<<

Related Posts Plugin for WordPress, Blogger...