Upload
mattpolicarpo
View
215
Download
1
Embed Size (px)
DESCRIPTION
...........
Citation preview
Programação em linguagem C:funçõesTE207 – Técnicas de Programação em Engenharia Elétrica IProf. Vitor Yano – DELT/UFPR – [email protected]
Funções
Uma função é um conjunto de comandos agrupados em um bloco que recebe um nome e pode ser chamado através deste;
Vantagens:
Permite o reaproveitamento de código;
Evita a repetição de trechos de código usados muitas vezes;
Permite a alteração de um trecho de forma mais simples (escopo de variáveis independente);
Simplificação dos blocos do programa, facilitando o entendimento.
Declaração
Sintaxe:tipo nome(lista_de_parametros) {
//corpo da função
...
return valor;
}
Função matemática
f(x,y,z) = x2 + 3y + yz
fParâmetros Retorno
Sintaxe
Tipo da função: toda função pode retornar um valor. O tipo da função define o tipo do valor que será retornado. Quando não há retorno, utiliza-se o tipo void.
Nome da função: é o rótulo pelo qual a função será chamada. As regras para nome de função são as mesmas para os nomes de variáveis;
Parâmetros: são os valores de entrada da função, declarados como variáveis e separados por vírgula;
Corpo da função: são os comandos executados pela função;
Valor de retorno: é a saída da função, que é retornada para o comando que a chamou. O comando return encerra imediatamente a função, retomando à linha do programa que a chamou.
Declaração
Exemplo:float soma(float n1, float n2) {
float s;
s=n1+n2;
return s;
}
Declaração
Exemplo:float f(float x, float y, float z) {
return x^2+3*y+y*z;
}
Chamada da função
#include <stdio.h>
float f(float x, float y, float z) {float r=x*x+3*y+y*z;return r;
}
int main() {float x,y,z;scanf("%f %f %f",&x,&y,&z);printf("O resultado é: %f\n", f(x,y,z));return 0;
}
Escopo das variáveis
Parâmetros ou variáveis declaradas dentro do corpo da função pertencem à função, independentemente do resto do programa. Por isso, são chamadas variáveis locais;
Variáveis declaradas fora de qualquer função (inclusive da main) são válidas dentro de qualquer função do programa e, por isso, são variáveis globais.
Chamada da função
#include <stdio.h>
float f(float x, float y, float z) {float r=x*x+3*y+y*z;return r;
}
int main() {float a,b,c,r;scanf("%f %f %f",&a,&b,&c);r=3;printf("r = %f\n",r);printf("O resultado é: %f\n", f(a,b,c));printf("r = %f\n",r);return 0;
}
x, y, z: parâmetros formais da função f
a, b, c: parâmetros reais na chamada f(a,b,c)
Protótipo da função
A princípio toda função deve ser declarada antes de ser usada;
Na definição da função está implícita a declaração;
A linguagem C permite que se declare uma função, antes de defini-la. Esta declaração é feita através do protótipo da função;
O protótipo da função o trecho de código que especifica apenas o nome, o tipo e os parâmetros da função.
Exemplo de protótipo
#include <stdio.h>
float f(float, float, float);
int main() {float a,b,c,r;scanf("%f %f %f",&a,&b,&c);r=3;printf("r = %f\n",r);printf("O resultado é: %f\n", f(a,b,c));printf("r = %f\n",r);return 0;
}
float f(float x, float y, float z) {float r=x*x+3*y+y*z;return r;
}
Exemplo
Escreva um programa que leia n e p e calcule a quantidade de possíveis combinações e arranjos simples usando uma função para cada caso.
𝐶𝑛,𝑝 =𝑛!
𝑝! 𝑛 − 𝑝 !
𝐴𝑛,𝑝 =𝑛!
𝑛 − 𝑝 !
Exemplo
#include <stdio.h>
int fatorial(int);int arranjo(int, int);int combinacao(int, int);
int main() {int n,p;printf("Total de elementos: ");scanf("%d",&n);printf("Tamanho dos grupos: ");scanf("%d",&p);printf("Combinações possíveis:
%d\n",combinacao(n,p));printf("Arranjos possíveis:
%d\n",arranjo(n,p));return 0;
}
int fatorial(int x) {int i,r=1;for(i=2;i<=x;i++) {
r*=i;}return r;
}
int arranjo(int n, int p) {return fatorial(n)/fatorial(n-p);
}
int combinacao(int n, int p) {return fatorial(n)/(fatorial(p)*fatorial(n-
p));}