ALGORITMOS E LP 1
funções e procedimentos
em java
profmarcelasantos@gmail.com
introdução
- Imagine que uma determinada empresa de robótica precise gerar relatórios constantemente com o cabeçalho da empresa
- Para automatizar essa operação um dos membros da equipe criou um programa em Java para gerar os relatórios e a as seguintes linhas para adicionar o cabeçalho:
System.out.println("*********Santos Robótica********* ");
System.out.println("contato@santosrobotica.com.br ");
função ou procedimento
- Depois de uma análise, o dono da empresa resolveu que o telefone deve aparecer no cabeçalho também
- Marcelo, o responsável pela codificação não ficou muito feliz, pois afinal por dia a empresa gera 1.000.000 relatórios de teste dos softwares desenvolvidos para os robôs. Esses relatórios são gerados a partir de programas Java...
- Você saberia me dizer porque Marcelo ficou tão chateado?
função ou procedimento
- Qualquer modificação implicará na mudança de muitos pontos do código
- Existe alguma maneira de criar um subprograma para modificar o cabeçalho ???
- Assim, poderíamos reaproveitá-lo sempre que necessário
função ou procedimento
static void exibeCabecalho(){
System.out.println("*********Santos Robótica********* ");
System.out.println("contato@santosrobotica.com.br ");
System.out.println("fone:(12)3456-7890 ");
funções ou procedimentos
- Assim toda vez que necessário, podemos chamar o método
class Programa {
public static void main ( String [] args ) {
// chamando a função exibeCabecalho
exibeCabecalho () ;
System . out . println ( " Relatório de pecas com defeito: " ) ;
System . out . println () ;
// chamando a função exibeCabecalho
exibeCabecalho () ;
System . out . println ( " Relatório de pedidos do cliente" ) ;
}
Funções e procedimentos
- Toda vez que for necessário, usar a função(procedimento) e não ter que ficar copiando e colando código
- O código fica muito mais legível, ainda mais, se o programador for esperto como vocês são e nomear as funções com nomes que representam o que elas fazem :)
funções
- As funções são subprogramas que devolvem um valor, depois de realizar a sua operação.
- Esse valor deve ter um tipo, e esse tipo é o que usado para "tipar" a função.
- O cabeçalho (primeira linha) de uma função é formado por
- static:
- tipo de retorno: int, double, String, char....
- nome da função
- (lista de parâmetros)
procedimentos
- Já um procedimento, é um subprograma que não devolve nada depois de realizar a sua tarefa.
- Lembrem dos procedimentos ler e escrever que usamos em pseudocódigo???
- O cabeçalho de um procedimento é formado por:
- static
- void: indicando que não tem tipo de retorno
- nome do procedimento
- (lista de parâmetros)
funções e procedimentos em java
- Em linguagens orientadas a objetos, as funções e procedimentos são chamados de MÉTODOS
- Mas lembre-se sempre:
- função: retorna um valor portanto deve ter um tipo de retorno
-
procedimento: não retorna nenhum valor, portanto sempre é void
parâmetros
- Considere um programa de computador que realiza operações financeiras como o cálculo de juros simples por exemplo.
-
Para evitar repetição de código, podemos definir um método para realizar esse cálculo e reutilizá-lo todo vez que for necessário.
parâmetros
double juros = 10000 * 0.015 * 12;
}
- Esse método não parece muito útil, pois sempre calculará
- para um capital de 10000
- a uma taxa de 1,5% ao mês
- em um período de 12 meses
parâmetros
- Para tornarmos o método calculaJuroSimples mais útil podemos PARAMETRIZÁ-LO
- Um parâmetro é um valor que o método recebe antes de executá-lo
static void calculaJurosSimples ( double capital , double taxa , int periodo ) {
double juros = capital * taxa * periodo ;
}
parâmetros
public static void main ( String [] args ) {
calculaJurosSimples (10000 , 0.015 , 12) ;
calculaJurosSimples (25400 , 0.02 , 30) ;
}
respostas
public static void main ( String [] args ) {
double resposta1 = calculaJurosSimples (10000 , 0.015 , 12) ;
double resposta2 = calculaJurosSimples (25400 , 0.02 , 30) ;
System . out . println ( " Juros : " + resposta1 ) ;
System . out . println ( " Juros : " + resposta2 ) ;
}
- Agora podemos recuperar o cálculo no método main
resposta
- O valor calculado dentro do método calculaJurosSimples é armazenado em uma variável local.
- Essa variável não pode ser acessada dentro do método main.
- Em outras palavras, o método main não tem acesso ao juros que foi calculado dentro do método calculaJurosSimples.
resposta
- Todo método pode, ao final do seu processamento, devolver uma resposta para que o chamou.
double juros = capital * taxa * periodo ;
return juros ;
- Observe as duas modificações realizadas no método calculaJurosSimples.
- mudar void para double
- adicionar o comando return
Funções e Procedimentos em Java
By Marcela Santos
Funções e Procedimentos em Java
- 1,329