Mostrando postagens com marcador Programação II. Mostrar todas as postagens
Mostrando postagens com marcador Programação II. Mostrar todas as postagens

27 de maio de 2009

Programação II

Atividades quarta, 20 de maio de 2009:

1 - Implemente a hierarquia Forma apresentada na figura abaixo:










Cada FormaBidimensional deverá conter um método getArea para calcular a área da forma bi-dimensional. Cada FormaTridimensional deverá ter métodos getArea e getVolume para calcular a área e o volume da superfície tri-dimensional. Crie um programa que usa um array do tipo Forma para referenciar objetos de cada classe concreta da hierarquia. O programa deve imprimir um texto descritivo para cada objeto ao qual cada elemento do array se refere. Além disso, no loop que processa todas as formas no array, determine quando cada forma é uma FormaBidimensional ou uma FormaTridimensional. Se for bi-dimensional, imprima a área. Se for tri-dimensional, imprima a área e o volume.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

13 de maio de 2009

Programação II

Atividades quarta, 13 de maio de 2009:

1 - Escreva uma hierarquia de herança para as classes Quadrilátero, Trapezóide, Paralelograma, Retângulo e Quadrado. Use Quadrilátero como a superclasse da hierarquia (com o maior número de níveis possível). Especifique as variáveis de instância e os métodos para cada classe. As variáveis de instância privadas do Quadrilátero devem ser os pares de coordenadas x-y dos quatro cantos do Quadrilátero. Crie a classe Ponto para representar cada par de coordenadas. Escreva um programa qua instancia objetos de suas classes e imprime a área de cada objeto (exceto o Quadrilátero).

Obs: Pesquise na Internet sobre as características de cada figura geométrica e implemente o método para cálculo de área somente na classe Trapezóide. Esse método deve ser reutilizado através de herança nas demais classes derivadas de Trapezóide.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

6 de maio de 2009

Programação II

Atividades quarta, 6 de maio de 2009:

1 - Escreva um tipo enum Semáforo, cujas constantes (VERMELHO, VERDE, AMARELO) têm um parâmetro que indica a duração da luz. Escreva um programa para testar o enum Semáforo de maneira que ele mostre as constantes e suas durações.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

29 de abril de 2009

Programação II

Atividades quarta, 29 abril 2009:

1 - Crie uma classe Retângulo. A classe tem atributos altura e largura, onde cada um tem o valor padrão 1. Ela tem métodos que calculam o perímetro e a área do retângulo. Ela tem métodos get/set para altura e largura. Os métodos set devem garantir que altura e largura são números de ponto flutuante maiores que 0.0 e menores que 20.0. Escreva um programa para testar a classe Retângulo.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

16 de abril de 2009

Programação II

Atividades quarta, 15 abril 2009:

1 - Uma academia de ginástica precisa avaliar o peso de seus alunos. Para isto, precisa calcular a partir da altura e do peso, o coeficiente de gordura. Este coeficiente é calculado através da seguinte fórmula:

coeficiente = peso / altura2

De acordo com o coeficiente, o programa deve dar o resultado segundo a tabela abaixo:

Valor entreResultado
0
15
muito abaixo do peso
16
20
abaixo do peso
21
25
peso ideal
26
30
acima do peso
31
...
muito acima do peso

Crie a classe Coeficiente com os atributos coeficiente, peso e altura (todos do tipo float) e com construtores que atendam às seguintes possibilidades:

- Nenhum parâmetro, inicializa com valores “padrão”;
- Parâmetros de peso e altura do tipo float;
- Parâmetros de peso e altura do tipo int;
- Parâmetros de peso e altura do tipo String;
- Parâmetro do tipo Coeficiente.

Crie métodos para alterar os atributos de peso e altura. Considere que os valores podem ser passados em qualquer um dos tipos: float, int ou String.

Crie métodos para retornar o valor dos atributos coeficiente, peso e altura (sempre do tipo float).

Crie um método igual(Coeficiente c), para verificar a igualdade entre o conteúdo de objetos da classe Coeficiente.

Crie um método toString() que retorna o resultado conforme a tabela acima.


2 - Defina em Java a classe PainelAtendimento cujos objetos representam os painéis eletrônicos normalmente encontrados em agências bancárias para indicar o número da senha da próxima pessoa a ser atendida (ou da última que está sendo atendida, caso todos os atendentes estejam ocupados). Todo painel deve ter como atributo o número da próxima ficha a ser atendida e o número do próximo atendente livre. Além disso, todo painel deve ter os seguintes métodos:


