Aula 1.12: Funções #LTCode

COMPARTILHAR:

Whatsapp Telegram Twitter Facebook Reddit

Aula 1.12 - Funções, parâmetros e referências

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

COMENTÁRIOS

Nome

#ann,25,#HK,30,#LTCode,126,Artigo - Diversos,156,Artigo - Games,200,Artigo - Tecnologia,597,autor-thomaz,7,Coluna - Alternative World,24,Coluna - Fail,12,Coluna - Tec Line,14,Criptomoeda,71,Curiosidades - Diversos,49,Curiosidades - Tecnologia,50,en,2,estudo,8,HN,12,logica,14,Pentest,23,Programar C,29,Programar POO,6,Programar Python,6,Programar Shell,21,Programar verilog,12,Raspberry Pi,15,Redes,3,root,100,Shorty Awards,1,Smartphones - Reviews,33,Teoria,10,Top Nostalgia,2,VPN,18,WhatsApp,46,
ltr
item
Limon Tec: Aula 1.12: Funções #LTCode
Aula 1.12: Funções #LTCode
Aula 1.12 - Funções, parâmetros e referências
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmI65og5X32bSLCmBz3uJnZlmDvzOFWZWoZzyvUhh2rtp8Hr_kolKy02pOjxpkThrz8uHaTu3skUdeDJlkFEKkC2a9EabpwPzbwJ-hm-po0QIaNeNvYm5CJw3k4SbN03V-d2h1dxrW2tz4/s640/ltcode.jpg
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmI65og5X32bSLCmBz3uJnZlmDvzOFWZWoZzyvUhh2rtp8Hr_kolKy02pOjxpkThrz8uHaTu3skUdeDJlkFEKkC2a9EabpwPzbwJ-hm-po0QIaNeNvYm5CJw3k4SbN03V-d2h1dxrW2tz4/s72-c/ltcode.jpg
Limon Tec
https://www.limontec.com/2017/07/aula-1-12-logica-de-programacao-ltcode.html
https://www.limontec.com/
https://www.limontec.com/
https://www.limontec.com/2017/07/aula-1-12-logica-de-programacao-ltcode.html
false
2157924926610706248
UTF-8
Carregar todos posts Não encontramos nenhum post VER TUDO Ler mais Responder Cancelar resposta Deletar Por Home PÁGINAS POSTS Ver tudo RECOMENDADO PARA VOCÊ LABEL ARQUIVO SEARCH TODOS POSTS Não encontramos nenhum post relacionado a sua requisição VOLTAR PÁGINA INICIAL Domingo Segunda Terça Quarta Quinta Sexta Sábado Dom Seg Ter Qua Qui Sex Sab Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro Jan Fev Mar Abr Maio Jun Jul Ago Set Out Nov Dez apenas agora 1 minuto atrás $$1$$ minutes ago 1 hora atrás $$1$$ hours ago Ontem $$1$$ days ago $$1$$ weeks ago mais de 5 semanas atrás Seguidores Seguir ESTE CONTEÚDO ESTÁ BLOQUEADO PASSO 1: Compartilhe com seus amigos PASSO 2: Clique no link compartilhado Copiar Todo Código Selecionar Todo Código Todos códigos foram copiados para seu clipboard Não é possível copiar códigos / textos, por favor aperte [CTRL]+[C] (ou CMD+C no Mac) para copiar Tabela de conteúdo