1 /28
2 /28
02/06: SUB.
18/06/13
3 /28
Modularizao
Decomposio de um problema computacional em mdulos (ou subalgoritmos):
Mdulo: trecho de algoritmo bem definido e com funo independente
Dividir
um
problema
em
subproblemas
Mdulos
menores
facilita
a
depurao
Dividir
o
desenvolvimento
entre
vrios
programadores
Reu;lizao
de
trechos
de
programas
4 Aprendendo com o que voc j conhece.. pow um mtodo Pr-definido que voc j usou!
a chamada do mtodo
Para chamar um mtodo dentro do seu programa voc precisa Saber a classe que ele pertence e a assinatura dele. A classe e assinatura esto na API (Application Programming Interface ou Interface de Programao de Aplicativos) do JAVA: http:// download.oracle.com/javase/6/docs/api/
18/06/13
5 /28
API-JAVA
h"p://download.oracle.com/javase/6/docs/api/
6 /28
Assinatura do Mtodo
Explica
como
devo
chamar
(usar
o
mtodo)
18/06/13
7 /28
Assinatura do Mtodo
Assinatura
indica
o
que
posso
fazer
e
o
que
no
posso
(veja
exemplos
abaixo):
Por que?
8 /28
Em suma...
Todo
mtodo,
seja
ele
pr-denido
ou
no,
possui
as
seguintes
caracters;cas:
Pertence
a
uma
classe:
Ex:
import
java.lang.Math
Nas nossas aulas, todos os mtodos QUE NS VAMOS DEFINIR vo pertencer a uma nica.
Exemplo:
Tipo:
valor
de
retorno
do
mtodo;
O Tipo o tipo do valor que o mtodo Iden;cador;
retorna. Neste caso do tipo Parmetros
Double.
Identificador Parmetros
Math.pow(base, expo)
18/06/13
9 /28
Modularizao
Classe Principal { mtodo main { } Primeiro mtodo a ser executado obrigatria a existncia dele Controla a execuo
mtodo A { } mtodo B { } }
10 /28
18/06/13
11 /28
Exemplo
Fazer um programa para calcular a mdia final de um aluno e definir REPROVADO (<7) ou APROVADO (>=7):
(p1+p2)/2; Como dividir em mdulos?
12 /28
Estudo de Caso
Imagine
um
programa
simples
para
calcular
a
soma
de
dois
nmeros
e
que
exibe
a
seguinte
sada:
Cabealhos
18/06/13
13 /28
14 /28
Definio do mtodo. OBS1: Dentro da classe principal OBS2: Fora do mtodo main (antes ou depois)
18/06/13
15 /28
Observao
Sendo um mtodo um subalgoritmo, devemos tratar a sua soluo como fazemos para os algoritmos: Para cada um dos mtodos, antes de escrever o algoritmo, organize a soluo identificando, nessa ordem: SADA: Quais os resultados que o algoritmo dever fornecer ? ENTRADA: Quais os insumos necessrios para se obter a sada? PROCESSAMENTO: Como transformar os insumos na sada?
16 /28
Definio de Mtodos
Definindo mtodos em Java:
Atribuir um nome para o mtodo; Definir se ele precisa ou no retornar algum valor:
Se sim: defina qual valor;
Criar a assinatura do mtodo em java; Colocar o cdigo dentro da assinatura; Chamar o mtodo.
18/06/13
17 /28
Definio de Mtodos
SINTAXE GERAL
SINTAXE DO EXEMPLO Todo mundo pode executar esse programa Este mtodo pertence a classe, Tipo do parmetro no ao objeto
18 /28
static tipo_do_mtodo nome_d0_mtodo (lista de parmetros) { variveis locais; instruo 1; ..... instruo ... N; return valor; }
RETURN: todo mtodo pode retornar no mximo UM VALOR (de qualquer tipo) atravs do comando return. este valor retornado que determina o tipo do mtodo. Se o valor retornado for um FLOAT o mtodo ser do tipo float, e assim por diante.
18/06/13
19 /28
20 /28
Antes
Depois
10
18/06/13
21 /28
Exerccio
Escreva um programa para realizar a soma, subtrao, multiplicao e diviso de dois nmeros inteiros.
11
18/06/13
23 /28
Exerccio 01
Escreva funes especficas (em Java) para: Calcular a diviso de a por b (inteiros) utilizando subtraes sucessivas, ou seja, sem utilizar o operador de diviso; Calcular o fatorial de um nmero N. Exibir um Menu com as seguintes opes: [1] Diviso [2] Fatorial [3] Fim A funo deve solicitar a digitao da opo aceitando apenas uma das 3 opes.
24 /28
Exerccio 01
Escreva tambm a funo main para gerenciar a chamada das 3 funes, sendo que o main deve ser executado enquanto a opo 3 no for escolhida pelo usurio. Note que dependendo da opo selecionada 1 ou 2, deve-se solicitar ou os nmeros a e b a serem divididos ou o nmero N. Ateno: A comunicao dos valores entre a funo e o meio externo dever ser feita por passagem de parmetros (e no por variveis globais)
12
18/06/13
25 /28
Exerccio 02
Um sistema de controle de estoque armazena o cdigo, a descrio, a quantidade em estoque e o preo unitrio das mercadorias. Fazer um aplicativo que exiba um menu com as seguintes opes: MENU 1 - Cadastrar mercadoria 2 - Consultar mercadoria 3 - Valor total em mercadorias 4 - Sair Opo:
26 /28
Exerccio 02
e implementar cada opo (as opes 1 a 3 devero ser implementadas como mdulos separados). Inicialmente no h nenhuma mercadoria cadastrada. A primeira opo permitir que o usurio cadastre uma nova mercadoria, informando todos os dados citados anteriormente. A segunda opo permitir que o usurio consulte o cadastro, informando o cdigo da mercadoria. A terceira opo permitir a consulta do valor total do estoque, levando em conta todas as mercadorias cadastradas. A quarta opo permitir o trmino do aplicativo.
13
18/06/13
27 /28
Exerccio 03
Faa um programa que leia duas matrizes de nmeros inteiros A e B de dimenso N x N e imprima a soma dessas matrizes. Resolva o exerccio fazendo um mtodo para leitura de matrizes, um para a soma de matrizes e um terceiro para impresso de uma matriz.
28 /28
Exerccio Desafio
O programa deve simular uma calculadora, de modo que:
a) o usurio digite um nmero; b) o usurio digite um operador (sinal); c) o usurio digite outro nmero; d) o programa mostre o resultado.
A operao de clculo deve ser feita no mtodo FCalculadora. O mtodo deve receber os dois nmeros e o sinal e deve retornar o resultado. Ou seja, se o operador for + deve somar os dois nmeros, se for - deve subtrair os dois nmeros, e assim por diante.
14