5
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO CEARÁ CAMPUS CEDRO Curso: Integrado em Informática Disciplina: Programação Orientada a Objetos EXERCÍCIOS 04 PROGRAMAÇÃO ORIENTADA A OBJETOS 1º) Defina (diga o que é e para que serve): · Polimorfismo · Encapsulamento 2º) Dê dois exemplos de uso de cada uma das definições do exercício anterior. 3º) O que é um tipo de retorno? Todo método precisa ter um? 4º) Descrever o diagrama de classes para um sistema simples de reserva e ocupação de quartos para um hotel. O sistema deve armazenar reservas feitas por um funcionário de um ou mais quartos para um determinado cliente. O funcionário deve ser capaz de :verificar se um quarto está ocupado ou não, inserir ou alterar os dados de um cliente, realizar a reserva de um quarto para um cliente. Considere os atributos de todas as classes como privados. Cada cliente e funcionário deve possuir: nome, rg, endereço, telefone. O cliente ainda deve possuir um campo que armazene a quantidade de ocupações já realizadas por ele. Um quarto pode ser simples ou luxo e deve indicar o número de camas e o tipo de cada uma delas (solteiro ou casal). 5º) Escreva uma aplicação console Java que usa o laço for para contar de 0 até 10. Faça dois exemplos. No primeiro você deverá escrever os valores na horizontal e no segundo você deverá escrever os valores na vertical. 6º) Agora você deverá usar o laço for para contar de 10 até 0, ou seja, o inverso do exercício anterior. Novamente você deverá fazer dois exemplos. No primeiro você deverá escrever os valores na horizontal e no segundo você deverá escrever os valores na vertical. 7º) Escreva um programa Java console que usa o laço for para contar de 1 até 20 e exibir estes valores no seguinte formato: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Dica: Use o operador de módulo % para determinar o momento da quebra de linha e o método System.out.printf() para formatar o valor a ser exibido de forma a adicionar a quantidade correta de espaços entre os valores. 8º) Escreva um programa Java que usa o laço for para contar de 0 até 10 e somar todos estes valores, ou seja, 0 + 1 + 2 + 3 + etc. Como resultado seu programa deverá exibir o valor 55. 9º) Ler um vetor A de 10 elementos. Construa um vetor B do mesmo tipo que recebe os valores de A na ordem inversa. O primeiro elemento de A será o último de B, o segundo de A será o penúltimo de B e assim por diante. Escreva A e B. 10º) Ler dois vetores A e B de inteiros com 5 elementos cada. Crie um vetor C que recebe os valores de A e B, nesta ordem. Desta forma, C terá o dobro de tamanho de A ou B. Escreva A, B e C.

Exercícios de programação orientado a objeto

Embed Size (px)

