terça-feira, 14 de junho de 2011

Aula 16 - 14.06.2011

Evolução do trabalho final

07.0614.0621.0628.06
Controle de Pet-shop: Lucas e André5%50%
Controle de Pizzaria: Nelson, Pietro e Jonatan20%50%
Controle de Academia: Guilherme e Diego5%25%
Controle de Locação de Carros: Aquiles e Renan10%50%
Locadora de Filmes: Daniel e Josué25%50%
Controle de Atendimento Médico: Rodrigo e Kellen0%50%
Controle de Venda de Veículos: Carlos10%50%
Controle de Estacionamentos: Lianderson e Leandro10%25%

terça-feira, 7 de junho de 2011

Aula 15 - 07.06.2011

Evolução do trabalho final

07.0614.0621.0628.06
Controle de Pet-shop: Lucas e André5%
Controle de Pizzaria: Nelson, Pietro e Jonatan20%
Controle de Academia: Guilherme e Diego5%
Controle de Locação de Carros: Aquiles e Renan10%
Locadora de Filmes: Daniel e Josué25%
Central de Cópias: Kellen e Carolina0%
Controle de Atendimento Médico: Rodrigo e Valdenir0%
Controle de Venda de Veículos: Carlos10%
Controle de Estacionamentos: Lianderson e Leandro10%

segunda-feira, 30 de maio de 2011

Aula 14 - 31.05.2011

Trabalhando com Exceptions em Java: 
Trabalhando com Datas em Java:
Trabalhando com Arquivos em Java:
Trabalhando com XML em Java:

import java.io.*;
import java.beans.XMLEncoder;
import java.beans.XMLDecoder;

public class XMLUtil {

   private static String dir = "c:/";

   public static void setDiretorio(String d) { dir = d; }
   public static String getDiretorio() { return dir; }
  
   public static void salvar(Object objeto, String arq) throws Exception {
      XMLEncoder xml = null;
      try {
         File f = new File(getDiretorio() + arq);
         xml = new XMLEncoder(
                 new BufferedOutputStream(
                 new FileOutputStream(f)));
         xml.writeObject(objeto);
         xml.flush();
      } finally {
         if (xml != null) {
            xml.close();
         }
      }
   }
  
   public static Object buscar(String arq) throws Exception {
      Object objeto = null;
      XMLDecoder xml = null;
      try {
         File f = new File(getDiretorio() + arq);
         if (!f.exists()) {
            return null;
         }
         xml = new XMLDecoder(
                 new BufferedInputStream(
                 new FileInputStream(f)));
         objeto = xml.readObject();
      } finally {
         if (xml != null) {
            xml.close();
         }
      }
      return objeto;
   }

   public static void main(String args[]) throws Exception {
      String s = "IPA-POO-2011";
      XMLUtil.salvar(s, "Teste.xml");
      System.out.println(XMLUtil.buscar("Teste.xml").toString());
   }
} 

terça-feira, 24 de maio de 2011

Aula 13 - 24.05.2011

Tratamento de Exceções em Java

Links úteis:

Dica legal do colega Rodrigo:

Exercícios

Exercício 1:
 - Fazer um projeto que tenha uma classe Main, uma classe LoginUI com um método login(String usuario, String senha) e uma classe Usuário com um método login, sendo que a classe LoginUI deve ter um ArrayList com 3 usuários previamente adicionados. Ao executar o projeto, o sistema executa o psvm da classe Main e pergunta o usuário e senha e deve apresentar algumas mensagens de erro, utilizando Exception, conforme abaixo:
 - "Usuário deve ser informado" {usuário não informado}
 - "Usuário não pode ser menor do que 3 caracteres" {usuário com poucos caracteres}
 - "Usuário não existente" {usuário não existente}
 - "Senha deve ser informada" {senha não informada}
 - "Usuário existente, mas a senha está incorreta" {usuário existe, mas senha incorreta}
Se o usuário e a senha existirem, apresentar mensagem "Login com sucesso".
Exercício 2:
 - Sobre o exercício 1, fazer com que ocorram até 3 tentativas de senha incorreta até fechar o programa.

sábado, 21 de maio de 2011

Calendário de Aulas e Distribuição do Trabalho Final

Seg
Ter
Qua
Qui
Sex
Sáb
Dom
2-mai
3-mai
4-mai
5-mai
6-mai
7-mai
8-mai

POO #10

POO #11



9-mai
10-mai
11-mai
12-mai
13-mai
14-mai
15-mai

PE #5

PE #6

PE #7

16-mai
17-mai
18-mai
19-mai
20-mai
21-mai
22-mai

POO #12

PE #8

PE #9

23-mai
24-mai
25-mai
26-mai
27-mai
28-mai
29-mai

POO #13

PE #10

PE #11

30-mai
31-mai
1-jun
2-jun
3-jun
4-jun
5-jun

POO #14

PE #12

PE #13

6-jun
7-jun
8-jun
9-jun
10-jun
11-jun
12-jun

POO #15

PE #14

PE #15

