Escolar Documentos
Profissional Documentos
Cultura Documentos
FUNÇÕES
Nesta aula, vamos aprender a criar funções (ou subrotinas), que consistem
numa porção de código que resolve um problema muito específico ou parte
de um problema maior. É como se pegássemos um pedaço do programa
e separássemos. Fazemos isso quando temos uma parte do programa
responsável por uma tarefa em particular. Podemos remover esse pedaço de
dentro da main (da função principal) e colocar dentro de uma função específica
que execute tal tarefa.
Cada função dentro do programa tem que ter um nome diferente. Não
é possível, portanto, criar duas funções calcula dentro do mesmo programa,
porque é através do nome da função que fazemos a chamada a ela. Se
tivéssemos várias funções com o mesmo nome, o programa não saberia qual
delas executar.
Em muitas linguagens, função é diferente de procedimento, porque as
funções retornam um valor (resultado) para o local de onde ela foi chamada, e
os procedimentos não retornam valores. Em C e C++ trabalhamos somente
com funções que podem ou não retornar algum valor. Portanto, em C e C++
“não existe” procedimento.
Em outras palavras, uma função é uma subrotina ou um conjunto de
instruções escritas para realizar uma tarefa específica
Vantagens em usar funções
Usamos funções porque elas deixam o código mais organizado e de fácil entendimento.
Podemos usar uma função para realizar rotinas que podem ser executadas mais de uma
vez, assim evitamos ter que escrever as mesmas instruções várias vezes.
Bons estudos!
Objetivos de aprendizagem
Ao término desta aula, vocês serão capazes de:
REGRA
1 – Chamada para função Se você não fizer a chamada para a função, seja em
2 – Função sem retorno qualquer parte do seu programa, ela não será executada
3 – Função com retorno
4 – Parâmetros de função Até aqui, vimos como é feita a chamada para a função;
agora vamos ver como criar uma função sem retorno.
REGRA
Depois do nome da função sempre há parênteses, mesmo que não
tenha nada dentro deles.
Fonte: criação nossa Vamos ver alguns exemplos de função sem retorno.
Veja na figura abaixo a tela de saída do programa FIGURA 3.3: CRIANDO UMA FUNÇÃO SEM
mostrado acima. RETORNO.
Fonte: criação nossa Veja a tela de saída deste programa na figura a seguir:
Veja que interessante a ordem em que as frases são
17
FIGURA 3.4: TELA DE SAÍDA DO PROGRAMA
REPRESENTADO PELA FIGURA 3.3. 3 - Função com retorno
Este tipo de função executa algo e retorna algum valor
para o chamador (local onde foi realizada a chamada para ela).
O tipo da função pode ser qualquer tipo reconhecido pela
linguagem, tanto os nativos a ela, como os tipos que criamos
(uma struct por exemplo).
Sintaxe:
tipo_de_retorno nome_função( )
{
Fonte: criação nossa
instrução_1; instrução_2; return valor;
}
No exemplo a seguir (figura 3.5), estamos criando um
programa que tem uma variável global (x), cujo valor 3 é Onde:
atribuído dentro da main. Feito isto é realizada a chamada para tipo_de_retorno -> indica que tipo de informação
a função calcula, que realiza um cálculo sobre essa variável. a função irá retornar para o seu chamador. Todos os tipos
Qual o valor que será impresso na linha 11? Veja a resposta presentes em C são possíveis de serem retornados, até mesmo
na figura 3.6. uma struct que pode ser criada no programa, é um tipo de
retorno aceito para uma função.
FIGURA 3.5: CRIANDO A FUNÇÃO, SEM RETORNO, nome_função() -> diz respeito ao nome que é dado a
CALCULA(). ela ( ) -> toda função, em C, tem que ter parênteses depois do
seu nome.
return valor -> esta instrução é responsável por enviar
para o chamador, um valor que pode ser gerado dentro da
função. Valor é o valor que está sendo retornado, podendo
ser uma constante ou uma variável, e tem que ser do mesmo
tipo da função.
REGRA
O valor retornado pela função TEM que ser do mesmo tipo definido para
a função.
FIGURA 3.8: TELA DE SAÍDA DO PROGRAMA Vamos ver agora um exemplo em que uma constante
REPRESENTADO PELA FIGURA 3.7. é retornada. A constante é do tipo float, portanto o tipo da
função também tem que ser float, e a variável que vai receber
este retorno também deve ser float.
4 - Parâmetros de função
Em alguns casos, necessitamos enviar valores de
uma função para outra. Isso é possível quando utilizamos
19
parâmetros. Parâmetros são constantes ou variáveis que FIGURA 3.14: TELA DE SAÍDA DO PROGRAMA
quando a função recebe, pode manipulá-los como se fossem REPRESENTADO PELA FIGURA 3.13.
variáveis locais.
Quando criamos funções que aceitam parâmetros,
precisamos ter, na declaração dela e na sua chamada, o
mesmo número de parâmetros, e eles precisam ser do mesmo
tipo.
a) Parâmetros por valor - com cópia
Segundo Deitel (2006):
Sintaxe:
tipo_funcao nome_funcao(tipo *param_1, tipo
*param_2, *tipo param_3)
Fonte: criação nossa
Onde:
tipo_funcao -> diz respeito ao tipo de retorno da Até agora vimos como passar variáveis com cópia e
função. ponteiros para a função. Agora, vamos ver como enviar
nome_funcao -> é o nome da função, utilizado para se vetores para serem manipulados dentro dela.
referir a ela no decorrer do programa.
tipo -> é o tipo do parâmetro, sendo aceitos todos os c) Vetores como parâmetros
tipos nativos na linguagem C, e os tipos definidos por structs. Sabemos que vetores são estruturas diferentes de
param_1 -> é o nome do parâmetro, utilizado para variáveis, principalmente por sua formação. Vetores como
se referir a ele dentro da função. Observe que o nome do parâmetros também o são, visto que uma vez alterado dentro
parâmetro é precedido por asterisco, que indica que o da função, essa alteração será permanente, então não temos
parâmetro param_1 é um ponteiro para uma variável (que como enviar uma cópia do vetor para a função, ele sempre
consta na chamada da função). Assim que esta instrução for será enviado por referência.
executada, param_1 vai receber o endereço da variável que
consta na chamada na função e não o seu valor. Exemplo: Criar um programa que tenha um vetor de
cinco elementos de inteiros. O programa deverá ter uma
Exemplo: Criar um programa que tenha uma função função que calcule o quadrado de cada um dos valores do
sem retorno, que recebe um número inteiro como parâmetro, vetor.
e soma dez ao valor dele. O valor final deve ser exibido dentro
da função main. FIGURA 3.19: CRIANDO UMA FUNÇÃO COM VETOR
COMO PARÂMETRO
FIGURA 3.17: CRIANDO UMA FUNÇÃO COM
PARÂMETROS POR REFERÊNCIA
• http://www.inf.pucrs.br/~pinho/LaproI/Funcoes/
AulaDeFuncoes.ht
Autoavaliação
Fonte: criação nossa
Veja se aprendeu a Aula 03 respondendo o questionário autoavaliativo.
Depois confira o resultado das respostas, disponível na ferramenta
Arquivos da plataforma.
Retomando a aula
1. Criamos função para que seja possível organizar
melhor o programa.
( ) Verdadeiro ( ) Falso
Vamos relembrar um pouco do que vimos na aula 3?