0% acharam este documento útil (0 voto)
189 visualizações33 páginas

AVALIACAO Programação Orientada A Objetos

O documento descreve uma atividade de programação orientada a objetos sobre a criação de uma agenda e um elevador. A agenda deve armazenar pessoas e permitir adicionar, remover e buscar por nome, enquanto o elevador deve controlar o andar atual e número de passageiros.

Enviado por

Bruna Drago
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
189 visualizações33 páginas

AVALIACAO Programação Orientada A Objetos

O documento descreve uma atividade de programação orientada a objetos sobre a criação de uma agenda e um elevador. A agenda deve armazenar pessoas e permitir adicionar, remover e buscar por nome, enquanto o elevador deve controlar o andar atual e número de passageiros.

Enviado por

Bruna Drago
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 33

Disciplina: Programação Orientada a objetos

Turno: Noite
Curso: ADS
Professor: Vitor
Nome do aluno: Bruna Haas Drago
Data de entrega: 31/05/2022
ATIVIDADES

Vocês deverão criar o código e tirar print das telas e colar abaixo das questões.
Não utilizar componentes gráficos, com swing, awt ou javaFX.

OBS:
Não desistam, insistam que vocês vão conseguir fazer! O prazo de entrega é bem flexível, qualquer problema entre em contato comigo! Se não
conseguir entregar a resposta inteira entregue o que conseguiu fazer. Será avaliado igual.
Boa avaliação:

1. (1,0) Crie uma classe Agenda que pode armazenar 10 pessoas e seja capaz de realizar as seguintes operações:

● void armazenarPessoa(String nome, int idade, float altura);


● void removePessoa(String nome);
● int buscaPessoa(String nome); //informe em que posição da agenda está a pessoa
● void imprimeAgenda(); // informe os dados de todas as pessoas da agenda
● void imprimePessoa(int index); //imprime os dados da pessoa que está na posição “i”da agenda.
[COLE OS PRINTS AQUI]
package Numero_1;

import java.util.Scanner;

public class Principal {


static Scanner entrada = new Scanner(System.in);

public static void main(String[] args) {

Agenda agenda = new Agenda(10);


String nome;
int idade;
double altura;

while(true){
System.out.println("\n1. Nova Pessoa");
System.out.println("2. Excluir Pessoa");
System.out.println("3. Buscar Pessoa");
System.out.println("4. Imprimir Agenda");
System.out.println("5. Imprimir Pessoa (Índice)");
System.out.println("6. Sair");
System.out.print("Sua opção: ");
int opcao = Integer.parseInt(entrada.nextLine());

switch(opcao){
case 1:
System.out.print("\nInforme o nome: ");
nome = entrada.nextLine();
System.out.print("Informe a idade: ");
idade = Integer.parseInt(entrada.nextLine());
System.out.print("Informe a altura: ");
altura = Double.parseDouble(entrada.nextLine());
agenda.armazenaPessoa(nome, idade, altura);
break;

case 2:
System.out.print("\nInforme o nome a ser removido: ");
nome = entrada.nextLine();
agenda.removePessoa(nome);
break;

case 3:
System.out.print("\nInforme o nome a ser pesquisado: ");
nome = entrada.nextLine();
int indice = agenda.buscaPessoa(nome);
if(indice < 0){
System.out.println("\nA pessoa não foi encontrada");
}
else{
System.out.println("\nA pessoa foi encontrada no índice: "
+ indice);
}
break;

case 4:
agenda.imprimeAgenda();
break;

case 5:
System.out.print("\nInforme o índice desejado: ");
int index = Integer.parseInt(entrada.nextLine());
agenda.imprimePessoa(index);
break;

case 6:
System.exit(0);

default:
System.out.println("\nOpção inválida\n");
break;
}
}
}
}

package Numero_1;

