SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
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.
Curso: Integrado Informática
Respostas
1.
a) Polimorfismo é a capacidade de um objeto enviar uma mensagem genérica para muitos outros
objetos; ou seja, um mesmo nome de método é usado em diferentes classes ou usado na mesma classe
com quantidade de parâmetros diferentes ou tipos de parâmetros diferentes.
b) O encapsulamento é justamente o empacotamento dos atributos e dos métodos numa mesma
classe. Isto serve para protege os dados contra corrupção, pois somente os métodos da classe poderão
alterar as estruturas de dados desta classe em questão.
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("nÁrea = " + 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 método e
é obrigatório quando o tipo de retorno não é void. Ele deve receber um único valor ou uma expressão que
deve ser compatível com o tipo de retorno especificado para o método. Quando o comando é encontrado,
o método termina sua execução imediatamente, ignorando todas as instruções subsequentes.
Um comando return sem valor de retorno retorna o tipo void, mas não é obrigatória sua utilização nestes
casos.
4.
Hotel
-CódigoReserva: int
-NúmeroQuarto: Int
-TipoQuarto: String
-QuantidadeCama: int
-TipoCama: String
-NomeHospede: String
-RGHospede: String
-EndHospede: String
-TelHospede: String
-NomeFuncionário: String
-RGFuncionário: String
-EndFuncionário: String
-TelFuncionário: String
-DataEntrada: String
-DataSaída: String
-ValorReserva: double
-Pago: boolean
-TotalOcupação: int
VerificarDisponibilidadeQuarto()
ReservarQuarto()
InserirDados()
AlterarDados()
RemoverDados()
5. package exercicio5;
public class Exercicio5 {
private int cont;
public void contar(){
for(cont=0;cont<=10;cont++){
System.out.print(cont+" ");
} }
public void contar(int x){
cont=x;
for(cont=0;cont<=10;cont++){
System.out.println(cont);
} }
public static void main(String[] args) {
Exercicio5 x = new Exercicio5();
x.contar();
x.contar(0);
} }
6. package exercicio6;
public class Exercicio6 {
private int cont;
public void contar(){
for(cont=10;cont>=0;cont--){
System.out.print(cont+" ");
}
System.out.print("n");
}
public void contar(int x){
cont=x;
for(cont=10;cont>=0;cont--){
System.out.println(cont);
} }
public static void main(String[] args) {
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<4;l++){
for(int c=0;c<5;c++){
conta[l][c]=v;
v++;
} }
for(int l=0;l<4;l++){
for(int c=0;c<5;c++){
System.out.print(conta[l][c]+" ");
}
System.out.print("n");
} } }
8. package exercicio8;
public class Exercicio8 {
public static void main(String[] args) {
int cont;
int soma=0;
for(cont=0;cont<=10;cont++){
soma=soma+cont;
}
System.out.println(soma);
} }
9. package exercicio9;
import javax.swing.JOptionPane;
public class Exercicio9 {
public static void main(String[] args) {
int A[]=new int[10];
int B[]=new int[10];
int cont;
for (cont=0;cont<10;cont++){
A[cont]=Integer.valueOf(JOptionPane.showInputDialog("Insira um valor para o vetor A"));
B[9-cont] = A[cont];
}
System.out.println(" Vetor A:t Vetor B:");
for (cont=0;cont<10;cont++){
System.out.println("índice "+cont+ " = "+ A[cont]+"t"+"índice "+cont+ " = "+B[cont]);
} } }
10. package exercicio10;
import javax.swing.JOptionPane;
public class Exercicio10 {
public static void main(String[] args) {
int A[]=new int[5];
int B[]=new int[5];
int C[]=new int[10];
int cont;
for (cont=0;cont<5;cont++){
A[cont]=Integer.valueOf(JOptionPane.showInputDialog("Insira um valor para o vetor A"));
C[cont]=A[cont];
}
for (cont=0;cont<5;cont++){
B[cont]=Integer.valueOf(JOptionPane.showInputDialog("Insira um valor para o vetor B"));
C[cont+5]=B[cont];
}
System.out.println(" Vetor A:t Vetor B:");
for (cont=0;cont<5;cont++){
System.out.println("índice "+cont+ " = "+ A[cont]+"t"+"índice "+cont+ " = "+B[cont]);
}
System.out.println(" Vetor C:");
for (cont=0;cont<10;cont++){
System.out.println("índice "+cont+ " = "+ C[cont]);
} } }

Weitere ähnliche Inhalte

Was ist angesagt?

Logica programacao python-slides
Logica programacao python-slidesLogica programacao python-slides
Logica programacao python-slidesronaldo ramos
 
Lógica de programação com visu alg
Lógica de programação com visu algLógica de programação com visu alg
Lógica de programação com visu algLeandro Santos
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaodiogoa21
 
