Exercício de Programação – Cálculo do Pi

Leibniz, em 1682, desenvolveu uma série para o cálculo do [latex]\pi[/latex]:

[latex]\frac{\pi}{4} = 1 – \frac{1}{3} + \frac{1}{5} – \frac{1}{7} + \frac{1}{9} – \cdots[/latex]

Escreva um algoritmo que calcula um valor aproximado para [latex]\pi[/latex] usando a série desenvolvida por Leibniz (dica: você irá precisar calcular a série com pelo menos 10000 termos).

Continue lendo

Exercício de Programação – Adivinha

1 – Sendo chato: uma única chance

Escreva um algoritmo que sorteia um número entre 1 e 10 (inclusos) e depois pede para o usuário tentar adivinhá-lo. Caso o número lido seja igual ao sorteado, mostre a mensagem “Você acertou!”. Caso contrário, mostre a mensagem “Você errou!”.

Continue lendo

Referências e Objetos

Referências e Objetos

Neste post iremos ver como os objetos que criamos são armazenados na memória e como eles diferem das variáveis “comuns”, as que estamos acostumados até então. Assim, vamos refletir sobre a seguinte situação:

Continue lendo

Lego

Uma “receita de bolo” para criar interfaces gráficas no Java com AWT/Swing

Segue a receita que passei em sala de aula para criar interfaces gráficas simples no Java:

  1. Desenhar um rascunho da tela
  2. Criar a classe que representa sua tela e fazê-la herdar de JFrame
  3. Colocar os componentes como atributos
  4. No construtor:
    1. Atribuir um título (setTitle("..."))
    2. Criar os objetos dos componentes
    3. Configurar os componentes (exemplo: componente.setEditable(false))
    4. Criar o painel (JPanel) principal
    5. Atribuir um layout para o painel principal (setLayout(...))
    6. Adicionar os componentes ao painel principal (painel.add(...))
    7. Atribuir o painel principal como painel de conteúdo do JFrame (setContentPane(painel))
    8. Atribuir um tamanho para a tela (setSize(w, h) ou setBounds(x, y, w, h)) ou chamar pack()
    9. Adicionar a própria tela como listener para os componentes adequados (exemplo: componente.addActionListener(this))
    10. Atribuir a operação padrão de fechamento de janela (setDefaultCloseOperation(EXIT_ON_CLOSE))
  5. Fazer sua classe implementar os listeners adequados (exemplo: ActionListener) – não esquecer de criar os métodos que cada interface requer (exemplo: void actionPerformed(ActionEvent ev)) e de eles devem conter o algoritmo que você quer realizar quando o evento ocorrer
  6. Na classe que representa seu programa principal, criar um objeto da sua classe e chamar setVisible(true)

Continue lendo