a) construtor, que recebe como parâmetro o número do primeiro atendente livre e o número de atendentes, inicializando o painel com o número do atendente recebido e indicando que a primeira ficha a ser atendida é a ficha 1;

b) indicarProximo, que recebe como parâmetro o número do próximo atendente livre, incrementa e retorna o número da próxima ficha a ser atendida (como as fichas são numeradas de 1 a 99, este método deve reiniciar a contagem assim que chegar a 99). Se este método não receber nenhum parâmetro, retorna o número da ficha que está sendo atendida no momento;

c) getProximas, que retorna como resultado o número de fichas a serem atendidas antes da contagem ser reiniciada;

d) getMelhorAtendente, que retorna o número do atendente que atendeu mais pessoas até o momento.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

8 de abril de 2009

Programação II

Atividades quarta, 1 abril 2009:

Aproveite a classe Contador implementada em exercício anterior e modifique, se necessário, conforme as seguintes especificações:

Cada instância dessa classe deve ter a seguinte interface:
  • Contador (int maximo); // construtor
  • void incrementa();
  • void zera();
  • int obtemValor();
  • bool verificaOverflow();
O construtor cria um objeto do tipo Contador com um número máximo de contagem, por exemplo, maximo = 9999. Um objeto Contador quando criado tem o valor inicial zero. A operação incrementa() aumenta o contador de 1, e se o contador chega ao número máximo de contagem, ele é automaticamente zerado e o contador se lembra que um evento de overflow ocorreu. A operação zera() atribui ao contador o valor zero e limpa o indicador de overflow; obtemValor() retorna o valor atual do contador, e verificaOverflow() retorna true se um evento de overflow ocorreu e false, caso contrário.

Em seguida, escreva um programa em Java que conta o número de conceitos (notas: A, B, C, D, E) do histórico de um aluno de pós-graduação da UNIVAP.

No seu programa, crie as seguintes classes:

  • Nota: Representa um conceito (A,B,C,D,E). Deve possuir construtor e métodos get/set para edição do valor;
  • Disciplina: Deve armazenar nome e nota, além de ter um construtor que recebe o nome e métodos get/set para editar a nota;
  • Aluno: Deve armazenar a matrícula do aluno e seu histórico. O histórico deve ser um array das disciplinas que o aluno cursa. A classe também deve ter métodos get/set para editar o nome, além de método para adicionar disciplinas e outro para obter o histórico (como array de disciplinas);
  • ContadorTeste: Aplicação principal que demonstra a utilização das demais classes. Deve instanciar um aluno, inserir várias disciplinas e os respectivos conceitos. Finalmente deve imprimir a contagem dos conceitos considerando o histórico do aluno.
Obs: Um objeto Contador deve ser utilizado na contagem dos conceitos.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

3 de abril de 2009

Exemplos Programação II

Contador estatistica[] = new Contador[5];


