SlideShare uma empresa Scribd logo
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]);
} } }

Mais conteúdo relacionado

Mais procurados

Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
Eder Samaniego
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Gercélia Ramos
 
Algoritmos: Variáveis e Constantes
Algoritmos: Variáveis e ConstantesAlgoritmos: Variáveis e Constantes
Algoritmos: Variáveis e Constantes
Elaine Cecília Gatto
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
Pacc UAB
 
Lógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicionalLógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicional
Wesley R. Bezerra
 
Linguagem C - Funções
Linguagem C - FunçõesLinguagem C - Funções
Linguagem C - Funções
Elaine Cecília Gatto
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
Karoline Tavares
 
Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
Professor Samuel Ribeiro
 
Exercicios Resolvidos Série MIPS Embarcados
Exercicios Resolvidos Série MIPS EmbarcadosExercicios Resolvidos Série MIPS Embarcados
Exercicios Resolvidos Série MIPS Embarcados
Elaine Cecília Gatto
 
Algoritmos
AlgoritmosAlgoritmos
Linguagem C 06 Funcoes
Linguagem C 06 FuncoesLinguagem C 06 Funcoes
Linguagem C 06 Funcoes
Regis Magalhães
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
Mauro Pereira
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
Willians Miyabara
 
POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
Felipe J. R. Vieira
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
Daniel Fernandes Costa
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
Mauro Pereira
 
Aula 3 algoritmos
Aula 3   algoritmosAula 3   algoritmos
Aula 3 algoritmos
Patrick_turma10
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
Willians Miyabara
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
engenhariadecomputacao
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
Elaine Cecília Gatto
 

Mais procurados (20)

Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Algoritmos: Variáveis e Constantes
Algoritmos: Variáveis e ConstantesAlgoritmos: Variáveis e Constantes
Algoritmos: Variáveis e Constantes
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
 
Lógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicionalLógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicional
 
Linguagem C - Funções
Linguagem C - FunçõesLinguagem C - Funções
Linguagem C - Funções
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
 
Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
 
Exercicios Resolvidos Série MIPS Embarcados
Exercicios Resolvidos Série MIPS EmbarcadosExercicios Resolvidos Série MIPS Embarcados
Exercicios Resolvidos Série MIPS Embarcados
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Linguagem C 06 Funcoes
Linguagem C 06 FuncoesLinguagem C 06 Funcoes
Linguagem C 06 Funcoes
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Aula 3 algoritmos
Aula 3   algoritmosAula 3   algoritmos
Aula 3 algoritmos
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 

Semelhante a 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).pptx
william Sarti José
 
Java5
Java5Java5
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
Ialis Cavalcante
 
Mock Objects
Mock ObjectsMock Objects
Mock Objects
elliando dias
 
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
unifesptk
 
Aula01
Aula01Aula01
Aula01
vdlos
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
Henry Raúl González Brito
 
Series lab
Series labSeries lab
Java2
Java2Java2
Modulo02
Modulo02Modulo02
Modulo02
Lisandro Michel
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funções
Carla Lee
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
Natanael 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ícios
Arthur Emanuel
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
Armando Daniel
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
diogoa21
 
Atividade programação script 4
Atividade programação script 4Atividade programação script 4
Atividade programação script 4
Rtec 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 1
ariovaldodias
 
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
ariovaldodias
 
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
Diego Pacheco
 
Java3
Java3Java3

Semelhante a 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
 

Mais de 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 Dados
Gleyciana 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 Dados
Gleyciana 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 - Diagramas
Gleyciana 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 TRABALHO
Gleyciana 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ÃO
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
 
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ção
Gleyciana 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
 
Exercício hst
Exercício  hstExercício  hst
Exercício hst
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 trabalho
Gleyciana Garrido
 

Mais de 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]); } } }