13-jun
14-jun
15-jun
16-jun
17-jun
18-jun
19-jun

POO #16

PE #16

PE #17

20-jun
21-jun
22-jun
23-jun
24-jun
25-jun
26-jun

POO #17

Corpus
Christi



27-jun
28-jun
29-jun
30-jun
1-jul
2-jul
3-jul

POO #18

PE #18





Distribuição dos Trabalhos Finais
  1. Cadastro de Animais para Pet-shop: Lucas e André
  2. Controle de Pizzaria: Nelson, Pietro e Jonatan
  3. Controle de Academia: Guilherme e Diego
  4. Controle de Locação de Carros: Aquiles e Renan
  5. Locadora de Filmes: Daniel e Josué
  6. Central de Cópias: Kellen e Carolina
  7. Controle de Atendimento Médico: Rodrigo e Valdenir

terça-feira, 19 de abril de 2011

Aula 9 - 26.04.2011

IPA – Tecnólogo em Análise e Desenvolvimento de Sistemas
Programação Orientada a Objetos
Prof. DIEGO ZIQUINATTI

1) Defina:


a) Classe (0,5)
b) Objeto (0,5)
c) Atributo (0,5)
d) Método (0,5)
e) Herança (0,5)
f) Encapsulamento (0,5)



2) Explique a diferença entre os Tipos Primitivos e os Tipos Referência na linguagem Java. Dê exemplos (1,0).

3) Cite as 4 visibilidades possíveis e permitidas na linguagem Java e explique suas diferenças. (1,0)

4) Dê exemplos práticos de Polimorfismo de Overloading (0,5) e Overriding (0,5)

5) Qual o valor de x impresso ao final da execução da classe abaixo? (2,0)

    public static void main(String[] args) {
        int x = 10;
        for (int i=3; i<9; i++) {
            x = x - i;
            if (x < 0)
                x = 10;
        }
        System.out.println(x);
    }

6) Qual o valor de contador a ser impresso ao final da execução da classe abaixo? (2,0)

    public static void main(String[] args) {
        int contador = 0;
        int x = 0;
        while (x < 10) {
            x = x + 1;
            if (x < 5) {
                x = x + 1;
            } else {
                x = x + 2;
            }
            contador++;
        }
        System.out.println(contador);
    }

sexta-feira, 15 de abril de 2011

Aula 8 - 19.04.2011

Exercício proposto para treino antes da prova do dia 19.04:


1) Desenvolver um programa em java que peça ao usuário para cadastrar uma senha; na sequência, deve pedir ao usuário que digite duas variáveis float e calcular a divisão da primeira pela segunda. O programa então irá pedir ao usuário que digite a senha novamente: se estiver correta, o resultado da divisão será mostrado; senão, mostra mensagem de erro e encerra o aplicativo. Importante: não considerar diferenças entre maiúsculas e minúsculas na hora de validar a senha.

2) Desenvolver um programa em java que peça ao usuário a quantidade de funcionários de uma empresa; na sequência, o sistema deverá perguntar o salário de cada um dos funcionários. Ao final, o sistema deverá mostrar uma mensagem conforme o exemplo abaixo, ou seja, apresentando a quantidade de funcionários digitada pelo usuário, qual foi a média salarial, o maior e o menor salários.

"Resultado do sistema:
   - Quantidade de Funcionário: 10
   - Média Salarial: 1250,00
   - Maior Salário: 2500,00
   - Menor Salário: 890,00 "

3) Faça um programa que peça ao usuário para digitar o seu nome, seu sexo, seu peso e sua altura. Após, calcule o IMC (Índice de massa corporal) com base na fórmula: IMC = peso / (altura)². Ao final, mostrar uma mensagem conforme exemplo abaixo:

"Olá Diego, seu IMC é 23,4. Você está no peso ideal"

Importante mostrar a mensagem correta de acordo com o IMC calculado.
Abaixo do peso: 
Homens: < 20,7
Mulheres: < 19,1
Peso ideal: 
Homens: 20,7 a 26,4
Mulheres: 19,1 a 25,8
Acima disso, considerar obeso.

-----------------------------------------------------

Classe Util

import javax.swing.JOptionPane;
public class Util {
    public static void mostrar(String m) {
        JOptionPane.showMessageDialog(null, m);
    }
    public static String perguntar(String p) {
        return JOptionPane.showInputDialog(p);
    }
    public static String perguntar(String p, String t) {
        return perguntar(p);
    }
}
-----------------------------------------------------

terça-feira, 12 de abril de 2011

Aula 7 - 12.04.2011

Continuação dos comandos da linguagem Java

  • Condicionais
    • if-else
    • operador ternário
    • switch
  • Repetição
    • while
    • do-while
    • for
    • for-each
  • Desvio
    • Break
    • Continue

domingo, 3 de abril de 2011

sábado, 26 de março de 2011

Aula 5 - 29.03.2011

Dando continuidade às aulas de POO, agora iniciemos na prática utilizando a linguagem de programação Java.

