Академический Документы
Профессиональный Документы
Культура Документы
REFERNCIAS BIBLIOGRFICAS
FUNES
FUNES
EXEMPLO DE FUNES EM C
Funo: srand() e
rand()
Funo: pow(x,y)
int magico;
srand((unsigned)time(NULL));
double x,y,z;
magico = rand()%N
z = pow(x,y);
EXEMPLO DE FUNES EM C
float x,y;
x = 2;
y = exp(x);
printf(%f\n,y);
OPERAES MATEMTICAS
1. Funes trigonomtircas
Funes acos() e asin()
Funes atan() e atan2()
Funes cos(), sin() e tan()
2. Funes Hiperblicas
3. Funes Exponencial e Logaritmo
Funo exp()
Funes frexp(), ldexp() e modf()
Funes log() e log10()
OPERAES MATEMTICAS
SINTAXE
Tipo_de_Retorno Nome_da_Funo(declarao_de_parmetros)
{
Corpo_da_Funo;
}
TIPO DE RETORNO
COMANDO: RETURN
COMANDO: RETURN
LIMITAES: RETURN
LIMITAES: RETURN
return x, y; NO PERMITIDO!
PROTTIPO DA FUNO
1. Uma funo no deve ser chamada sem antes ter sido
declarada.
2. Denomina-se de prottipo da funo como sendo a sua
declarao.
Instruo geralmente alocada no incio do programa.
Estabelece o tipo da funo e os argumentos que a funo recebe.
3. Garante ao compilador verificar a sintaxe da funo.
4. Prottipos so do tipo externo e interno.
#include <stdio.h>
#include <stdlib.h>
float celsius(float fahr); /* Prottipo externo*/
int main()
{
system(cls);
float c, f;
printf("Digite a temperatura em graus Fahrenheit: "); .
scanf("%f", &f); .
c = celsius(f); /* Chamada funo */ .
printf("Celsius = %.2f\n", c); float celsius( float fahr)
system(pause); {
return 0; float c;
} . c = (fahr - 32.0) * 5.0/9.0;
.
return c;
.
}
PROF. ORLANDO ROCHA - DEE
INSTITUTO FEDERAL DE EDUCAO CINCIA E TECNOLOGIA DO MARANHO IFMA
ENGENHARIA ELTRICA INDUSTRIAL
TCNICAS DE PROGRAMAO 2015.1
#include <stdio.h>
#include <stdlib.h>
int main()
{
system(cls);
float celsius(float fahr); /* Prottipo local */
float c, f;
.
printf("Digite a temperatura em graus Fahrenheit: ");
.
scanf("%f", &f); .
c = celsius(f); /* Chamada funo */
printf("Celsius = %.2f\n", c); float celsius( float fahr)
system(pause); {
return 0; float c;
} . c = (fahr - 32.0) * 5.0/9.0;
. return c;
. }
PROF. ORLANDO ROCHA - DEE
INSTITUTO FEDERAL DE EDUCAO CINCIA E TECNOLOGIA DO MARANHO IFMA
ENGENHARIA ELTRICA INDUSTRIAL
TCNICAS DE PROGRAMAO 2015.1
#include<stdio.h>
#include<stdlib.h>
int main()
{
void temperatura(float x);
float celsius(float x);
system("cls");
float f;
printf("Entre com o valor da temperatura: "); .
scanf("%f",&f); .
temperatura(f); .
printf("\n\n"); void temperatura(float x)
system("pause"); {
return 0; printf("\n\nA temperatura em celsius eh: %f",celsius(x));
} }
float celsius(float x)
. {
. return (x-32.0)*5.0/9.0;
. }
PROF. ORLANDO ROCHA - DEE
INSTITUTO FEDERAL DE EDUCAO CINCIA E TECNOLOGIA DO MARANHO IFMA
ENGENHARIA ELTRICA INDUSTRIAL
TCNICAS DE PROGRAMAO 2015.1
#include<stdio.h>
#include<stdlib.h>
float celsius(float x);
int main()
{
void temperatura(float x);
system("cls");
float f;
.
printf("Entre com o valor da temperatura: ");
.
scanf("%f",&f);
.
temperatura(f);
printf("\n\n"); void temperatura(float x)
system("pause"); {
return 0; printf("\n\nA temperatura em celsius eh: %f",celsius(x));
} }
float celsius(float x)
. {
. return (x-32.0)*5.0/9.0;
. }
PROF. ORLANDO ROCHA - DEE
INSTITUTO FEDERAL DE EDUCAO CINCIA E TECNOLOGIA DO MARANHO IFMA
ENGENHARIA ELTRICA INDUSTRIAL
TCNICAS DE PROGRAMAO 2015.1
#include<stdio.h>
#include<stdlib.h>
int main()
{
void temperatura(float x);
system("cls");
float f;
printf("Entre com o valor da temperatura: ");
scanf("%f",&f);
temperatura(f);
printf("\n\n");
system("pause");
return 0;
}
float celsius(float x)
{
return (x-32.0)*5.0/9.0;
}
void temperatura(float x)
{
printf("\n\nA temperatura em celsius eh: %f",celsius(x));
}
#include<stdio.h>
#include<stdlib.h>
int main()
{
system("cls");
float f;
f = 20;
printf("%f\n", (f-32.0)*5.0/9.0);
f = 30;
printf("%f\n", (f-32.0)*5.0/9.0);
f = 40;
printf("%f\n", (f-32.0)*5.0/9.0); -6.666667
printf("\n\n"); -1.111111
system("pause"); 4.444445
return 0;
}
Pressione qualquer tecla para
continuar. . .
#include<stdio.h>
#include<stdlib.h>
void temperatura(float x);
int main()
{
system("cls");
float f;
f = 20;
temperatura(f);
f = 30;
temperatura(f);
f = 40; -6.666667
temperatura(f); -1.111111
printf("\n\n"); 4.444445
system("pause");
return 0;
} Pressione qualquer tecla para
continuar. . .
PARMETROS DA FUNO
1. As variveis que recebero as informaes enviadas a uma
funo so chamadas parmetros.
2. A funo deve declarar essas variveis entre parnteses, no
cabealho da sua definio ou antes das chaves que marcam
o incio da funo.
3. Os parmetros sero utilizados pelo corpo da funo
livremente.
4. Variveis que no fazem parte dos parmetros de uma
funo no podem ser declaradas em seu cabealho.
PARMETROS DA FUNO
float celsius(fahr)
float fahr;
{
return (fahr 32.0)*5.0/9.0;
}
PARMETROS DA FUNO
1. Parmetros: chamadas por valor
Em linguagem C, quase todos os argumentos de funes so
passados por valor, isto , a funo que chamada cria uma cpia
dos valores dos argumentos e ento, cria outras variveis
temporrias (parmetros) para armazenar estes valores.
Quaisquer alteraes feitas nos parmetros das funes no tem
nenhum efeito nas variveis que foram usadas para a passagem de
valor.
Lembrando que tais variveis criadas temporariamente so
consideradas variveis locais.
#include<stdio.h>
#include<stdlib.h>
void troca(int x, int y);
int main()
{
int x,y;
system("cls");
printf("Entre com o valores de x e y: ");
scanf("%d%d",&x,&y);
troca(x,y); .
printf("\n\n"); .
printf("O valores de x e y sao: %d %d\n",x,y);
system("pause"); .
return 0; void troca(int x, int y)
} {
int temp;
. temp = x;
. x = y;
. y = temp;
}
PROF. ORLANDO ROCHA - DEE
INSTITUTO FEDERAL DE EDUCAO CINCIA E TECNOLOGIA DO MARANHO IFMA
ENGENHARIA ELTRICA INDUSTRIAL
TCNICAS DE PROGRAMAO 2015.1
PARMETROS DA FUNO
1. Parmetros: chamadas por referncia
Nesse mtodo, ocorre a passagem do endereo da varivel, ou seja,
o endereo de um argumento copiado no parmetro.
Dentro da funo, o endereo usado para acessar o argumento
real utilizado na chamada. Portanto, as alteraes feitas no
parmetro afetam a varivel usada para chamar a rotina.
#include<stdio.h>
#include<stdlib.h>
void troca(int *a, int *b);
int main()
{
int x,y,z;
system("cls");
printf("Entre com o valores de x, y e z: ");
scanf("%d%d%d",&x,&y,&z);
if((x>y)||(x>z))
{
void troca(int *a, int *b)
if(y<z) {
troca(&x,&y); int temp;
else temp = *a;
troca(&x,&z); *a = *b;
} *b = temp;
if(y>z) }
troca(&y,&z);
printf("\n\n");
printf("O valores de x, y e z sao: %d %d %d\n",x,y,z);
system("pause");
return 0;
}
PROF. ORLANDO ROCHA - DEE
INSTITUTO FEDERAL DE EDUCAO CINCIA E TECNOLOGIA DO MARANHO IFMA
ENGENHARIA ELTRICA INDUSTRIAL
TCNICAS DE PROGRAMAO 2015.1
RECURSIVIDADE
1. Recursividade um termo usado de maneira mais geral para descrever o
processo de repetio de um objeto de um jeito similar ao que j fora
mostrado.
2. Em cincia da computao, a recursividade a definio de uma sub-
rotina (funo ou mtodo) que pode invocar a si mesma. Um exemplo de
aplicao da recursividade pode ser encontrado na resoluo de um
determinante de uma matriz de ordem qualquer atravs do mtodo de
Laplace.
3. A grande vantagem da recurso est na possibilidade de usar um
programa de computador finito para definir, analisar ou produzir um
estoque potencialmente infinito de sentenas, designs ou outros dados.
1 2 3
1+1 5 6 1+2 4 6 1+3 4 5
det = 4 5 6 = 1 1 + 2 1 + 3 1
8 9 7 9 7 8
7 8 9
5 6 1+1 1+2
= 5 1 9 + 6 1 8
8 9
4 6 1+1 1+2
= 4 1 9 + 6 1 7
7 9
4 5 1+1 1+2
= 4 1 8 + 5 1 7
7 8
EXEMPLOS: RECURSIVIDADE
Fatorial Recursivo
se = =
! =
! se >
int fatorial(int n)
{
if (n > 1)
return n*fatorial(n-1);
return 1;
}
EXEMPLOS: RECURSIVIDADE
Fibonacci Recursivo
se =
() = se =
+ ( ) se >
int fibb(int n)
{
if (n > 1)
return(fibb(n-1)+fibb(n-2));
return n;
}
EXEMPLOS: RECURSIVIDADE
EXEMPLOS: RECURSIVIDADE
Combinacional Recursivo
se =
(, ) = se =
, + ( , ) se < <
EXEMPLOS: RECURSIVIDADE