Citation preview

  1. 1. INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA DO CEAR CAMPUS CEDRO Curso: Integrado em Informtica Disciplina: Programao Orientada a Objetos EXERCCIOS 04 PROGRAMAO ORIENTADA A OBJETOS 1) Defina (diga o que e para que serve): Polimorfismo Encapsulamento 2) D dois exemplos de uso de cada uma das definies do exerccio anterior. 3) O que um tipo de retorno? Todo mtodo precisa ter um? 4) Descrever o diagrama de classes para um sistema simples de reserva e ocupao de quartos para um hotel. O sistema deve armazenar reservas feitas por um funcionrio de um ou mais quartos para um determinado cliente. O funcionrio deve ser capaz de :verificar se um quarto est ocupado ou no, inserir ou alterar os dados de um cliente, realizar a reserva de um quarto para um cliente. Considere os atributos de todas as classes como privados. Cada cliente e funcionrio deve possuir: nome, rg, endereo, telefone. O cliente ainda deve possuir um campo que armazene a quantidade de ocupaes j realizadas por ele. Um quarto pode ser simples ou luxo e deve indicar o nmero de camas e o tipo de cada uma delas (solteiro ou casal). 5) Escreva uma aplicao console Java que usa o lao for para contar de 0 at 10. Faa dois exemplos. No primeiro voc dever escrever os valores na horizontal e no segundo voc dever escrever os valores na vertical. 6) Agora voc dever usar o lao for para contar de 10 at 0, ou seja, o inverso do exerccio anterior. Novamente voc dever fazer dois exemplos. No primeiro voc dever escrever os valores na horizontal e no segundo voc dever escrever os valores na vertical. 7) Escreva um programa Java console que usa o lao for para contar de 1 at 20 e exibir estes valores no seguinte formato: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Dica: Use o operador de mdulo % para determinar o momento da quebra de linha e o mtodo System.out.printf() para formatar o valor a ser exibido de forma a adicionar a quantidade correta de espaos entre os valores. 8) Escreva um programa Java que usa o lao for para contar de 0 at 10 e somar todos estes valores, ou seja, 0 + 1 + 2 + 3 + etc. Como resultado seu programa dever exibir o valor 55. 9) Ler um vetor A de 10 elementos. Construa um vetor B do mesmo tipo que recebe os valores de A na ordem inversa. O primeiro elemento de A ser o ltimo de B, o segundo de A ser o penltimo de B e assim por diante. Escreva A e B. 10) Ler dois vetores A e B de inteiros com 5 elementos cada. Crie um vetor C que recebe os valores de A e B, nesta ordem. Desta forma, C ter o dobro de tamanho de A ou B. Escreva A, B e C.
  2. 2. Curso: Integrado Informtica Respostas 1. a) Polimorfismo a capacidade de um objeto enviar uma mensagem genrica para muitos outros objetos; ou seja, um mesmo nome de mtodo usado em diferentes classes ou usado na mesma classe com quantidade de parmetros diferentes ou tipos de parmetros diferentes. b) O encapsulamento justamente o empacotamento dos atributos e dos mtodos numa mesma classe. Isto serve para protege os dados contra corrupo, pois somente os mtodos da classe podero alterar as estruturas de dados desta classe em questo. 2. Exemplo de Polimorfismo: public class Retangulo { private float base, alt; public Retangulo() { base = 5; alt = 20; } public Retangulo(float b, float a) { base = b; alt = a; } public void mostrarArea() { System.out.println("nrea = " + base * alt); } public static void main(String args[]) { Retangulo ret1 = new Retangulo(10,2); Retangulo ret2 = new Retangulo(); ret1.mostrarArea(); ret2.mostrarArea(); } } Exemplo de Encapsulamento: public class JavaOO_0101 { private float base; private float alt; public void iniciar(float b, float a) { base = b; alt = a; } public void mostrarArea() { System.out.println("nArea = " + base * alt); } public static void main (String args[]) { JavaOO_0101 x = new JavaOO_0101(); x.iniciar(10, 2); x.mostrarArea(); JavaOO_0101 y = new JavaOO_0101(); y.iniciar(5, 3); y.mostrarArea(); } } 3. O comando return utilizado para passar o valor requerido de volta para quem chamou o mtodo e obrigatrio quando o tipo de retorno no void. Ele deve receber um nico valor ou uma expresso que deve ser compatvel com o tipo de retorno especificado para o mtodo. Quando o comando encontrado, o mtodo termina sua execuo imediatamente, ignorando todas as instrues subsequentes. Um comando return sem valor de retorno retorna o tipo void, mas no obrigatria sua utilizao nestes casos.
  3. 3. 4. Hotel -CdigoReserva: int -NmeroQuarto: Int -TipoQuarto: String -QuantidadeCama: int -TipoCama: String -NomeHospede: String -RGHospede: String -EndHospede: String -TelHospede: String -NomeFuncionrio: String -RGFuncionrio: String -EndFuncionrio: String -TelFuncionrio: String -DataEntrada: String -DataSada: String -ValorReserva: double -Pago: boolean -TotalOcupao: int VerificarDisponibilidadeQuarto() ReservarQuarto() InserirDados() AlterarDados() RemoverDados() 5. package exercicio5; public class Exercicio5 { private int cont; public void contar(){ for(cont=0;cont=0;cont--){ System.out.println(cont); } } public static void main(String[] args) {
  4. 4. Exercicio6 x = new Exercicio6(); x.contar(); x.contar(10); } } 7. package exercicio7; public class Exercicio7 { public static void main(String[] args) { int v=1; int conta[][]= new int[4][5]; for(int l=0;l