Você está na página 1de 14

18/06/13

1 /28

Processamento da Informao (BC-0505) Modularizao


Wagner Tanaka Botelho wagner.tanaka@ufabc.edu.br
Universidade Federal do ABC UFABC Centro de Matemtica, Computao e Cognio CMCC Bacharelado em Cincia e Tecnologia

2 /28

Sub e Projeto Final


25/06: Avaliao dos Projetos; 02/07: SUB.

11/07: Relatrio do Projeto; 12/07: Avaliao dos Projetos:


Avaliao:
Nota do Grupo + individual/2;

10h na sala 804 (Bloco B);

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!

Indica a classe a que o mtodo pertence: Math

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/

Mtodos da classe Math

6 /28

Assinatura do Mtodo
Explica como devo chamar (usar o mtodo)

Valor de retorno Nome Nmero de parmetros Tipo de cada parmetro

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)

Se um mtodo no retorna valor ento ele do tipo void.

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

Exemplo 1 - Funes de Usurios

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

PROBLEMA!!!! Muito cdigo REPETIDO Somente para imprimir os Cabealhos.

14 /28

Estudo de Caso Soluo

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;

Se no: o valor void.

Definir se ele precisa de parmetros:


Se sim: defina quais so os nomes e o tipo de cada um.

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

public static TIPO NOME_METODO(TIPO NOME_PARMETRO)

SINTAXE DO EXEMPLO Todo mundo pode executar esse programa Este mtodo pertence a classe, Tipo do parmetro no ao objeto

public static void cabecalho(int tamanho)


No retorna valor Nome do mtodo Nome do parmetro

18 /28

static tipo_do_mtodo nome_d0_mtodo (lista de parmetros) { variveis locais; instruo 1; ..... instruo ... N; return valor; }

Lista de Parmetros: so variveis que se comunicam com outras funes.


Exemplo: int valor1, int valor2, float valor3;

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

No adianta ter o mtodo, ns precisamos uiliz-lo (Cham-lo)

20 /28

Compare o Antes e o Depois .

Antes

Depois

10

18/06/13

21 /28

At aqui inserimos instrues somente na funo main

Agora... Vamos definir mdulos (ou mtodos)


22 /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

Você também pode gostar