Escolar Documentos
Profissional Documentos
Cultura Documentos
Função
Função é um conceito matemático...
Definição:
Sejam 𝑨 e 𝑩 conjuntos não vazios. Uma função de 𝑨 para 𝑩 é uma determinação de exatamente um
elemento de 𝑩 para cada elemento de 𝑨. Escrevemos 𝒇(𝒂) = 𝒃 se b for o único elemento de
𝑩 determinado para o elemento a de 𝑨. Se f é uma função de 𝑨 para 𝑩, escrevemos 𝒇: 𝑨 → 𝑩.
1 A
2 B
3 C
4 D
5 E
2 4
3 9
4 16
5 25
Esta função pode ser representada por f(2) = 4; f(3) = 9; f(4) = 16 e f(5) = 25. Porém, a fórmula
f(x) = x² pode ser usada para vincular {2, 3, 4, 5} com {4, 9, 16, 25}.
Função
Exemplo:
f(x) = x² pode ser implementada em muitas linguagens de programação. Em C teríamos:
}
E o que é função?
Definição
Função é um subprograma que auxilia o programa principal através da realização de uma determinada
tarefa. São informações relacionadas a funções:
(2) após seu término, a execução continua a partir de onde foi chamada.
Observações:
double calcularAreaQuadrado(double L) {
double A = L * L;
return A;
int main() {
double lado, area;
printf("Digite o valor do lado do quadrado: ");
scanf("%lf", &lado);
area = calcularAreaQuadrado(lado);
double A = L * L;
return A;
}
Parâmetros
São valores (ou variáveis) passados para a função quando ela é chamada.
double A = L * L;
return A;
}
Variáveis locais
São variáveis declaradas dentro da função (normalmente, não são acessíveis de fora da função).
double A = L * L;
return A;
}
Q03 Implemente uma função para calcular a média de 3 valores passados como parâmetros.
13
O comando return
O comando return (valor) causa o retorno imediato do fluxo do programa ao ponto de chamada da
função causando atribuição de valor a uma expressão.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
char minusculo () {
char ch = getche();
if ((ch >= 'A') && (ch <= 'Z')) return (ch + 32);
else return (ch);
}
int main() {
char letra = minusculo();
printf("\n%c", letra);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
char minusculo () {
char ch = getche();
if ((ch >= 'A') && (ch <= 'Z')) return (ch + 32);
else return (ch);
}
int main() {
}
Q04 Implemente uma função para calcular o fatorial de um número inteiro passado por parâmetro.
16
Função recursiva
Uma função recursiva é uma função que se chama a si mesma durante sua execução, ou seja, a função
usa sua própria definição para resolver o problema em questão.
main()
f()
3, 𝑠𝑒 𝑥 = 0
Q05 Seja 𝑓: ℕ → ℕ a função definida por 𝑓 𝑥 = ቊ . Calcule f(4).
2𝑓 𝑥 − 1 + 5, 𝑠𝑒 𝑥 > 0
18
Implementando f(x) em C...
3, 𝑠𝑒 𝑥 = 0
Seja 𝑓: ℕ → ℕ a função definida por 𝑓 𝑥 = ቊ .
2𝑓 𝑥 − 1 + 5, 𝑠𝑒 𝑥 > 0
20
Implementando f(x) em C...
−1, 𝑠𝑒 𝑥 = 0
Seja 𝑔: ℕ → ℕ a função definida por 𝑔 𝑥 = ቊ .
4𝑔 𝑥 − 1 + 6, 𝑠𝑒 𝑥 > 0
1, 𝑠𝑒 𝑥 = 1 𝑜𝑢 𝑥 = 2
𝐹𝑖𝑏 𝑥 = ቊ
𝐹𝑖𝑏 𝑥 − 1 + 𝐹𝑖𝑏(𝑥 − 2), 𝑠𝑒 𝑥 > 2
1) Os primeiros termos da série de Fibonacci são 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
2) Implementação da versão recursiva da função “Fib”.
3) Use a função implementada para calcular Fib(25).
Série de Fibonacci
Versão recursiva da função Fib(N):
Questões propostas
Estrutura de dados
−1, 𝑠𝑒 𝑥 = 0
Q07 Seja 𝑔: ℕ → ℕ a função definida por 𝑔 𝑥 = ቊ . Calcule g(12).
𝑔 𝑥 − 1 + 6, 𝑠𝑒 𝑥 > 0
28
Q08 Escreva uma função recursiva para determinar o 34° termo de uma Progressão Geométrica de
primeiro termo 4 e razão 1.25. Utilize essa função para calcular a soma dos 34 termos dessa PG.
29
Q09 Art. 14°. A avaliação do desempenho do estudante em uma atividade acadêmica curricular
compreenderá uma nota, expressa como um número inteiro em uma escala de 0 (zero) a 100
(cem), na qual a indicação de aprovação, nos casos em que se verificar nota maior ou igual a 60 e
assiduidade suficiente, ou de reprovação, em caso contrário.
Observação:
1 1 1 1
𝑆 = 1 + + + + ⋯+ +
2 3 4 𝑁
Curiosidade:
A série harmônica diverge, o que significa que a soma dos termos tende ao infinito à medida que
mais termos são adicionados.
32
Q11 Implemente uma função para calcular o MDC (maior divisor comum) de dois números inteiros
passados como parâmetros.
do {
resto = a % b;
a = b;
b = resto;
} while (b != 0);
return a;
}
Agora, implemente uma versão recursiva para calcular MDC (a, b).
33
Q12 Implemente uma função para calcular a quantidade de dígitos que um número inteiro possui.
34
Q13 Implemente uma função int isPrimo (int n) para verificar se o número inteiro n, passado como
parâmetro, é primo ou não. Caso n seja primo, o valor de retorno deve ser 1 e caso não seja, o
valor de retorno deve ser 0. Matematicamente, essa função pode ser representada por
1, 𝑠𝑒 𝑛 é 𝑝𝑟𝑖𝑚𝑜
𝑖𝑛𝑃𝑟𝑖𝑚𝑜 𝑛 = ቊ
0, 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟á𝑟𝑖𝑜
35
Q14 Implemente uma função que recebe, por parâmetro, a altura (h) e o sexo de uma pessoa e
retorna o seu peso ideal. Para homens, o peso ideal é calculado a partir da fórmula 72.7 x h - 58
enquanto, para mulheres, peso ideal é dado por 62.1 x h - 44.7.
36
Q15 Implemente uma função que recebe dois valores e indica qual deles é o menor.
37
Q16 Implemente uma função que recebe três valores e indica qual deles é o menor.
38
Q17 Implemente uma função que receba um número e retorne o número em ordem inversa. Por
exemplo, caso seja passado o número 234 como parâmetro, a função deverá retornar 432.
39