public class Pessoa {


private String nome;
private int idade;
private double altura;

// construtor cheio
public Pessoa(String nome, int idade, double altura) {
this.nome = nome;
this.idade = idade;
this.altura = altura;
}
public Pessoa() {
}

public void imprimirDados() {


System.out.println("Nome: " + nome + "\nIdade: " +
idade + "\nAltura: " + altura);
}

public String getNome() {


return nome;
}

public void setNome(String nome) {


this.nome = nome;
}

public int getIdade() {


return idade;
}

public void setIdade(int idade) {


this.idade = idade;
}

public double getAltura() {


return altura;
}

public void setAltura(double altura) {


this.altura = altura;
}
}

package Numero_1;
import java.util.ArrayList;

public class Agenda {

private Pessoa pessoas[];

public Agenda(int quantidade) {


pessoas = new Pessoa[quantidade];
}

public void armazenaPessoa(String nome, int idade, double altura) {


// ainda temos posições disponíveis na agenda?
boolean cadastrado = false;
for (int i = 0; i < pessoas.length; i++) {
if (pessoas[i] == null) {

Pessoa p = new Pessoa(nome, idade, altura); // criamos uma nova pessoa


pessoas[i] = p;
cadastrado = true;
break; // sai do laço
}
}

if (cadastrado) {
System.out.println("\nCadastro efetuado com sucesso");
} else {
System.out.println("\nNão foi possível cadastrar. Agenda cheia");
}
}

public void removePessoa(String nome) {

boolean excluido = false;


for (int i = 0; i < pessoas.length; i++) {
if (pessoas[i] != null) {

if (pessoas[i].getNome().equals(nome)) {
pessoas[i] = null;
excluido = true;
break;
}
}
}

if (excluido) {
System.out.println("\nPessoa removida com sucesso");
} else {
System.out.println("\nNão foi possível remover. Pessoa não encontrada.");
}
}

public int buscaPessoa(String nome) {


int resultado = -1;
for (int i = 0; i < pessoas.length; i++) {
if (pessoas[i] != null) {
// esta é a pessoa que estamos procurando?
if (pessoas[i].getNome().equals(nome)) {
resultado = i;
break; // sai do laço
}
}
}

return resultado;
}

public void imprimeAgenda() {


for (int i = 0; i < pessoas.length; i++) {
if (pessoas[i] != null) {
Pessoa p = pessoas[i];
System.out.println("\nNome: " + p.getNome());
System.out.println("Idade: " + p.getIdade());
System.out.println("Altura: " + p.getAltura());
}
}
}

public void imprimePessoa(int index) {


// este índice é válido?
if ((index < 0) || (index > (pessoas.length - 1))) {
System.out.println("\nÍndice inválido");
} else {
Pessoa p = pessoas[index];
if (p == null) {
System.out.println("\nNão existe pessoa nesse índice ainda.");
} else {
System.out.println("\nNome: " + p.getNome());
System.out.println("Idade: " + p.getIdade());
System.out.println("Altura: " + p.getAltura());
}
}
}
}

2. (1,5) Crie uma classe denominada Elevador para armazenar as informações de um elevador dentro de um prédio. A classe deve
armazenar o andar atual (térreo = 0), total de andares no prédio, excluindo, capacidade do elevador, e quantas pessoas estão presentes
nele.

A classe deve também disponibilizar os seguintes métodos:

● Inicializa: que deve receber como parâmetros a capacidade do elevador e o total de andares no prédio (os elevadores sempre
começam no térreo e vazios);
● Entra: para acrescentar uma pessoa no elevador (só deve acrescentar se ainda houver espaço)
● Sai: para remover uma pessoa no elevador (só deve remover se houver alguém dentro dele)
● Sobe: para subir um andar (não deve subir se já estiver no último andar);
● Desce: para descer um andar (não deve descer se já estiver no térreo);
● Encapsular todos os atributos da classe (crie os métodos set e get).

package Numero_2;