Exercicios java2016 - resolvidos
Exercicios java2016 - resolvidosExercicios java2016 - resolvidos
Exercicios java2016 - resolvidosHelda Matos
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosMauro Pereira
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)Márcio Rizzatto
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresWillians Miyabara
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidosCrishna Irion
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Eder Samaniego
 

Was ist angesagt? (20)

Algoritmos - Vetores
Algoritmos - VetoresAlgoritmos - Vetores
Algoritmos - Vetores
 
Introdução a python
Introdução a pythonIntrodução a python
Introdução a python
 
Logica programacao python-slides
Logica programacao python-slidesLogica programacao python-slides
Logica programacao python-slides
 
Lógica de programação com visu alg
Lógica de programação com visu algLógica de programação com visu alg
Lógica de programação com visu alg
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
 
SQL - Banco de Dados Biblioteca
SQL - Banco de Dados BibliotecaSQL - Banco de Dados Biblioteca
SQL - Banco de Dados Biblioteca
 
Exercicios java2016 - resolvidos
Exercicios java2016 - resolvidosExercicios java2016 - resolvidos
Exercicios java2016 - resolvidos
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Algoritmo recursivo
Algoritmo recursivoAlgoritmo recursivo
Algoritmo recursivo
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
Interface grafica
Interface graficaInterface grafica
Interface grafica
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Algoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e MatrizesAlgoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e Matrizes
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 

Ähnlich wie Exercícios de programação orientado a objeto

02 JAVAEstrutura sequencial (slides).pptx
02 JAVAEstrutura sequencial (slides).pptx02 JAVAEstrutura sequencial (slides).pptx
02 JAVAEstrutura sequencial (slides).pptxwilliam Sarti José
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetosunifesptk
 
Aula01
Aula01Aula01
Aula01vdlos
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funçõesCarla Lee
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e ExercíciosArthur Emanuel
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturadadiogoa21
 
Atividade programação script 4
Atividade programação script 4Atividade programação script 4
Atividade programação script 4Rtec Informatica
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 
Aop Aspect J 1.5.4 Capitulo 04
Aop Aspect J 1.5.4 Capitulo 04Aop Aspect J 1.5.4 Capitulo 04
Aop Aspect J 1.5.4 Capitulo 04Diego Pacheco
 

Ähnlich wie Exercícios de programação orientado a objeto (20)

02 JAVAEstrutura sequencial (slides).pptx
02 JAVAEstrutura sequencial (slides).pptx02 JAVAEstrutura sequencial (slides).pptx
02 JAVAEstrutura sequencial (slides).pptx
 
Java5
Java5Java5
Java5
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 
Mock Objects
Mock ObjectsMock Objects
Mock Objects
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetos
 
Aula01
Aula01Aula01
Aula01
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
Series lab
Series labSeries lab
Series lab
 
Java2
Java2Java2
Java2
 
Modulo02
Modulo02Modulo02
Modulo02
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funções
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
 
Atividade programação script 4
Atividade programação script 4Atividade programação script 4
Atividade programação script 4
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
Aop Aspect J 1.5.4 Capitulo 04
Aop Aspect J 1.5.4 Capitulo 04Aop Aspect J 1.5.4 Capitulo 04
Aop Aspect J 1.5.4 Capitulo 04
 
Java3
Java3Java3
Java3
 

Mehr von Gleyciana Garrido

Projeto de pesquisa: biodiesel b50 de óleo de soja e mamona a eficiência da...
Projeto de pesquisa: biodiesel b50 de óleo de soja e mamona   a eficiência da...Projeto de pesquisa: biodiesel b50 de óleo de soja e mamona   a eficiência da...
Projeto de pesquisa: biodiesel b50 de óleo de soja e mamona a eficiência da...Gleyciana Garrido
 
Implementar Um Banco de Dados
Implementar Um Banco de DadosImplementar Um Banco de Dados
Implementar Um Banco de DadosGleyciana Garrido
 
Sistema de Gerenciamento de Locadora de Vídeo - Banco de Dados
Sistema de Gerenciamento de Locadora de Vídeo - Banco de DadosSistema de Gerenciamento de Locadora de Vídeo - Banco de Dados
Sistema de Gerenciamento de Locadora de Vídeo - Banco de DadosGleyciana Garrido
 
Sistema de Gerenciamento de Locadora de Vídeo - Diagramas
Sistema de Gerenciamento de Locadora de Vídeo - DiagramasSistema de Gerenciamento de Locadora de Vídeo - Diagramas
Sistema de Gerenciamento de Locadora de Vídeo - DiagramasGleyciana Garrido
 
