Escolar Documentos
Profissional Documentos
Cultura Documentos
ou
Funções
http://en.wikipedia.org/wiki/Source_lines_of_code
http://www.ehow.com/info_12088921_advantages-modularization-programming.html
• Facilidade de debugar
• Reutilização de código
• Legibilidade
• Confiança
int main(){
funcao2
funcao3
……..
int main(){
……..
return 0} return 0}
Programa sem estruturação Programa estruturado
O que são?
• Sequência de instruções ou programas auto-contidos
• Uma função deve executar UMA tarefa específica, muito bem
identificada
• Executados somente quando chamados por um programa em
execução
• A execução de um programa em C corresponde a execução da
função principal main( ), que é obrigatória.
• Após sua execução, o fluxo do programa retorna ao ponto
imediatamente após o da chamada da função (ou subprograma).
int main( )
{
float raio, area;
printf("Forneca o raio de um circulo: "); // função
scanf("%f", &raio); // função
area = PI * pow(raio, 2);
printf("Area do circulo de raio %6.2f eh %6.2f \n", raio, area);
return 0;
}
return 0;
} 19 INF 01202 - Prof. Marcelo Walter – Aula 16
Problemas associados a repetições de código:
ü Repetição de trechos de código idênticos:
• um procedimento fácil e rápido, mas que facilmente tende a
produzir erros.
• manutenção e alteração de programas com trechos repetidos é
trabalhosa e sujeita a erros.
• com frequência alterações de trechos iguais que se repetem não
são realizadas em todas as ocorrências do trecho ou são realizadas
de forma incompleta ou equivocada, com resultados bastante
danosos.
ü Solução:
• funções.
ü chamada:
nome_da_função ( );
Elemento Significado
void Palavra_chave indicando que a função não retornará
valor.
nome_da_função Identificador, com nome da função.
void Palavra_chave, indicando que a função não receberá
argumentos. Aqui, equivale a ( ), sem incluir a palavra
void.
{ Indica início do corpo_da_função.
} Indica fim do corpo_da_função.
return 0;
}
return 0;
}
#include <stdio.h>
void funcao1( )
{
int i;
for (i=1;i < cont; i++)
printf(".");
printf("\n cont funcao 1 = %d", cont);
}
int main( )
{
printf("\n cont main = %d \n", cont);
funcao1( );
printf("\n cont main apos funcao1 = %d \n", cont);
return 0;
}
#include <stdio.h>
int main( )
{
int cont=10; // cont local, do programa principal. Não altera a
// variavel cont global!
printf("\n cont main = %d \n", cont);
funcao1();
printf("\n cont main apos funcao1 = %d \n", cont);
return 0;
}
#include <stdio.h>
int main()
{
int cont=10; // cont local do programa principal
int main( )
{
int cont=10; // cont local do programa principal – não é global
return 0;
}
#include <stdio.h>
#define NLIN 3
#define NCOL 3
void imprime_matriz(void)
{
int l,c,n;
for(l=0;l<NLIN;l++){
for(c=0;c<NCOL;c++){
n = 5 + (rand() % (15-5+1));
printf("%d ", n); int main()
} {
printf("\n"); int i;
} srand(time(NULL)); //inicializa gerador de nros
printf("\n"); // randomicos
}
for(i=0;i<3;i++){
printf("Impressao matriz %d\n", i+1);
imprime_matriz();
}
return 0;
39 INF 01202 - Prof. Marcelo}Walter – Aula 16