public class Elevador {


private int nAtual, nTotal, nCapac, nPessoas;

//Classe principal
public Elevador(int nA, int nT, int nC, int nP) {
this.nAtual = nA;
this.nTotal = nT;
this.nCapac = nC;
this.nPessoas = nP;
}

public int getCapac() {


return this.nCapac;
}
public int getPessoas() {
return this.nPessoas;
}
public int getTotal() {
return this.nTotal;
}
public int getAtual() {
return this.nAtual;
}
public void setPes(int nPe)
{
this.nPessoas = nPe;
}
public void setnAtual(int nAtual) {
this.nAtual = nAtual;
}
public void setnTotal(int nTotal) {
this.nTotal = nTotal;
}
public void setnCapac(int nCapac) {
this.nCapac = nCapac;
}
public void setnPessoas(int nPessoas) {
this.nPessoas = nPessoas;
}
public void Inicializa(int nCap, int nTot){
this.nTotal = nTot;
this.nCapac = nCap;
}
public void Entra(){
this.nPessoas+=1;
}
public void Sai(){
this.nPessoas-=1;
}
public void Sobe(){
this.nAtual+=1;
}
public void Desce(){
this.nAtual-=1;
}
}

package Numero_2;

import java.util.Scanner;
import java.util.Formatter;

public class usaElevador {


public static void main(String[] args) {
int nOpc=-1, nTot, nCap, nAux;
Scanner sc = new Scanner(System.in);
//objeto Elevador
Elevador elev[]=new Elevador[1];

elev[0]=new Elevador(0,0,0,0);

//Inicializando (capacidade total e andares)


System.out.printf("Capacidade total? ");
nCap=sc.nextInt();
System.out.printf("Quantos andares? ");
nTot=sc.nextInt();
elev[0].Inicializa(nCap,nTot);

while(true){
pintaMenu();
nOpc = sc.nextInt();
if(nOpc==0)
break;

System.out.printf("\n\n");
switch (nOpc) {
case 1:
System.out.printf("Número de pessoas atualmente: ");
nAux=sc.nextInt();
if(nAux<elev[0].getCapac())
elev[0].setPes(nAux);
break;
case 2:
//só sobe se o andar atual for menor que o total
if (elev[0].getAtual()<elev[0].getTotal())
elev[0].Sobe();
break;
case 3:
//só desce se o andar atual for maior que o terreo
if (elev[0].getAtual()>0)
elev[0].Desce();
break;
case 4:
//só entra, se não tiver atingido a capacidade
if (elev[0].getPessoas()<elev[0].getCapac())
elev[0].Entra();
break;
case 5:
//só sai, se houverem pessoas (>0)
if (elev[0].getPessoas()>0)
elev[0].Sai();
break;
case 6:
System.out.printf("Quantidade de Pessoas: %d\n",elev[0].getPessoas());
System.out.printf("Capacidade Suportada: %d\n",elev[0].getCapac());
System.out.printf("Andar Atual: %d\n",elev[0].getAtual());
System.out.printf("Quantidade de Andares: %d\n",elev[0].getTotal());
//espera 2 segundos
try { Thread.sleep (2000); }
catch (InterruptedException ex) {}
break;
default:
System.out.printf("\n --> Valor Incorreto <--");
break;
}
}
System.out.printf("\n\nPrograma Finalizado!\n\n");
}

private static void pintaMenu(){


System.out.printf("\n\n > Menu ");
System.out.printf("\n 1- Numero de pessoas ");
System.out.printf("\n 2- Sobe de Andar ");
System.out.printf("\n 3- Desce de Andar ");
System.out.printf("\n 4- Entra Pessoa ");
System.out.printf("\n 5- Sai Pessoa ");
System.out.printf("\n 6- Mostrar dados ");
System.out.printf("\n 0- Sair ");
System.out.printf("\n > Resposta: ");
}
}

[COLE OS PRINTS AQUI]