CIPA E MAPA DE RISCO - HIGIÊNE E SEGURANÇA DO TRABALHO
CIPA E MAPA DE RISCO - HIGIÊNE E SEGURANÇA DO TRABALHOCIPA E MAPA DE RISCO - HIGIÊNE E SEGURANÇA DO TRABALHO
CIPA E MAPA DE RISCO - HIGIÊNE E SEGURANÇA DO TRABALHOGleyciana Garrido
 
HIGIÊNE E SEGURANÇA DO TRABALHO - RESUMÃO
HIGIÊNE E SEGURANÇA DO TRABALHO - RESUMÃOHIGIÊNE E SEGURANÇA DO TRABALHO - RESUMÃO
HIGIÊNE E SEGURANÇA DO TRABALHO - RESUMÃOGleyciana Garrido
 
Projeto de Pesquisa: Biodiesel B50 de Óleo de Soja e Mamona - A Eficiência da...
Projeto de Pesquisa: Biodiesel B50 de Óleo de Soja e Mamona - A Eficiência da...Projeto de Pesquisa: Biodiesel B50 de Óleo de Soja e Mamona - A Eficiência da...
Projeto de Pesquisa: Biodiesel B50 de Óleo de Soja e Mamona - A Eficiência da...Gleyciana Garrido
 
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)Gleyciana Garrido
 
Sistema de Gerenciamento de Locadora de Vídeo - Apresentação
Sistema de Gerenciamento de Locadora de Vídeo - ApresentaçãoSistema de Gerenciamento de Locadora de Vídeo - Apresentação
Sistema de Gerenciamento de Locadora de Vídeo - ApresentaçãoGleyciana Garrido
 
Fichamento: Livro: A construção do Saber cap.?
Fichamento:   Livro: A construção do Saber cap.?Fichamento:   Livro: A construção do Saber cap.?
Fichamento: Livro: A construção do Saber cap.?Gleyciana Garrido
 
Perfil do profissional para o mercado de trabalho
Perfil do profissional para o mercado de trabalhoPerfil do profissional para o mercado de trabalho
Perfil do profissional para o mercado de trabalhoGleyciana Garrido
 

Mehr von Gleyciana Garrido (12)

Projeto de pesquisa: biodiesel b50 de óleo de soja e mamona a eficiência da...
Projeto de pesquisa: biodiesel b50 de óleo de soja e mamona   a eficiência da...Projeto de pesquisa: biodiesel b50 de óleo de soja e mamona   a eficiência da...
Projeto de pesquisa: biodiesel b50 de óleo de soja e mamona a eficiência da...
 
Implementar Um Banco de Dados
Implementar Um Banco de DadosImplementar Um Banco de Dados
Implementar Um Banco de Dados
 
Sistema de Gerenciamento de Locadora de Vídeo - Banco de Dados
Sistema de Gerenciamento de Locadora de Vídeo - Banco de DadosSistema de Gerenciamento de Locadora de Vídeo - Banco de Dados
Sistema de Gerenciamento de Locadora de Vídeo - Banco de Dados
 
Sistema de Gerenciamento de Locadora de Vídeo - Diagramas
Sistema de Gerenciamento de Locadora de Vídeo - DiagramasSistema de Gerenciamento de Locadora de Vídeo - Diagramas
Sistema de Gerenciamento de Locadora de Vídeo - Diagramas
 
CIPA E MAPA DE RISCO - HIGIÊNE E SEGURANÇA DO TRABALHO
CIPA E MAPA DE RISCO - HIGIÊNE E SEGURANÇA DO TRABALHOCIPA E MAPA DE RISCO - HIGIÊNE E SEGURANÇA DO TRABALHO
CIPA E MAPA DE RISCO - HIGIÊNE E SEGURANÇA DO TRABALHO
 
HIGIÊNE E SEGURANÇA DO TRABALHO - RESUMÃO
HIGIÊNE E SEGURANÇA DO TRABALHO - RESUMÃOHIGIÊNE E SEGURANÇA DO TRABALHO - RESUMÃO
HIGIÊNE E SEGURANÇA DO TRABALHO - RESUMÃO
 
Projeto de Pesquisa: Biodiesel B50 de Óleo de Soja e Mamona - A Eficiência da...
Projeto de Pesquisa: Biodiesel B50 de Óleo de Soja e Mamona - A Eficiência da...Projeto de Pesquisa: Biodiesel B50 de Óleo de Soja e Mamona - A Eficiência da...
Projeto de Pesquisa: Biodiesel B50 de Óleo de Soja e Mamona - A Eficiência da...
 
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
 
Sistema de Gerenciamento de Locadora de Vídeo - Apresentação
Sistema de Gerenciamento de Locadora de Vídeo - ApresentaçãoSistema de Gerenciamento de Locadora de Vídeo - Apresentação
Sistema de Gerenciamento de Locadora de Vídeo - Apresentação
 
