1. Módulo 5:
Funções
•UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
•CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA
•DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO
•Professor Ulrich Schiel
2. Funções
→ Sejam S e T conjuntos. Uma função (ou aplicação) f de S em
T, f : S→T, é um subconjunto de SxT onde cada elemento de
S aparece exatamente uma vez como primeiro elemento de
um par ordenado.
→ Ou seja, uma função é uma relação muitos-para-um fraca.
→ S é o domínio e T é o contradomínio da função.
→ Se (s,t) pertence à função, escrevemos f(s) = t.
→ t é a imagem de s por f e dizemos que f leva s em t.
→ s é a pré-imagem de t por f. A pré-imagem pode ser um
conjunto. Escrevemos f-1
(t) = {s1, s2,.., sn}
f
s
f(s)=t
S T
3. Exemplos
Quais itens abaixo definem funções do domínio no contradomínio
dados:
1. f : S →T, onde S = T = {1,2,3}
f = {(1,1), (2,3), (3,1), (2,1)}
1. g : Z → Z, onde g é definida como: g(x) = |x|;
2. r: R → R, onde r é definida como: r(x) = √(x);
3. h : N → N, onde h é definida por: h(x) = x – 4;
4. g : N → N, onde g é definida por:
g(x) = x+3 se x≥5 e g(x) = x se x≤5.
4. Funções bem definidas
• Seja f : S → T, uma função.
• Dados A ⊆ S e B ⊆ T, podemos definir
• g:A → T como g(x) = f(x), é a restrição de f a
A.
• Se g(x) ∈ B, para todo x ∈ A, dizemos que g é
uma função bem definida em B.
• Em outras palavras uma função f : S → T é
bem definida quando para todo x ∈ A existe
um único y ∈ T, tal que f(x) = y.
5. Exemplos
Determinar se são bem definidas e encontrar o domínio e o
contradomínio das funções:
1. associa a cada habitante de Recife o seu CPF; E o inverso?
2. Relação entre pessoas e suas idades.
3. Distância entre dois pontos no espaço, dada por
D(x,y) = √[(x2-x1)2
+ (y2-y1)2
]
6. Funções n-árias
• Sejam S1, S2, ..., Sn conjuntos. Uma função de
S1xS2x...xSn em T, f : S1xS2x...xSn → T, é um
subconjunto de S1xS2x...xSnxT onde cada n-upla de
elementos de S, (s1,s2,...,sn), está associada a um
único elemento de T.
• Ex.: f: NxN → N , onde f é dada por:
f(x,y) = x+1/2.(x+y).(x+y+1). (cilindro parabólico)
• f: RxR → R dada por f(x,y) = x
7. Propriedade da funções
→Seja f: S → T. Então, o conjunto I = {f(s) : s ∈S},
ou I = f(S), é dito ser o conjunto imagem de f, ou
simplesmente a imagem de f.
• I ⊆T.
• Função sobrejetiva
→Uma função f : S → T é uma função sobrejetiva se a
imagem de f, f(S), é igual ao contradomínio de f, ou
seja, f(S) = I = T.
• Ex.: seja g : R → R definida por g(x) = x3
. G é
sobrejetiva. E g(x) = x2
?
8. Propriedade das funções
• Função injetiva
→Uma função f : S → T é injetiva, ou um-a-um, se
nenhum elemento de T for imagem de dois
elementos distintos de S, ou seja, não existe s1≠ s2
tal que f(s1) = f(s2) = t.
• Ex1: A função g : R → R definida por g(x) = x3
é
injetiva porque se x e y com x3
= y3
e, como a raiz
cúbica de um real é única, temos x = y.
• Ex2: A função f : R → R dada por f(x) = x2
não é
injetiva pois f(2) = f(-2) = 4.
• No entanto, a função h: N → N dada por h(x) = x2
é
injetiva.
9. Propriedade das funções
→Uma função f: S → T é bijetiva se for ao mesmo
tempo injetiva e sobrejetiva.
• Ex.: A função g: R → R definida por g(x) = x3
é uma
bijeção.
10. Conjuntos equivalentes (eqüinúmeros)
→Um conjunto S é equivalente (ou eqüinúmero) a um
conjunto T se, e somente se, existir uma bijeção
f : S → T.
→ Toda bijeção f : S → T possui uma função inversa
g: T → S, tal que g(t) = s sss f(s) = t. Escrevemos
g como f-1
: T → S
→Dois conjuntos equivalentes têm a mesma
cardinalidade.
• Ex.: N e P (conjunto dos pares)
• g : N →P definida por g(x) = 2x.
• Então, |N| = |P|.
11. Composição de funções
• Suponha que f e g são funções tais que:
f : S → T e g : T → U
• Então, para qualquer s ∈S, f(s) ∈T.
• Assim, f(s) pertence ao domínio de g.
• Então, aplicando g a f(s), obtemos g(f(s)) ∈ U.
f g
s
f(s)
g(f(s))
S T U
12. Composição de funções
→Seja f : S → T e g : T → U. Então, a composição de f
com g é uma função (função composta) de S em U,
denotada por g ° f, ou seja, g ° f : S → U, e definida
por: g° f (s) = g(f(s)).
s
f(s)
g(f(s))
S T U
f g
g ° f
13. Exemplo
• Sejam f : N → N e g : N → N funções dadas por:
- f(x) = 2.x
- g(x) = x.x
• g° f = ?
• f° g = ?
• Quais são sobrejetivas e/ou injetivas?
• E se mudarmos N para Z?
14. Propriedades da composição
1. Sejam f : S → T e g : T → U funções sobrejetivas.
Então, g° f é sobrejetiva.
2. Sejam f : S → T e g : T → U funções injetivas.
Então, g° f é injetiva.
3. Sejam f : S → T e g : T → U funções bijetoras.
Então, g° f é bijetora.
15. Função Identidade
→ Seja A um conjunto. A função iA : A → A tal que iA(x) = x, para todo
x ∈ A, é dita ser a função identidade em A.
• Seja f : S → T uma bijeção.
• para cada t ∈T existe um s∈S tal que f(s) = t.
• Esta associação é uma função g : T → S que é a inversa de f, ou
seja f-1
:T → S
• Então, se s ∈S, g° f (s) = g(f(s)) = g(t) = f-1
(t) = s.
• Ou seja, g° f é uma função identidade.
• Logo, g° f = iS.
16. Função Inversa
→Seja f uma função f : S → T . Se existir um função
g : T → S tal que g ° f = iS e f ° g = iT , então g é a
função inversa de f e é denotada por f-1
.
• Teorema: Seja f : S → T . Então f é uma bijeção se, e
somente se, f-1
existe.
• Propriedade:
• Seja f : S → T . Se f tem inversa f-1
então ela é única.
17. Gráfico de uma função
→ Para funções entre subconjuntos de R pode-se
determinar o seu gráfico.
• EXEMPLOS:
– Seja f : R → R com f(x) = x2
18. Gráfico de uma função
→EXEMPLOS:
– Seja f : R → R com f(x) = x3
19. Gráfico de uma função
→ EXEMPLOS:
– Seja f : R → R com f(x) = sen2
(x)
20. Gráfico de uma função
→ EXEMPLOS:
– Funções piso x e teto x
21. Gráfico de uma função
→ Como obter o gráfico de uma função:
→ Analisar o grau e outras características da função
– Exemplo: f(x) = 2x3
- x
• Calcular f(0), f(1), f(-1), f(1/2), f(-1/2)
– F(x) = sen2
(x)
• Calcular sen(0), sen(π), sen(- π), sen(π/2)
24. Exercícios em sala
Seja L = {a,b,c,..,z} o conjunto das letras do alfabeto. Defina
1. Uma função V: L→L tal que V(x) é a última vogal no alfabeto
antes de x. Se x é uma vogal temos V(x)=x}.
2. Seja k uma função de criptografia determinada por V tal que, para
uma letra ‘x’ k(x)=(V(x),n) sendo n a distância de y a x no
alfabeto. Por exemplo k(‘Ana’)=a0i5a0.
1. Encontre o código de teu primeiro nome.
2. Decodifique ‘u1o0u0 o1a0o4o4a0o3’ (Obs.: ‘0’=zero e
‘o’=letra ‘o’)
3. Dado uma função f: R → R, a relação ρ em R2
dada por x ρ y ↔
f(x)=f(y) é uma relação de equivalência.
• Dadas as funções f(x)=x2
+1 e g(x) = cos(x). Encontrar:
– a imagem f(R) para f(x) e g(x)?
– a classe de equivalência [π] para cada uma dessas funções.
– expressão das combinações f°g e g°f ?
25. Ordem de Grandeza
Sejam f e g funções de N em N definidas como:
f(x) = x e g(x) = x2
Gráfico:
f
x
g
x
•Quando x cresce, o valor de g(x) cresce mais rápido que o valor
de f(x): a taxa de crescimento de g é maior que a de f.
•Obs.: a diferença na taxa de crescimento não pode ser superada
multiplicando-se o valor de f por uma constante: h(x) = c.f(x)
•Independente de quão grande seja o valor de c, após algum
ponto, os valores de g superarão os valores de h.
26. Ordem de Grandeza
→ Seja S o conjunto de todas as funções dos reais não-negativos
nos reais não-negativos. Definimos a seguinte relação binária
em S:
• f ρ g ↔ existem constantes reais positivas n0, c1 e c2 tais que,
para todo x ≥ n0,
c1g(x) ≤ f(x) ≤ c2g(x)
• Exemplo: Sejam f(x) = 3x2
e g(x) = 200x2
+140x+7. Para n0 = 2,
c1=1/100 e c2=1, temos então que, para todo x ≥ 2,
• 1/100(200x2
+140x+7) ≤ 3x2
≤1.(200x2
+140x+7)
• 2x2
+ 1,4x + 0,07 ≤ 3x2
≤ 200x2
+ 140x + 7
• Portanto, f ρ g.
• Exercício: Mostrar que ρ é uma relação de equivalência.
27. Classes de equivalência
• Como ρ é uma relação de equivalência, então ela particiona S
em classes de equivalência.
• Se f está na mesma classe de equivalência que g dizemos que f
tem a mesma ordem de grandeza que g. denotado por f = Θ(g),
• Obs.1: devido à simetria, podemos também dizer que g tem a
mesma ordem de grandeza que f, isto é, g = Θ(f).
• Obs.2: a notação f = Θ(g) indica que f ∈ [g].
• Obs.3: Para cada classe de equivalência procura-se o
representante mais simples. Por exemplo, para as funções f e g
do exemplo anterior, podemos dizer que f = Θ(x2
) e g = Θ(x2
).
Ou seja, a ordem de grandeza de um polinômio é sempre o
termo de maior grau.
28. Ordem de Grandeza
• Seja h(x) = x2
. Se multiplicarmos h por constantes c1
e c2, por exemplo, c1=1/2 e c2 = 2, as funções c1h(x) e
c2h(x) têm a mesma forma de h(x) e formam uma
espécie de “envelope” em torno dos valores de h(x).
Alterar os valores das constantes altera o “tamanho”
do envelope mas não sua forma básica:
c2h(x) h(x) c1h(x)
30. Análise de Algoritmo
• Na análise de algoritmos identificamos as tarefas importantes
que o algoritmo deve realizar.
• Em geral, o número dessas tarefas depende do tamanho da
entrada: qual o acréscimo de trabalho à medida que n cresce.
• Ao invés de computarmos a função exata da quantidade de
trabalho, calcularmos a sua ordem de grandeza:
• Por exemplo: a busca seqüencial em n elementos requer, no
pior caso, n comparações (então é Θ(n)), e a busca binária
requer 1+log n comparações (então é Θ(log n)).
31. Hierarquia de Classes
• Podemos dizer que a classe Θ(n) é uma ordem de
grandeza menor que a classe Θ(n2
), por que funções
que são Θ(n) inevitavelmente, em algum ponto, se
tornam inferiores à função Θ(n2
).
• Da mesma forma, a classe Θ(log n) é menor que a
classe Θ(n).
• Existe, portanto, uma hierarquia de classes:
∀ Θ(log n) < Θ(n) < Θ(n2
) < Θ(n3
) <...< Θ(nk
) <...< Θ(2n
)
< Θ(3n
) < ...
• Essas classes são chamadas de classes de
complexidade e nos permitem classificar algoritmos.
32. Classes de Complexidade de Algoritmos
•Suponhamos que temos os algoritmos A, A’ e A’’ para realizar a
mesma tarefa e que suas classes de complexidade têm
diferentes ordens de grandeza: A é Θ(n), A’ é Θ(n2
) e A’’ é Θ(2n
):
Tempo total de processamento
tamanho da entrada
10 50 100Algoritmo Ordem
A Θ(n) 0,001s 0,005 s 0,01 s
A’ Θ(n2
) 0,01 s 0,25 s 1 s
A’’ Θ(2n
) 0,1024 s 3570 anos 4x1016
séculos
Obs.: supondo que um passo computacional tome 0,0001 s