3. (1,5) Fazer um programa para ler o nome de um aluno e as três notas que ele obteve nos três trimestres do ano (primeiro trimestre vale
30, o segundo e o terceiro valem 35 cada). Ao final, mostrar qual a nota final do aluno no ano. Dizer também se o aluno está aprovado
(PASS) ou não (FAILED)e, em caso negativo, quantos pontos faltam para o aluno obter o mínimo para ser aprovado (que 60% das notas).
Você deve criar uma classe Studant para resolver este problema.

[COLE OS PRINTS AQUI]


package Numero_3;

public class Student {


public String nome;
public double nota1, nota2, nota3;
public double NotaFinal() {

return nota1 + nota2 + nota3;


}

public boolean Aprovado() {


if (NotaFinal() >= 60.0) {
return true;
} else {
return false;
}
}

public double NotaRestante() {


if (Aprovado()) {
return 0.0;
} else {
return 60.0 - NotaFinal();
}
}
}

package Numero_3;

import java.util.Scanner;

public class Program {


public static void main(String[] args) {

Scanner leia = new Scanner(System.in);


Student aluno = new Student();

System.out.println("Nome do aluno: ");


aluno.nome = leia.next();

do {
System.out.println("Digite a nota do primeiro trimestre: ");
aluno.nota1 = leia.nextInt();
if (aluno.nota1 < 0 || aluno.nota1 > 30) {
System.out.println("Digite uma nota entre 0 e 30.");
}
} while (aluno.nota1 < 0 || aluno.nota1 > 30);

do {
System.out.println("Digite a nota do segundo trimestre: ");
aluno.nota2 = leia.nextInt();
if (aluno.nota2 < 0 || aluno.nota2 > 35) {
System.out.println("Digite uma nota entre 0 e 35.");
}
} while (aluno.nota2 < 0 || aluno.nota2 > 35);

do {
System.out.println("Digite a nota do terceiro trimestre: ");
aluno.nota3 = leia.nextInt();
if (aluno.nota3 < 0 || aluno.nota3 > 35) {
System.out.println("Digite uma nota entre 0 e 35.");
}
} while (aluno.nota3 < 0 || aluno.nota3 > 35);

System.out.println("Nota final: " + aluno.NotaFinal());


if (aluno.Aprovado()) {
System.out.println("APROVADO");
} else {
System.out.println("REPROVADO");
System.out.println("FALTARAM " + aluno.NotaRestante() + " PONTOS");
}

}
}

4. (2,0) Você aprendeu nessa disciplina os conceitos sobre listas e arranjos. Um cliente deseja construir um sistema para manter um registro
de artistas musicais os quais poderão ser consultadas pelo sistema. O sistema também deve permitir a busca de artistas por nome. O
sistema também deve ser capaz de exibir os artistas cadastrados. Use a criatividade para imprimir os dados no console, crie métodos para
isso e imprima um menu para que o usuário possa cadastrar o artista, visualizar artista, ver quantidade de artistas, apagar todos os
artistas, ver total de artistas e seus álbuns.

[COLE OS PRINTS AQUI]


package Numero_4;

