Você está na página 1de 23

Programção

Aula 4
Modularização – usando
métodos do tipo
procedimento e funções

Professor:
Clayton Cirqueira
Modularização
• Quando um programa começa a ficar muito grande,
tanto o desenvolvimento quanto à manutenção
começam a ficar prejudicados, criando o que chamamos
de “linguição”

• A modularização é um conceito onde o sistema é


dividido em partes distintas para um programa mais
legível com uma melhor manutenção

• A idéia surgiu no final da década de 60 com a “crise do


software”, pois o desenolvimento de sistemas sem uma
metodologia criava altos custos de manutenção
Modularização
• Dentro do conceito de módulos, cada um é definido
como um grupo de comandos constituindo um trecho de
algoritmo com uma função bem definida e independente
do resto do algoritmo

• O ideal é que cada módulo não seja grande demais para


ser claro, preciso e objetivo

• Podemos considerar que os módulos são sub-rotinas


chamadas pela rotina principal ou até mesmo por outras
subrotinas.
Procedimentos e Funções
• Nos algoritmos, as sub-rotinas( métodos ) são
classificadas em procedimentos ou funções

• A diferença entre uma função (function) e um


procedimento (procedure) é que uma função
obrigatoriamente deve retornar um valor como resposta
enquanto o procedimento apenas executa a lista de
comandos mas não possui um retorno.
Procedimentos - Sintaxe

Segue as mesmas regras


para nomes de variáveis

procedimento <nome do procedimento> (<lista de parâmetros>)

Informações necessárias
<lista de comandos> para que a função execute
o seu papel. Não é
obrigatório
fim procedimento
Procedimento – Exemplo 01

procedimento mostraTriplo(inteiro valor)

inteiro resposta
resposta = valor*3
escreva(“O triplo de “ + valor + “ é “ + resposta)

fim procedimento

No procedimento a resposta é gerada dentro do método e pode ser


invocado apenas pelo nome, lembrando a quantidade e o tipo de
variável.
Procedimento – Exemplo 02

procedimento mostraSoma(inteiro valor1, inteiro valor2)

inteiro resposta
resposta = valor1+valor2
escreva(“O Soma de “ + valor1 + “e”+ valor2 +“ é “ + resposta)

fim procedimento

No procedimento, tem outra observação é sempre void…


Procedimento – Exemplo 01
Para usar o procedimento dentro da rotina principal, basta chamar
pelo nome, é bem simples.

Algoritmo Calcula o Triplo


inteiro numero
início
escreva(“Entre com um número:”)
leia(numero)
mostraTriplo(numero)
fim

Este exemplo é um pseudocódigo, adiante ja veremos em javanês !


Procedimento – Exemplo 02
O nome do método deve ser escrito exatamente
como foi criado.

Algoritmo Calcula o Soma


inteiro numero1,numero2
início
escreva(“Entre com um número:”)
leia(numero1)
escreva(“Entre com segundo número:”)
leia(numero2)

mostraTriplo(numero1,numero2)
fim
Procedimento – Exemplo 02
procedimento calculaMedia(real nota1, real nota2, real nota3)
real media
media = (nota1+nota2+nota3)/3
escreva(“A média é “ + media)
fim procedimento

Algoritmo Calcula média de 3 notas


real n1, n2, n3
início
escreva(“Qual a nota 1?”)
leia(n1)
escreva(“Qual a nota 2?”)
leia(n2)
escreva(“Qual a nota 3?”)
leia(n3)
calculaMedia(n1, n2, n3)
fim
Funções - Sintaxe

Segue as mesmas regras


para nomes de variáveis

FUNÇÃO < nome da função > (<lista de parâmetros>)


<lista de comandos>
Informações necessárias
retornar <resposta> para que a função execute
o seu papel. Não é
obrigatório
FIM FUNÇÃO
Resultado do algoritmo
que a função deve
devolver

nome da função, é exatamente como será concatenado


Funções – Exemplo 01
Criar uma função que recebe 2 valores inteiros e retorne a soma entre
eles

função somaValores(inteiro valor1, inteiro valor2)


inteiro soma
soma = valor1 + valor2
retornar soma
fim função

... Um detalhe interessante de observar, é que função tem retorno


e é concatenada... Não esqueçam ok ?
Funções – Exemplo 01
A função sempre retorna um valor, sendo assim temos 2 formas:

Algoritmo Soma Valores


inteiro v1, v2, resp
início
escreva(“Entre com um número:”)
leia(v1) Algoritmo Soma Valores
escreva(“Entre com outro número:”) inteiro v1, v2
leia(v2) início
resp = somaValores (v1, v2) escreva(“Entre com um número:”)
escreva(“soma=“ + resp) leia(v1)
fim escreva(“Entre com outro número:”)
leia(v2)
escreva(“soma=“+somaValores (v1, v2))
fim

adotei este, pois fica fácil de diferenciar do


procedimento...
Funções – Exemplo 02
função calculaAreaTriangulo(real base, real altura)
real area
area = base * altura / 2
retornar area
fim função

Algoritmo Calcula área de um triângulo


real base, altura
início
escreva(“Qual a base?”)
leia(base)
escreva(“Qual a altura?”)
leia(altura)
escreva(“ A área vale “ + calculaAreaTriangulo(base, altura))
fim
Procedimentos e Funções em Java
• Como Java é uma linguagem de programação orientada a objetos
(POO), funções e procedimentos chamam-se MÉTODOS.

• Métodos podem ser estáticos, que podem ser utilizados sem a


instância de objetos e métodos não estáticos que precisam da
instância de um objeto para serem executados.

• Vamos usar nessa disciplina os métodos estáticos e deixar os


outros para POO
Métodos - Sintaxe - função

static <tipo_retorno> <nome_do_método>(<parâmetros>) {


<comandos>
<return> resposta;
}

<tipo_retorno>: se for um procedimento, não existe retorno e


deve-se usar void, caso contrário, usar o tipo de dado que
será retornado
<nome_do_método>: nome do método usando as mesma regras
para variáveis, sendo que a primeira letra deve ser minúscula
e as outras iniciais maiúsculas
<parâmetros>: dados externos ao método que ele precisa
receber para executar o algoritmo
<return>: comando para retornar a resposta, caso o método seja
uma função
Métodos – Exemplo 01 – aqui é procedimento
Atividade de fixação - PROCEDIMENTO

• 1 – Programa comum
• Escreva um programa que leia o triplo de um número, vamos la !

• 2- Programa com método


• Agora escreva um PROCEDIMENTO para obter o triplo de um
número.

• Houve mudança no resultado?


• Quais os benefícios de usar um método ?

Arquivo Exemplo1.java
Métodos – Exemplo 02 – aqui é função
Atividade de fixação - FUNÇÃO

• 1 - Programa comum
• Escreva um programa que calcule a área de um triangulo!
área=base*altura/2;

• 2 - Programa com método


• Desenvolva um método do tipo FUNÇÃO, para retornar valor.

• Percebe-se que o resultado foi o mesmo? No caso 1 e 2


• Qual a diferença de sintaxe entre procedimento e função ?
• Conseguiu perceber a diferença?
» Arquivo método8.java
Hora de Praticar - Atividade Sistemática
Atividade Sistemática – Função e Procedimentos

• FUNÇÃO - (return)
Soma dois números;
Calcula média de 3 notas , aprovado, exame, reprovado;
Verifica o maior de dois números;

• PROCEDIMENTOS ( invoca apenas nome do método)


Divide dois números;
Gera o quadrado do triplo;
Subtrai 15 de um número ímpar;
www.FaculdadeGuanambi.edu.br

Você também pode gostar