SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
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]);
} } }

Contenu connexe

Tendances

Comparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaComparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaMario Sergio
 
04 - C# laços de repetição, vetores e matrizes v1.0
04 - C# laços de repetição, vetores e matrizes v1.004 - C# laços de repetição, vetores e matrizes v1.0
04 - C# laços de repetição, vetores e matrizes v1.0César Augusto Pessôa
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismosdiogoa21
 
Effective Java - Enum and Annotations
Effective Java - Enum and AnnotationsEffective Java - Enum and Annotations
Effective Java - Enum and AnnotationsRoshan Deniyage
 
Introduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examplesIntroduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examplesecosio GmbH
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 
Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04Ramon Kayo
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5César Augusto Pessôa
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)Márcio Rizzatto
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaLeinylson Fontinele
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 
tmn - Introdução ao JavaScript
tmn - Introdução ao JavaScripttmn - Introdução ao JavaScript
tmn - Introdução ao JavaScriptClaudio Gamboa
 
Constants, Variables and Data Types in Java
Constants, Variables and Data Types in JavaConstants, Variables and Data Types in Java
Constants, Variables and Data Types in JavaAbhilash Nair
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Introduction to Perl - Day 2
Introduction to Perl - Day 2Introduction to Perl - Day 2
Introduction to Perl - Day 2Dave Cross
 

Tendances (20)

Comparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaComparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs Java
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
 
Curso de Java: Threads
Curso de Java: ThreadsCurso de Java: Threads
Curso de Java: Threads
 
04 - C# laços de repetição, vetores e matrizes v1.0
04 - C# laços de repetição, vetores e matrizes v1.004 - C# laços de repetição, vetores e matrizes v1.0
04 - C# laços de repetição, vetores e matrizes v1.0
 
Classes abstratas e interfaces
Classes abstratas e interfacesClasses abstratas e interfaces
Classes abstratas e interfaces
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismos
 
Effective Java - Enum and Annotations
Effective Java - Enum and AnnotationsEffective Java - Enum and Annotations
Effective Java - Enum and Annotations
 
Introduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examplesIntroduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examples
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na prática
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 
Java Generics - by Example
Java Generics - by ExampleJava Generics - by Example
Java Generics - by Example
 
tmn - Introdução ao JavaScript
tmn - Introdução ao JavaScripttmn - Introdução ao JavaScript
tmn - Introdução ao JavaScript
 
Constants, Variables and Data Types in Java
Constants, Variables and Data Types in JavaConstants, Variables and Data Types in Java
Constants, Variables and Data Types in Java
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Introduction to Perl - Day 2
Introduction to Perl - Day 2Introduction to Perl - Day 2
Introduction to Perl - Day 2
 

Similaire à 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
 

Similaire à 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
 

Plus 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 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
 

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