public class Artistas {


private String nome;
private int quantidade;

public String getNome() {

return nome;
}
public void setNome(String nome) {
this.nome = nome;
}

public int getQuantidade() {


return quantidade;
}

public void setQuantidade(int quantidade) {


this.quantidade = quantidade;
}

public int calcularTotal() {


return this.quantidade;
}

public String toString() {


return "\nArtista " + this.nome + " possui " + this.quantidade + " álbun(s)";
}

package Numero_4;

import java.util.ArrayList;

public class Lista {


private ArrayList<Artistas> lista;

public Lista() {
lista = new ArrayList<Artistas>();
}

public ArrayList<Artistas> getLista() {


return lista;
}

public void setLista(ArrayList<Artistas> lista) {


this.lista = lista;
}

public String toString() {


return "Artistas cadastrados: " + lista;
}

public void adicionarArtista(Artistas a1) {


this.lista.add(a1);
}

public void apagarTudo() {


this.lista.clear();
}

public int obterQuantidadeDeArtistas() {


return this.lista.size();
}

public int calcularTotalDeArtistas() {


int soma = 0;
for (int i = 0; i < this.lista.size(); i++) {
soma = soma + this.lista.get(i).calcularTotal();
}
return soma;
}
}

package Numero_4;

import java.util.Scanner;

public class Program {


public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

Lista l1 = new Lista();

int op;

do {
System.out.println("1 - Cadastrar artista");
System.out.println("2 - Visualizar artistas");
System.out.println("3 - Ver quantidade de artistas cadastrados");
System.out.println("4 - Apagar todos os artistas");
System.out.println("5 - Ver total de álbuns cadastrados");
System.out.println("0 - Sair");
op = sc.nextInt();
switch (op) {
case 1:
Artistas a1 = new Artistas();
System.out.println("Digite o nome do Artista: ");
sc.nextLine();
a1.setNome(sc.nextLine());
do {
System.out.println("Digite a quantidade de álbuns: ");
a1.setQuantidade(sc.nextInt());
if (a1.getQuantidade() <= 0) {
System.out.println("Erro! Quantidade inválida.");
}
} while (a1.getQuantidade() <= 0);

l1.adicionarArtista(a1);
System.out.println("Cadastrado com sucesso!");
break;

case 2:
if (l1.getLista().isEmpty()) {
System.out.println("Não há artistas");
} else {
System.out.println(l1);
}
break;

case 3:
System.out.println("Total de artistas cadastrados: " +
l1.obterQuantidadeDeArtistas());
break;
case 4:
if (l1.getLista().isEmpty()) {
System.out.println("Nãoo há artistas para excluir.");
} else {
int confirma;
System.out.println("Tem certeza que deseja EXLUIR TUDO?\n1-SIM\n2-
NAO");
confirma = sc.nextInt();
if (confirma == 1) {
l1.apagarTudo();
System.out.println("Artistas excluidos com sucesso");
} else {
System.out.println("Opcão cancelada.");
}
}
break;

case 5:
System.out.println("Total de álbuns cadastrados " +
l1.calcularTotalDeArtistas());
break;

case 0:
System.out.println("Sistema encerrado.");
break;
default:
System.out.println("Opcão inválida.");
}
} while (op != 0);
}
}

5. (2,0) Implemente um algoritmo utilizando o paradigma orientado a objetos testando e apresentando


Visibilidade e Ocultamento de Informação: public e private.
Observe o UML abaixo e baseado nele construía o algoritmo na linguagem Java. Print a tela do computador
com o desenvolvimento do código.

package Numero_5;

public class Editora {


private Long id;
private String nome;
private String email;

public Long getId() {


return id;
}

public void setId(Long id) {


this.id = id;
}

public String getNome() {


return nome;
}

public void setNome(String nome) {


this.nome = nome;
}

public String getEmail() {


return email;
}

public void setEmail(String email) {


this.email = email;
}

@Override
public String toString() {
return "Editora: " +
"id=" + id +
", nome='" + nome + '\'' +
", email='" + email + '\'';
}
}

package Numero_5;

public class Livro {


private String titulo;
private String autor;
private int idEditora;
private int ano;

public String getTitulo() {


return titulo;
}

public void setTitulo(String titulo) {


this.titulo = titulo;
}

public String getAutor() {


return autor;
}

public void setAutor(String autor) {


this.autor = autor;
}

public int getIdEditora() {


return idEditora;
}

public void setIdEditora(int idEditora) {


this.idEditora = idEditora;
}

public int getAno() {


return ano;
}

public void setAno(int ano) {


this.ano = ano;
}

@Override
public String toString() {
return "Livro: " +
"titulo='" + titulo + '\'' +
", autor='" + autor + '\'' +
", idEditora=" + idEditora;
}
}
package Numero_5;

import java.util.Scanner;

public class Main {


public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Livro livro = new Livro();
Editora editora = new Editora();

System.out.println("Digite a ID da editora:");
editora.setId(sc.nextLong());

System.out.println("Digite o nome da editora");


sc.nextLine();
editora.setNome(sc.nextLine());

System.out.println("Digite o e-mail:");
editora.setEmail(sc.nextLine());

System.out.println("Digite o título do livro:");


livro.setTitulo(sc.nextLine());

System.out.println("Digite o autor do livro:");


livro.setAutor(sc.nextLine());

System.out.println("Digite o a IdEditora:");
livro.setIdEditora(sc.nextInt());

System.out.println("Digite o ano do livro:");


livro.setAno(sc.nextInt());

System.out.println(livro.toString());
System.out.println(editora.toString());

}
}

