prof. fabiano utiyama
DESCRIPTION
Funções em C. Prof. Fabiano Utiyama. Funções em C. Subprogramas são estabelecidos em linguagem C através da construção de funções; A sub-programação é uma ferramenta que contribui com a tarefa de programar: Favorecendo a estruturação do programa; Facilitando a correção do programa; - PowerPoint PPT PresentationTRANSCRIPT
Prof. Fabiano Utiyama
Funções em C
• Subprogramas são estabelecidos em linguagem C através da construção de funções;
• A sub-programação é uma ferramenta que contribui com a tarefa de programar:– Favorecendo a estruturação do programa;– Facilitando a correção do programa;– Facilitando a modificação do programa;– Melhorando a legibilidade do programa;– Divisão do problema a ser resolvido em partes
(modularização);
Funções em C
• Com a modularização de um programa, as partes que o compõem podem ser desenvolvidas por diferentes equipes;
• Para isto deve-se estabelecer antes padrões de programação;
• Deve-se definir também que dependência haverá entre os vários subprogramas;
Funções em C
• As funções dividem um programa em tarefas menores que, juntas, cumprem o objetivo inicial do programa;
• Quando um determinado conjunto de instruções tiver que ser repetido dentro da solução de um problema, é conveniente colocá-lo dentro de uma única função;
– Para se criar uma função é necessário:– Um identificador (o nome da função);
– Uma lista de parâmetros (que possibilitam a comunicação com outras funções);
– E as ações que serão executadas por esta função, que formam o corpo da mesma;
Funções em C
• As funções declaradas em C podem retornar um valor. Este valor ficará associado ao identificador da função e normalmente é resultante de um processamento realizado dentro da mesma;
• As funções em C podem apresentar parâmetros. Estes são utilizados para que se possa dar um caráter mais genérico às mesmas, permitindo que sejam descritos os formatos dos argumentos de entrada das mesmas;
• Declaração de uma função:• Uma função deve ser declarada antes de ser utilizada,
como acontece com as variáveis;• Isto deve ser feito para fornecer ao compilador
informações sobre o tipo da função e seus parâmetros;
Funções em C
• Na declaração da função deve constar o tipo da mesma, que deve ser o tipo do valor que ela deve retornar;
• O comando return é utilizado para retornar um valor ao ponto onde uma função foi chamada (utilizada);
Funções em C
• Sintaxe:
tipo f1 (declaração de argumentos);
main (){ a=f1(..);}
tipo f1 (declaração dos parâmetros recebidos){ declaração das variáveis locais; comandos; return(x);}
Funções em C
Valor retornado pela função f1, que neste caso seria atribuído a variável a
Valor retornado pela função f1, que neste caso seria atribuído a variável a
Declaração do protótipo da função
Declaração do protótipo da função
Uso da funçãoUso da funçãoDeclaração da função
Declaração da função
• Exemplo: função para calcular a soma;
Funções em C
#include <stdio.h>#include <conio.h>
int soma(int a, int b);
main(){ int a,b,result; printf("Digite o valor de a: "); scanf("%d",&a); printf("Digite o valor de b: "); scanf("%d",&b); result = soma(a,b); printf("%d",result); getch(); }
#include <stdio.h>#include <conio.h>
int soma(int a, int b);
main(){ int a,b,result; printf("Digite o valor de a: "); scanf("%d",&a); printf("Digite o valor de b: "); scanf("%d",&b); result = soma(a,b); printf("%d",result); getch(); }
...
int soma(int a, int b){ int r; r = a + b; return(r); }
...
int soma(int a, int b){ int r; r = a + b; return(r); }
• Outro exemplo de aplicação:• Fazer um algoritmo para calcular a
combinação (análise combinatória) de N elementos tomados P a P. Sabe-se que isto é possível através da seguinte expressão
Funções em C
Cp=nn!
p! (n-p)!
com n p
• A solução deste problema sem o uso de uma função teria N e P como argumentos de entrada e C como argumento de saída;
• Seriam necessários os seguintes passos:• Calcular o fatorial de N (armazenar em uma
variável);• Calcular o fatorial de P (armazenar em outra
variável);• Calcular o fatorial de N-P (armazenar em outra
variável);• E finalmente calcular a expressão
FatN/(FatP*FatNP);
Funções em C
• Note que nesta solução teríamos que descrever várias vezes uma mesma seqüência de ações que são utilizadas para o cálculo do fatorial de um número;
• Esta seqüência tem um comportamento padrão;
•A seguir, será descrita uma solução mais elegante, que utiliza uma função que calcula o fatorial de um número inteiro dado como argumento e retorna este valor;
Funções em C
Funções em C
• Exemplo: função para calcular o fatorial de um número inteiro;
#include <stdio.h>#include <stdlib.h>#include <conio.h>
int fatorial (int num);
main() { int i, n, p; float combinacao; printf ("Digite um valor para n: "); scanf ("%d",&n); printf ("Digite um valor para p: "); scanf ("%d",&p); combinacao=fatorial(n)/(fatorial(p)*fatorial(n-p)); printf ("\n\nValor da combinacao: %f\n\n", combinacao); system ("PAUSE"); }...
#include <stdio.h>#include <stdlib.h>#include <conio.h>
int fatorial (int num);
main() { int i, n, p; float combinacao; printf ("Digite um valor para n: "); scanf ("%d",&n); printf ("Digite um valor para p: "); scanf ("%d",&p); combinacao=fatorial(n)/(fatorial(p)*fatorial(n-p)); printf ("\n\nValor da combinacao: %f\n\n", combinacao); system ("PAUSE"); }...
...int fatorial (int num) { int i, fat=1; for (i=1;i<=num;i++) fat=fat*i; return (fat); }
...int fatorial (int num) { int i, fat=1; for (i=1;i<=num;i++) fat=fat*i; return (fat); }
Funções em C
• Exercícios:1. Construa uma função que calcule a soma de
dois valores inteiros e retorne o valor obtido.2. Construa uma função que receba como
argumento o valor do raio de uma circunferência e retorne o valor da área da mesma.
3. Construa uma função que receba como argumento de entrada uma cadeia de 20 caracteres e um caractere e retorne o número de vezes que este caractere aparece na cadeia.