Mudanças entre as edições de "SOP-funcoes"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 64: Linha 64:
 
Este segundo exemplo é mais elaborado do que o primeiro, pois a função ''quadrado'' possui um dado de entrada (o parâmetro ''int x''), tem também uma variável local (''int y'') e devolve um valor do tipo ''int''  como resultado. A declaração da função revela esses detalhes:
 
Este segundo exemplo é mais elaborado do que o primeiro, pois a função ''quadrado'' possui um dado de entrada (o parâmetro ''int x''), tem também uma variável local (''int y'') e devolve um valor do tipo ''int''  como resultado. A declaração da função revela esses detalhes:
  
[[Image:Quadrado.png|left|300px]]
+
[[Image:Quadrado.png|300px]]
 +
 
 +
Mas afinal para que servem funções ? Para muitos propósitos, tais como:
 +
 
 +
#'''Facilitar a reutilização de um algoritmo em diferentes partes de um programa:''' um exemplo são as funções [http://www.kernel.org/doc/man-pages/online/pages/man3/printf.3.html printf] e [http://www.kernel.org/doc/man-pages/online/pages/man3/scanf.3.html scanf], que fazem parte da [http://pt.wikipedia.org/wiki/Biblioteca_padr%C3%A3o_do_C biblioteca C padrão].
 +
#'''Reduzir a complexidade de um programa, ao dividi-los em algoritmos menores e mais simples'''

Edição das 21h02min de 7 de novembro de 2009

Linguagem C: funções

Uma função corresponde a um algoritmo, que pode ser usado em diferentes partes de um programa. Um primeiro exemplo é mostrado a seguir:

#include <stdio.h>

void ola() {
  printf("Ola, mundo !\n");
}

int main() {
  ola();
}

Ao se executar o programa acima, o resultado é aparecer na tela a mensagem "Ola, mundo !":

> gcc -o ola ola.c
> ./ola
Ola, mundo !

Se o exemplo for modificado da seguinte forma:

#include <stdio.h>

void ola() {
  printf("Ola, mundo !\n");
}

int main() {
  ola();
  ola();
  ola();
}

... sua execução dará como resultado:

> gcc -o ola ola.c
> ./ola
Ola, mundo !
Ola, mundo !
Ola, mundo !

Um outro exemplo é uma função para calcular o quadrado de um número:

#include <stdio.h>

int quadrado(int x) {
  int y;
 
  y = x*x;
  return y;
}

int main() {
  printf("O quadrado de 2 é %f\n", quadrado(2));
}

Este segundo exemplo é mais elaborado do que o primeiro, pois a função quadrado possui um dado de entrada (o parâmetro int x), tem também uma variável local (int y) e devolve um valor do tipo int como resultado. A declaração da função revela esses detalhes:

Quadrado.png

Mas afinal para que servem funções ? Para muitos propósitos, tais como:

  1. Facilitar a reutilização de um algoritmo em diferentes partes de um programa: um exemplo são as funções printf e scanf, que fazem parte da biblioteca C padrão.
  2. Reduzir a complexidade de um programa, ao dividi-los em algoritmos menores e mais simples