Aula prática 3
•
•
Aprofundando em Funções
Parâmetros de uma função
Uso do return
Execução
Variáveis
Global, local e estática
Monitoria de Introdução à Programação
Função (incentivo)
Semelhantes a funções matemáticas (não iguais)
Conjunto de operações realizadas para obter um
resultado
f y :. Dada uma função f obter y
Podem possuir parâmetros; ex: f(x, y, z) | x, y, z
parâmetros
Função
Conjunto de instruções que é chamado pelo
programa principal ou alguma outra função
Podem retornar ou não um valor
Estrutura de uma função Parâmetro(s)
Tipo retornado
Nome da função
float elevar3(float x)
{
float resultado;
resultado= x * x * x;
return resultado;
}
Conjunto de instruções
Função: parâmetros
Digamos a seguinte função matemática z= x² + y,
logo z= f(x, y); o resultado de z depende de dois
parâmetros x e y
Do mesmo jeito em c, existem parâmetros nas
funções
Esses parâmetros receberão valores com o qual
gerará a saída, com o uso correto
Na função elevar3(float x), temos como parâmetro o x
que possui valor float
Função
Pode retornar um int, float, char, por exemplo,
dentre outros diversos
Temos um tipo void, grosseiramente falando, quer
dizer “vazio”, ou “retornar um vazio” no contexto
de funções. O conceito se abrange um pouco mais
Reforçando!!! Como qualquer outra função pode possuir parâmetros
que isso
void menu()
{
printf(“1. Salvar\n”);
printf(“2. Abrir\n”);
printf(“3. Sair\n”);
}
Função: return
No slide 3 pode-se notar o uso da palavra return
float elevar3(float x)
{
float resultado;
resultado= x * x * x;
return resultado;
}
O return serve para dizer ao programa qual valor a ser
retornado, se necessário, pela função
No caso da função void, pode-se emitir o uso do return
Função: return
O que acontece quando é chamado?
Assim que é chamado a função termina e retorna ao
programa que o chamou, com o valor definido ou não
de retorno
int maior(int n1, int n2)
Se n1 for maior que n2 então retorna n1
como resultado, função acaba aqui.
{
if (n1 > n2) return n1;
return n2;
}
Função: execução
A primeira função a ser executada em qualquer
programa em C é a main.
No entanto, quando ocorre a chamada para
fazAlgumaCoisaComAVariavel, a execução da
main é "pausada", e passa-se a executar o código
da função chamada.
int main() {
int variavel;
printf("Entre com o valor da variavel:\n");
scanf("%d",&variavel);
fazAlgumaCoisaComAVariavel(variavel);
return 0;
}
Função: execução
void fazAlgumaCoisaComAVariavel(int var)
{
int variavelDeControle;
variavelDeControle = VerificaAlgumaCoisaSobreAVariavel(var);
if(variavelDeControle == 1) //faz alguma coisa
else //faz outra coisa
}
Novamente, quando encontramos a chamada a
uma função, pausamos a execução da outra, e só
voltamos quando chegamos ao fim da que
chamamos. Isso se chama a pilha de execução.
Cada vez que encontramos uma chamada a uma
função, executa-se o código dessa função até o
fim ou até encontrarmos outra chamada de
função. Dessa forma, a primeira função chamada
será a ultima a chegar ao seu fim.
Escopo
O escopo de uma variável é o conjunto de locais
onde ela pode ser acessada.
As variáveis e funções só podem ser acessadas
dentro da função onde foram declaradas.
– Variáveis declaradas dentro de funções são chamadas
de variáveis locais.
– Variáveis declaradas fora de todas as funções (inclusive
da main) são chamadas de variáveis globais e podem
ser referenciadas em todo o programa.
Escopo
Variáveis globais numéricas têm como padrão
serem inicializadas com 0 (ou seja, quando não
inicializadas explicitamente pelo programador)
Há a possibilidade de se usar o mesmo nome para
uma variável global e uma local.
– Quando uma variável é chamada num lugar onde os
dois escopos são visíveis, o programa dará preferência
à variável local.
Escopo
Lembre-se de que quando uma função chega ao
final, as variáveis nela declaradas deixam de
existir.
As variáveis declaradas dentro de funções podem
ainda vir com o modificador static. Com ele, a
variável é criada apenas uma vez, e volta a ser
usada em todas as outras execuções da função.
int funcao()
{
static int num = 2;
num = num * 2;
return num;
}
DÚVIDAS?
Exercício 1
Desenvolva um programa que analisa os
coeficientes recebidos A, B, C de uma equação do
segundo grau (faça uma função para isso) e que
informa ao usuário quantas soluções possui.
Também calcule a(s) raiz(es) (outra função), e as
informe, caso ela(s) exista(m).
Exercício 2
Faça um programa que receba o tamanho do raio
de um círculo em metros. Deve haver um menu
para o usuário escolher entre calcular a área ou
calcular o comprimento da circunferência e uma
função para cada opção. No fim, mostre a
resposta do cálculo.
– Obs.: Considere pi=3,14.
Exercício 3
Faça duas funções que recebam as coordenadas x
e y de dois pontos de uma reta. Uma função deve
imprimir as coordenadas x e y do ponto médio e a
outra calcular o coeficiente angular da reta.