[COLE OS PRINTS AQUI]

6. (2,0) Crie um cadastro que tenha uma classe para representar uma pessoa, com os atributos privados nome, idade, sexo e endereço.
Crie os métodos públicos necessários para sets e gets e também um método para imprimir os dados das pessoas cadastradas. Para que
o cadastro seja efetivo, você deverá cria uma classe endereço conforme o diagrama abaixo. Observe bem o diagrama e crie o código em
Java.

[COLE OS PRINTS AQUI]

package Numero_6;

public class Endereco {


private String logradouro;
private String complemento;
private int numero;
private String cep;

public String getLogradouro() {


return logradouro;
}

public void setLogradouro(String logradouro) {


this.logradouro = logradouro;
}

public String getComplemento() {


return complemento;
}

public void setComplemento(String complemento) {


this.complemento = complemento;
}

public int getNumero() {


return numero;
}

public void setNumero(int numero) {


this.numero = numero;
}

public String getCep() {


return cep;
}

public void setCep(String cep) {


this.cep = cep;
}
@Override
public String toString() {
return "Endereço:" +
"logradouro='" + logradouro + '\'' +
", complemento='" + complemento + '\'' +
", numero=" + numero +
", cep='" + cep + '\''
;
}

package Numero_6;

public class Pessoa {

Endereco endereco = new Endereco();

private String nome;


private int idade;
private char sexo;
private Endereco end;

public Pessoa() {
}

public Pessoa(String nome, int idade, char sexo, Endereco end) {


this.nome = nome;
this.idade = idade;
this.sexo = sexo;
this.end = end;
}

public String getNome() {


return nome;
}

public void setNome(String nome) {


this.nome = nome;
}

public int getIdade() {


return idade;
}

public void setIdade(int idade) {


this.idade = idade;
}

public char getSexo() {


return sexo;
}

public void setSexo(char sexo) {


this.sexo = sexo;
}

public Endereco getEnd() {


return endereco;
}
public void setEnd(Endereco end) {
this.end = endereco;
}

@Override
public String toString() {
return
"Nome:" + nome + '\'' +
", Idade:" + idade +
", Sexo:" + sexo;
}
}

package Numero_6;

import java.util.Scanner;

public class Program {


public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Pessoa pessoa = new Pessoa();
Endereco end = new Endereco();

System.out.println("Digite seu nome:");


pessoa.setNome(sc.nextLine());

System.out.println("Digite sua idade:");


pessoa.setIdade(sc.nextInt());

System.out.println("Digite 'F' para o sexo Feminino ou 'M' para o sexo masculino:");


pessoa.setSexo(sc.next().charAt(0));

System.out.println("Logradouro:");
sc.nextLine();
end.setLogradouro(sc.nextLine());

System.out.println("Complemento:");
end.setComplemento(sc.nextLine());

System.out.println("Número:");
end.setNumero(sc.nextInt());

System.out.println("CEP:");
sc.nextLine();
end.setCep(sc.nextLine());

System.out.println(pessoa.toString());
System.out.println(end.toString());
}
}

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy