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.
Download

Função