Fichamento: Livro: A construção do Saber cap.?
Fichamento:   Livro: A construção do Saber cap.?Fichamento:   Livro: A construção do Saber cap.?
Fichamento: Livro: A construção do Saber cap.?
 
Exercício hst
Exercício  hstExercício  hst
Exercício hst
 
Perfil do profissional para o mercado de trabalho
Perfil do profissional para o mercado de trabalhoPerfil do profissional para o mercado de trabalho
Perfil do profissional para o mercado de trabalho
 

Exercícios de programação orientado a objeto

  • 1. 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.
  • 2. Curso: Integrado Informática Respostas 1. a) Polimorfismo é a capacidade de um objeto enviar uma mensagem genérica para muitos outros objetos; ou seja, um mesmo nome de método é usado em diferentes classes ou usado na mesma classe com quantidade de parâmetros diferentes ou tipos de parâmetros diferentes. b) O encapsulamento é justamente o empacotamento dos atributos e dos métodos numa mesma classe. Isto serve para protege os dados contra corrupção, pois somente os métodos da classe poderão alterar as estruturas de dados desta classe em questão. 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("nÁrea = " + 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 método e é obrigatório quando o tipo de retorno não é void. Ele deve receber um único valor ou uma expressão que deve ser compatível com o tipo de retorno especificado para o método. Quando o comando é encontrado, o método termina sua execução imediatamente, ignorando todas as instruções subsequentes. Um comando return sem valor de retorno retorna o tipo void, mas não é obrigatória sua utilização nestes casos.
  • 3. 4. Hotel -CódigoReserva: int -NúmeroQuarto: Int -TipoQuarto: String -QuantidadeCama: int -TipoCama: String -NomeHospede: String -RGHospede: String -EndHospede: String -TelHospede: String -NomeFuncionário: String -RGFuncionário: String -EndFuncionário: String -TelFuncionário: String -DataEntrada: String -DataSaída: String -ValorReserva: double -Pago: boolean -TotalOcupação: int VerificarDisponibilidadeQuarto() ReservarQuarto() InserirDados() AlterarDados() RemoverDados() 5. package exercicio5; public class Exercicio5 { private int cont; public void contar(){ for(cont=0;cont<=10;cont++){ System.out.print(cont+" "); } } public void contar(int x){ cont=x; for(cont=0;cont<=10;cont++){ System.out.println(cont); } } public static void main(String[] args) { Exercicio5 x = new Exercicio5(); x.contar(); x.contar(0); } } 6. package exercicio6; public class Exercicio6 { private int cont; public void contar(){ for(cont=10;cont>=0;cont--){ System.out.print(cont+" "); } System.out.print("n"); } public void contar(int x){ cont=x; for(cont=10;cont>=0;cont--){ System.out.println(cont); } } public static void main(String[] args) {
  • 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<4;l++){ for(int c=0;c<5;c++){ conta[l][c]=v; v++; } } for(int l=0;l<4;l++){ for(int c=0;c<5;c++){ System.out.print(conta[l][c]+" "); } System.out.print("n"); } } } 8. package exercicio8; public class Exercicio8 { public static void main(String[] args) { int cont; int soma=0; for(cont=0;cont<=10;cont++){ soma=soma+cont; } System.out.println(soma); } } 9. package exercicio9; import javax.swing.JOptionPane; public class Exercicio9 { public static void main(String[] args) { int A[]=new int[10]; int B[]=new int[10]; int cont; for (cont=0;cont<10;cont++){ A[cont]=Integer.valueOf(JOptionPane.showInputDialog("Insira um valor para o vetor A")); B[9-cont] = A[cont]; } System.out.println(" Vetor A:t Vetor B:"); for (cont=0;cont<10;cont++){ System.out.println("índice "+cont+ " = "+ A[cont]+"t"+"índice "+cont+ " = "+B[cont]); } } } 10. package exercicio10; import javax.swing.JOptionPane; public class Exercicio10 { public static void main(String[] args) { int A[]=new int[5]; int B[]=new int[5]; int C[]=new int[10]; int cont; for (cont=0;cont<5;cont++){ A[cont]=Integer.valueOf(JOptionPane.showInputDialog("Insira um valor para o vetor A"));
  • 5. C[cont]=A[cont]; } for (cont=0;cont<5;cont++){ B[cont]=Integer.valueOf(JOptionPane.showInputDialog("Insira um valor para o vetor B")); C[cont+5]=B[cont]; } System.out.println(" Vetor A:t Vetor B:"); for (cont=0;cont<5;cont++){ System.out.println("índice "+cont+ " = "+ A[cont]+"t"+"índice "+cont+ " = "+B[cont]); } System.out.println(" Vetor C:"); for (cont=0;cont<10;cont++){ System.out.println("índice "+cont+ " = "+ C[cont]); } } }