for(int i=0;i
estatistica[i] = new Contador(10);

....


switch(conceito)
{
case Nota.A: estatistica[0].incrementa();
break;
case Nota.B: estatistica[1].incrementa();
}

////////

estatistica[conceito].incrementa();


int numA = estatistica[Nota.A].obtemValor();
int numB = estatistica[Nota.B].obtemValor();

class Nota
{
public static final int A = 0;
public static final int B = 1;


}

18 de março de 2009

Programação II

Atividades quarta, 18 março 2009:

1 - Esfera: Escreva uma aplicação Java completa, para solicitar ao usuário um double como o raio de uma esfera, e chamar o método volumeEsfera para calcular e retornar o volume da esfera. Use a seguinte declaração para calcular o volume:

double volume = (4.0/3.0) * Math.PI * Math.pow(raio, 3)

2 - Contador: Escreva a classe Contador que encapsule um valor usado para contagem de itens ou eventos. Essa classe deve esconder o valor encapsulado de programadores-usuários, fazendo com que o acesso ao valor seja feito através de métodos que devem zerar, incrementar e retornar o valor do contador.

Escreva ainda uma aplicação em Java que demonstre o uso de instâncias da classe Contador.


Baixar Possível Resolução

Para baixar o JCreator clique aqui.

12 de março de 2009

Programação II

Atividades quarta, 11 março 2009:

1 - Fatorial: Fatoriais são usados frequentemente em problemas de probabilidade. O fatorial de um inteiro positivo n (escrito n! e pronunciado "n fatorial") é igual ao produto dos inteiros positivos de 1 até n. Escreva uma aplicação que calcula o fatorial de inteiros de 1 a 5. Mostre os resultados de forma tabular.

2 - Vendas:
Uma empresa vende 5 produtos cujos preços de venda no varejo são os seguintes: produto 1, R$2,98; produto 2, R$4,50; produto 3, R$9,98; produto 4, R$4,49 e produto 5, R$6,87. Escreva uma aplicação que leia uma série de pares de números como segue:
  • número do produto
  • quantidade vendida
Seu programa deverá usar a instrução switch para determinar o preço de varejo para cada produto. Ele deverá calcular e mostrar o valor total das vendas para cada um dos produtos vendidos. Use um loop controlado por sentinela para determinar quando o programa deverá parar e mostrar os resultados finais.

Obs: Não aceite produtos inválidos (com id fora da faixa 1 a 5).

3 - Diamante: Escreva uma aplicação que imprima a figura (diamante) abaixo. Você deve usar comandos de saída que imprimam um asterisco (*), um espaço simples ou um simples caractere de quebra de linha. Maximize o uso de repetição (com comandos for aninhados), e minimize o número de comandos de saída.

Diamante

3 - Diamante 2: Modifique a aplicação anterior (Diamante) para ler um número ímpar na faixa de 1 a 19 fornecido pelo usuário e que especifique o número de linhas do diamante. Seu programa, então, deverá mostrar o diamante no tamanho adequado.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

4 de março de 2009

Programação II

Atividades quarta, 04 março 2009:

1 - Maior que 10: O processo de encontrar o maior valor (o máximo de um grupo de valores) é usado frequentemente em aplicações de computador. Por exemplo, um programa que determine o melhor em vendas, deve levar em conta o número de unidades vendidas por cada vendedor. O vendedor que vender mais unidades é o vencedor.

Escreva uma aplicação em Java que leia uma série de 10 inteiros e determine e imprima o maior entre eles. Seu programa deve usar, ao menos, as seguintes variáveis:
  • contador: para controlar o número de números inteiros processados (máximo 10)
  • numero: o inteiro digitado pelo usuário
  • maior: o maior número inteiro encontrado

2 - Quadrado Vazio: Escreva uma aplicação que solicita ao usuário que entre o tamanho do lado de um quadrado. Então, mostre um quadrado vazio com os lados formados por asteriscos (*). Seu programa deve aceitar quadrados nos tamanhos de 1 a 20.

3 - Palíndromo: Um palíndromo é uma sequência de caracteres que mantém o mesmo significado quando lida normalmente ou de trás para a frente. Por exemplo, cada um dos inteiros de 5 dígitos à seguir: 12321, 55555, 45554 e 11611. Escreva uma aplicação que lê um inteiro de 5 dígitos e determina se ele é um palíndromo. Se o número não tiver 5 dígitos exatamente, mostre uma mensagem de erro e permita ao usuário que ele entre um novo valor.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

19 de fevereiro de 2009

Programação II

Atividades quarta, 18 fevereiro 2009:

1 - Fatura: Crie uma classe chamada Fatura que um equipamento de uma loja pode usar para representar uma fatura de um item vendido.

Uma Fatura deverá incluir quatro campos de informação, como variáveis de instância - número (tipo String), descrição (tipo String), quantidade do item sendo comprado (tipo int) e preço do item (tipo double).

Sua classe deve ter um construtor que inicializa as quatro variáveis da instância.

Forneça métodos set e get para cada variável de instância. Além disso, forneça um método chamado getFaturaTotal que calcula o total da fatura (multiplica a quantidade pelo preço do item), então retorna o total como um valor double.

Obs: Se a quantidade não for positiva, deve ser definida como 0. Se o preço do item não for positivo, deverá ser atribuído 0,0.

Escreva uma aplicação de teste chamada FaturaTest que demonstra as funcionalidades da classe Fatura.

2 - Empregado: Crie uma classe chamada Empregado que inclua três campos de informação como variáveis de instância - primeiro nome (String), último nome (String) e salário mensal (double). Sua classe deverá ter um construtor que inicializa as três variáveis de instância. Forneça métodos set e get para cada variável de instância. Se o salário mensal for negativo, atribua 0. Escreva uma aplicação de teste chamada EmpregadoTeste que demonstra as capacidades da classe Empregado. Crie dois objetos do tipo Empregado (dois empregados) e mostre o salário anual de cada um. Depois, dê a cada empregado um aumento de 10% no salário. Mostre o salário anual de cada um novamente.

3 - Data: Crie uma classe chamada Data que inclui três campos de informação como variáveis de instância - mês (int), dia (int) e ano (int). Sua classe deverá ter um construtor que inicialize as três variáveis de instância e assuma que os valores fornecidos estão corretos. Forneça métodos set e get para cada variável de instância. Implemente um método mostraData que mostra o dia, mês e ano separados por barras (/). Escreva uma aplicação de teste chamada DataTeste que demonstra as funcionalidades da classe Data.

4- Addition: Modifique o programa Addition da figura 2.7 (ver PPT do capítulo 2) para usar entrada de dados baseada em diálogos com JOptionPane, ao invés da entrada via console usando Scanner. Considerando que o método showInputDialog apenas retorna strings, você deve converter as strings que o usuário entrar para inteiros, de forma que possam ser usados nos cálculos. O método Integer.parseInt (String s) recebe uma string passada como argumento e retorna o valor como um inteiro. Se a string não contiver um inteiro válido, o programa irá terminar em erro.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

17 de fevereiro de 2009

Programação II

Atividades quarta, 11 fevereiro 2009:

1 - Produto: Escreva um programa em Java completo que calcule e imprima o produto de três inteiros fornecidos pelo usuário.

2 - Cálculo: Escreva uma aplicação em Java que solicite ao usuário dois inteiros e imprima a soma, produto, diferença e quociente entre eles.

3 - Maior: Escreva uma aplicação em Java que solicite ao usuário dois inteiros e imprima o maior entre eles seguido da string "é o maior!". Se os números forem iguais, imprima a mensagem: "Os números são iguais."

4 - Cálculo 2: Escreva uma aplicação que lê três números inteiros fornecidos pelo usuário e imprime a soma, a média, o produto, o menor e o maior dos números.
Obs: O cálculo da média neste exercício deve resultar em um inteiro. Exemplo: se a soma dos valores for 7, a média deve ser 2, não 2.3333...

5 - Par ou ímpar: Escreva uma aplicação que leia um inteiro, determine e imprima quando ele for ímpar ou par.
Dica: Use o operador de resto. Um número par é múltiplo de 2. Qualquer múltiplo de 2 deixa resto 0 quando dividido por 2.

6 - Círculo: No capítulo 2, você aprendeu sobre inteiros e o tipo int. Java também pode representar números de ponto-flutuante que contenham ponto decimal, como 3.14159. Escreva uma aplicação que lê um inteiro representando o raio de um círculo fornecido pelo usuário e imprima o diâmetro do círculo, o perímetro da circunferência e a área usando o valor de ponto-flutuante 3.14159 para PI.

Obs: Você também pode usar a constante pré-definida Math.PI para o valor de PI. Esta constante é mais precisa que o valor 3.14159. A classe Math está definida no pacote java.lang. Classes nesse pacote são importadas automaticamente, assim você não precisa importar a classe Math para usá-la.

Use as seguintes fórmulas (onde R é o raio):
  • diâmetro = 2R
  • circunferência = 2PIR
  • área = PIRR (R ao quadrado)

Não armazene os resultados de cada operação em uma variável. Especifique cada cálculo como o valor que será impresso na declaração System.out.printf. Note que os valores produzidos nos cálculos da circunferência e área são números de ponto-flutuante. Esses valores podem ser impressos usando o formato %f na função System.out.printf.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

Programação II

Matéria:

Capítulo 1 - Introdução
Capítulo 2 - Introdução ao Java
Capítulo 3 - Introdução a Classes e Objetos
Capítulo 4 - Instruções de Controle - Parte 1
Capítulo 5 - Instruções de Controle - Parte 2
Capítulo 6 - Métodos
Capítulo 7 - Arrays
Capítulo 8 - Classes e Objetos
Capítulo 9 - Herança
Capítulo 10 - Polimorfismo


Referências Bibliográficas:
  • Introdução ao Java
    • Autor: Junior, Peter Jandl
    • Editora: Berkeley
    Java - Como Programar
    • Autores: Deitel, H. M.; Deitel, P. J.
    • Editora: Bookman
    Core Java 2 - Volume 1- Fundamentos
    • Autores: Horstmann, Cay S.; Cornell, Gary
    • Editora: Makron Books
    Core Java 2 - Volume 2 - Recursos Avançados
    • Autores: Horstmann, Cay S.; Cornell, Gary
    • Editora: Makron Books