Abaixo consta uma tabela contendo os principais operadores da linguagem Java:



Abaixo, segue também os principais comandos da linguagem Java:

Comandos de decisão:
  • If-else
  • Operador ternário
  • Switch

Comandos de repetição:
  • while
  • do-while
  • for
  • for-each

Comandos de desvio:
  • break
  • continue

segunda-feira, 21 de março de 2011

Aula 4 - 22.03.2011

Olá turma,

Para facilitar o acompanhamento da disciplina, segue abaixo o link para o material de Java Básico:
 Lembrando que o material de OO já foi disponibilizado desde a 2a aula em:

Abaixo, segue também um resumo dos tipos primitivos existentes no Java, conforme visto na última aula:


Para complementar, segue link muito interesssante de trecho do livro Thinking in Java, de Bruce Eckels, falando sobre como a memória em Java é alocado e utilizada:

terça-feira, 15 de março de 2011

Aula 3 - 15.03.2011

Revisão rápida dos conceitos da OO

Objeto: informação registrada na memória RAM do computador para armazenar os dados necessários relativos ao objeto em questão. Exemplo: um objeto VW Gol armazena dados relativos a si mesmo tais como sua Placa, seu Ano de Fabricação, Cor, Marca, Modelo, Nr de portas, etc. Ou seja, são os dados exclusivos DESTE objeto.

Classe: estrutura que define o formato de um objeto. Todo e qualquer objeto é uma instância em memória RAM de uma classe. Os dados, para existirem em um objeto, devem ser previstos em formato de classe. Exemplo: a classe Carro pode ter gerado o objeto VW Gol citado acima.

  • Classe concreta: possui métodos concretos e gera objetos.
  • Classe abstrata: possui ao menos um método abstrato e não gera objetos. Utilizada para herança.


Atributo: é o nome dado a qualquer informação existente na classe que irá armazenas os dados dos objetos. Exemplo: a Placa, o Ano e a Cor são atributos da classe Classe e cada objeto terá os seus próprios valores.

Método: é o nome dado a uma função ou procedimento que executa alguma coisa na Classe ou no Objeto. Exemplo: alterarPreço(novoPreço) é um método que permite alterar o preço de venda de um Carro.

Visibilidade:
  • Public: permite o acesso direto aos atributos/métodos do objeto/classe.
  • Protected: permite o acesso aos atributos/métodos do objeto/classe desde que estejam no mesmo package ou seja sub-classe do outro (herança).
  • Default/Package: permite o acesso aos atributos/métodos do objeto/classe desde que ambos estejam no mesmo package.
  • Private: não permite o acesso direto aos atributos/métodos do objeto/classe. Usada para a técnica do encapsulamento.

Encapsulamento: nome dado à técnica de 'esconder' os dados do objeto, permitindo que os mesmos sejam manipulados unicamente através de sua interface (leia-se métodos).

Polimorfismo: é o nome dado à capacidade de um objeto poder executar métodos de acordo com o contexto onde está inserido. Exemplo: A classe abstrata Animal possui o método abstrato emitirSom() e duas sub-classes concretas, Gato e Cachorro, cada uma implementando o método emitirSom() de acordo com o seu contexto.
  • Sobrecarga: métodos com mesmo nome na mesma classe, porém, com parâmetros diferentes.
  • Sobreescrita: métodos com mesmo nome e mesmo parâmetros em classes filhas.


Herança: é o nome dado à capacidade de uma classe herdar a estrutura de outra classe, beneficiando principalmente o reuso de código.

Relacionamento: ocorre quando um objeto contém uma referência para outro objeto. Exemplo: objeto da classe Pessoa tem um objeto da classe Endereço. Resumidamente, pode assumir as quantidades 0..1 (zero ou um objeto relacionado), 1 (obrigatório), 0..* (zero ou mais objetos) ou 1..* (pelo menos um objeto).

terça-feira, 1 de março de 2011

Turma 2011 - Fotos




Guilherme

André

Maurício



 

Jonatan

Pietro



 

Josué

Daniel


 

Diego

Aquiles



 


 

Valdenir


 

Renan

Lucas



 

Rodrigo

Luiz Ricardo


 

Kellen

Carlos

         

       


Diego

 

Quadro branco

Aula 2 - 01.03.2011

Pessoal,

Segue o link para o material das aulas 1 e 2 relativas à OO:
Para o pessoal que ainda possui pouco ou nenhum conhecimento de programação, sugiro FORTEMENTE a leitura COMPLETA do seguinte material:

Também, a pedido, segue um tutorial simples para conseguir instalar um ambiente de desenvolvimento Java:
  1. Download do Java Standard Edition (Clique aqui)
  2. Instalação do JSE (Next, Next, Next...)
  3. Download do NetBeans (Clique aqui)
  4. Instalação do NetBeans (Next, Next, Next...)
Se encontrarem dificuldades, entrem em contato!

PS: link muito bom para aprender Java utilizando o NetBeans:
http://netbeans.org/kb/

segunda-feira, 28 de fevereiro de 2011