Você está na página 1de 3

Funções (Cap.5) Funções (Cap.

5)
INTRODUÇÃO
SUMÁRIO
-Programas na vida real
- Muitas instruções
- Modularização através de funções Ex:
- Organização em pequenos blocos básicos
- Biblioteca Padrão - Reutilização de rotinas
- Chamadas por valor e referência - Evitar repetição do código
- Escopo
- Recursão Pequenos Blocos do Programas → Módulos → Funções
MAIN
Ex.:
PRINTF ⎫
⎬ Biblioteca
SCANF ⎭
SQRT
FEITAS PELO USUÁRIO

Funções (Cap.5) Funções (Cap.5)


- COMPONENTES BIBLIOTECA MATEMÁTICA
- PROTÓTIPO
- CHAMADA # INCLUDE<MATH.H>
- ARGUMENTOS
- RETORNO
COMPONENTES:
sqrt(x) – raiz quadrada
exp(x) - ey
-FUNÇÃO PRINCIPAL:
log(x) – log e (x)
log10(x) – log10(x)
MAIN( )
fabs(x) – 1x1
{
ceil(x) – arredonda para o menor inteiro maior que z
Return0
floor(x) – arredonda para o maior inteiro menor que z
}
pow(x,y) - xy
fmod(x,y) – resto de x/y como número de ponto flutuante
sin(x) – x (radianos)
cos(x) – cosseno
tan(x) – tangente

Funções (Cap.5) Funções (Cap.5)


DEFINIÇÃO DAS FUNÇÕES
- Implementação de uma tarefa simples bem definida; Formato de uma função
- Nome conciso de acordo com o objetivo (Tipo de retorno) Nome(Tipo de Argumento)
- Programa:
Exemplo: {
#include <stdio.h> Declarações;
- incluir biblioteca
int square (int);
- especificar protótipos Instruções
Main ()
- função maior
- demais funções
{ Returno Expressões;
int a,b; }
a=1;
b=square(a); Tipos:
printf(“%d”,b); void →vazio
} int → inteiro (se o tipo não e explicitado, assume-se int)
int square(int y) float → ponto flutuante
{
return y*y;
}

1
Funções (Cap.5) Funções (Cap.5)
Biblioteca Padrão: Arquivos de cabeçalho → “___.h” – protótipos de
Palavra-Chave função, definição de dados
return:
- sai da função de forma imediata - ASSERT.H: depuração do programa
- retorna o valor calculado pela expressão - CT1PE.H: propriedades de caracteres (ex.: conversão de maiúsculos
em minúsculos)
Protótipo: - ERRNO.H: mensagem de erro
Informar ao compilador: - FLOAT.H: limites para o ponto flutuante
- tipo de dado retornado - MATH.H: funções matemáticas
- tipo dos argumentos - STDIO.H: funções de entrada e saída
- número de argumentos - STDLIB.H: função de conversão de números em texto, números
aleatórios,...
- STRING.H: processamento de cadeias de caracteres (string)
- ... (limites, locale, setjmp, signal, stdarg, stddef, time)

Funções (Cap.5) Funções (Cap.5)

Chamadas de Funções (valor de referência)


Variáveis Globais:
-CHAMADA POR VALOR – é feita uma cópia do valor dos Declaradas fora de qualquer função. Qualquer função que
argumentos e essa cópia é passada à função. As modificações da venha após ela pode utilizá-la.
copia não alteram o valor original da variável.

-CHAMADA DE REFERENCIA – utiliza-se a própria variável Variáveis Locais:


(passagem por endereço) Declaradas dentro de uma função.
Classes em Armazenamento
AUTO – default – só existem dentro do bloco em questão criada no - EXTERN: indica que a variável foi definida em outro local.
início da função e destruídas no final - STATIC: variável local que não e destruída.
REGISTER – manter os registros
EXTERN
STATIC

Funções (Cap.5) Funções (Cap.5)

void a(void)
REGRAS DE ESCOPO #include<stdio.h> {
As regras de escopo de uma linguagem são as regras que void a(void); x=10;
governam se uma porção de um código conhece ou tem acesso a void b(void); printf (“%d”,x);
outra porção de códigos ou dados. Void c(int) }
Int x=1;
main( ) void b(void)
Em C, cada função é um bloco discreto de código, um código de uma
{ {
função é privativo àquela função e não pode ser acessado por a ( ); printf (“%d”,x);
nenhum comando em uma outra função, exceto por meio de uma b ( ); c(x); }
chamada à função. }
void c(int x)
}
printf (“%d”,x);
}

2
Funções (Cap.5) Funções (Cap.5)
RECURSÃO: E uma função que chama a si mesma.
- Exemplo: EXERCÌCIOS (livro)
#include <stdio.h>
long fatorial (long);
main ( ) 1) Pag. 144 Exemplo Fatorial
{ 2) Pag. 145 Fibonacci
int i;
for (i = 1; i <=10, i ++) 3) 5.17
printf(“%2d!=%ed\n”, i, fatorial(i)); 4) 5.24 (iten a,b)
return0; 5) 5.39
}
long fatorial (long numero) 6) 5.47
{
if (numero <=1)
return1;
else
return (numero + fatorial (numero -1));
}

Funções (Cap.5)
Entregar em grupo de 3 alunos o exercício 5.39 do Livro Texto, pg. 162.

Você também pode gostar