17 de setembro de 2008

Métodos, Funções

Olá! Vamos começar pra valer com o PP agora.
Vou falar um pouco sobre métodos e/ou funções.
Afinal, o que são métodos? O que são funções? Qual a diferença?

A verdade é a seguinte: É a mesma coisa dizer função ou método. O que muda é se ela está sendo usada numa linguagem orientada a objetos ou não. Então, não há muito com o que se preocupar com isso, quando falar função ou método, vai estar certo do mesmo jeito. ( Você acaba entendendo o porquê de ficar como método na orientação a objeto, mas isso é um assunto para depois )

E o que são dentro da programação? São fundamentais. É algo que define um bloco de instruções para resolver algum problema, menor que o original.
Acho que fica melhor entender com um exemplo. Se nós quisermos somar 2 números e imprimir na tela, o que seria melhor?
- Fazer um bloco de instruções direto de onde o programa executa;
- ou fazer um bloco menor, onde eu posso simplesmente jogar os numeros a serem somados e impressos pra ele e pedir "Ei, função Somar, pega esses dois números inteiros a e b, soma pra mim e depois imprimi na tela, please?"

Bom, se você escolheu a primeira opção, de por tudo direto na execução do programa para ler, somar e imprimir, tem que saber: vai funcionar, sim. Mas e quando você for precisar fazer 5 vezes uma coisa do tipo: ler 5 números inteiros, verificar qual é o maior e imprimir na tela, não seria melhor ter um bloco de código só para pegar esses números lidos, fazer a verificação dentro dele e já imprimir na tela?

Pra ficar mais claro, vou dar um exemplo de uma função que soma e imprime dois números inteiros dados a ela:

( Aqui não tem ctrl+c e ctrl+v =P)

O que está descrito na folha: Uma classe Programa, que seria nosso programa mesmo, com dois métodos (funções): O método main() e o método somaEimprima(int a, int b). O método main é o bloco de instruções a serem lidas com a execução do programa, e o método somaEimprima é implementado abaixo, podendo ser usado na main, ou não. É importante lembrar que todo programa tem apenas UM método main.
No nosso caso, a função somaEimprima recebe dois números inteiros a e b e imprime a soma deles. Chamando no main com os parâmetros (2, 2), ele entende como a = 2 e b = 2, logo imprime 4.

Pode-se construir uma função que faça alguma coisa apenas (do tipo void) ou uma função que faça alguma coisa e te traga de volta o resultado (do tipo int, string, double, etc..)
Mas isso vou falar no próximo post!

Por hoje, ficou a definição de funções e/ou métodos, esses blocos de instruções que nos ajudam a transformar um grande problema em vários pequenos e estruturados, que podem ou não trazer de volta algum resultado ou que executam o bloco e pronto.

Agora, pra você treinar um pouco, é só pegar um papel, um lápis e uma borracha e tentar construir algumas funções! Coisas do tipo: "Uma função que receba um inteiro n e imprima 2n"

Boa diversão!
[]'s

Um comentário:

  1. seria tao simples se todos os profs de algoritmo explicassem dessa forma...
    guilherme rey pra professor!!!

    ResponderExcluir