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

Exame POO-Java 2018: Questões e Soluções

O documento apresenta um exame de programação orientada a objetos em Java, incluindo exercícios sobre a exibição de métodos e a gestão de uma biblioteca. Os alunos devem criar classes para gerenciar pessoas, associados, autores, livros e uma biblioteca, além de uma gestão de exceções. Um segundo exercício aborda a seleção de candidatos para um concurso, solicitando a criação de classes para os candidatos e os funcionários, com restrições de idade.

Traduzido por

ScribdTranslations
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)
3 visualizações9 páginas

Exame POO-Java 2018: Questões e Soluções

O documento apresenta um exame de programação orientada a objetos em Java, incluindo exercícios sobre a exibição de métodos e a gestão de uma biblioteca. Os alunos devem criar classes para gerenciar pessoas, associados, autores, livros e uma biblioteca, além de uma gestão de exceções. Um segundo exercício aborda a seleção de candidatos para um concurso, solicitando a criação de classes para os candidatos e os funcionários, com restrições de idade.

Traduzido por

ScribdTranslations
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

[Link]

com/
Departamento de Informática Année universitaire 2017/2018
Faculdade de Ciências Filière SMI, Semestre 5
Universidade Mohammed Premier Exame da sessão normal
9 de Fevereiro de 2018
Oujda

Examen en POO-Java
Durée :1h30

Exercício 1 (7pts)
O que o código a seguir exibe? (dê primeiro a exibição, depois explique brevemente o porquê).
classeA{
static intx =2;
inty =3;
public void mensagem() {
[Link]("MensagemdométododaclassA
e ");
}
public static voidg(){
[Link]("Métodog(d)aclassA
e ");
}
public intc a l c u l(){
retornar(x + y);
}
}
classeBestendeA{
mensagem pública() {
[Link]("MétodomensagemdaclasseB");
}
public voidf(){
[Link]("Métodof(d)aclasseB");
}
public static voidg(){
[Link]("Métodog(d)aclasseB");
}
}
classe pública Exame2018{
public static voidmain( String [ ] args ) {
A a =newA( ) ;
B b = new B();
umamensagem
. ();
bmensagem
. ();
b.f();
a = novaB( );
umamensagem
. ();
a.g();
a .x=5; a . y=7;
[Link]("Apóoscálculo"+:b.cálculo());
}
}

1
Exercice 2 (13pts)
Deseja-se automatizar a gestão de uma biblioteca que inclui livros e associados.

[Link]éez une classePersonnequi contient :


— os atributosprivados: nome, prenome, idade;
— um construtor para inicializar os diferentes atributos;
— um método exibir() que exibe o nome, o sobrenome e a idade.

[Link] uma classe Adherent que herda de Pessoa e que:


— adicione o atributo numAdherent;
— redefine a método exibir().

3. Crie uma classe Autor que herde de Pessoa e que:


— adicione o atributo numAutor;
— redefina o método afichar().
— o programa gera uma exceção se o usuário quiser instanciar um objeto Autor com
um valor negativo denumAutor.

Um livro é definido por um número ISBN (inteiro), um título e é escrito por no máximo 4 autores.
— crie a classeLivro;
— adicione um método exibir() que exiba o ISBN, o título e as informações dos autores.
teurs.

[Link] uma classe Biblioteca que contém um método main(), no qual:


— declare (instanciate) um aderente;
— instancie um livro que é escrito por dois autores;
— exiba as informações do associado e do livro.

Boa sorte!

2
Departamento de Informática Ano letivo 2017/2018
Faculdade de Ciências Filière SMI, Semestre 5
Universidade Mohammed Premier Examen de la session normale
Oujda 9Fevereiro2018

Correção do exame da sessão normal


POO-Java
Duração: 1h30
-----------------
Primeira versão
-----------------

importar [Link];
classe AgeException estende Exception{
public AgeException(){
[Link]("O número do autor não deve ser ")
negativo
}
}
classe Pessoa {
private String nom, prenom;
private int idade;
public Pessoa(String x, String y, int z){
nom = x;
prenom = y;
age = z;
}
public void exibir() {
[Link]("Nome: " + nom + ", sobrenome: " + prenom + ", idade: ");
+idade);
}
}
class Adherent estende Pessoa {
private int numAdher;
public Adherent(String x, String y, int z, int l) {
super(x,y,z);
numAdher = l;
}
public void mostrar() {
[Link]();
[Link]( " e numero: " +numAdher);
}
}
classe Autor estendendo Pessoa {
private int numAut;
public Autor(String x, String y, int z, int l) lança AgeException {
super(x,y,z);
se ( l <= 0 ) lançar nova AgeException();
senão {
numAut = l;
}
}
public void afficher() {
[Link]();
[Link]( " e número: " +numAut);
}
}

classe Livre {
private String titre;
private int ISBN;
private Auteur[] auth = new Auteur[4];
String b, c;
int i, z, l, nbre;
Scanner teclado = new Scanner ([Link]);
public Livre(String x,int y, int nbre){ //nbre pour nombre d'auteur
titre = x;
ISBN = y;
[Link] = nbre;
try{
for(i =0;i<nbre;i++){
[Link] ( " digite o nome " ) ;
b = [Link]();
[Link] ( " entrar o prenome " ) ;
c = [Link]( );
[Link] ( " inserir a idade " ) ;
z = [Link]( );
[Link] ( " entre o número " ) ;
l = [Link]();
[Link]( );
auth[i] = new Auteur(b,c,z,l);
}
}catch(AgeException e){
[Link](e);
[Link](-1);
}
}
public void exibir() {
[Link]("Livre de titre: " + titre + ", ISBN: " + ISBN)
e os autores são:
for(i =0;i<nbre;i++){
auth[i].afficher();
}
}
}

classe pública CorrectionExam2018{


public static void main(String[] args) {
Adherent a = new Adherent("a", "b", 20, 1);
Livro b = new Livro("Java",15222,2);
[Link]();
[Link]();
}
}

-----------------
Segunda versão
-----------------

importar [Link];
classe AgeException estende Exception{
public AgeException(){
[Link]("O número do autor não deve ser ")
negativo
}
}
classe Pessoa {
private String nom, prenom;
private int idade;
public Pessoa(String x, String y, int z) {
nom = x;
prenom = y;
age = z;
}
public void afficher() {
[Link]("Nome: " + nom + ", sobrenome: " + prenom + ", idade: ")
+idade);
}
}
class Adherent estende Pessoa {
private int numAdher;
public Adherent(String x, String y, int z, int l){
super(x,y,z);
numAdher = l;
}
public void exibir() {
[Link]();
[Link]( " e número: " +numAdher);
}
}
class Autor estende Pessoa {
private int numAut;
public Auteur(String x, String y, int z, int l) throws AgeException{
super(x,y,z);
se ( l <= 0 ) lançar nova AgeException();
senão {
numAut = l;
}
}
public void afficher() {
[Link]();
[Link]( " e numero: " +numAut);
}
}

classe Livre {
private String título;
private int ISBN;
private Auteur[] auth = new Auteur[4];

public Livre(String x,int y, Autor[] au ){


titre = x;
ISBN = y;
auth = au;
}
public void afficher() {
[Link]("Livre de titre: " +titre + ", ISBN: " +ISBN
e os autores são:
for(int i =0;i<[Link];i++){
auth[i].afficher();
}
}
}

classe pública CorreçãoExame2018v2


public static void main(String[] args) {
tente{
Adherent a = new Adherent("a", "b", 20, 1);
Autor[] aa = new Autor[2];
aa[0] = new Auteur("aa", "ba", 25, 11);
aa[1] = new Auteur("aaa", "baa", 35, 111);
Livre b = new Livre("Java",15222,aa);
[Link]();
[Link]();
} catch(AgeException e){
[Link](e);
[Link](-1);
}
}
}
Departamento de Informática Ano letivo 2017/2018
Faculdade de Ciências Filière SMI, Semestre 5
Universidade Mohammed Premier Sessão de recuperação
27 de abril de 2018
Oujda

Exame em POO - Java


Durée :1h30

Exercício 1 (6pts)
O que o código a seguir exibe?

classEstudante {
privateStringnome, sobrenome ;
publicEtudiant ( String x , String y){
[Link]=x;
[Link]=y;
}
public voida f f i c h e r() {
[Link]("Nome"+:nom+"eprenome"+:prenom);
}
}
classe Examen {
public static void main(String[] argv) {
Estudante [ ] tab1 ={novoEstudante ("a","b") ,novoEstudante ("aa","bb"} ;
Estudante [ ] tab2 ={novoEstudante ("c","d") ,novoEstudante ("cc ","dd" };
Estudante [ ] tab3 ={novoEstudante ("c", "d") ,novoEstudante ("cc ", "dd")};
tab1 = tab2 ;
[Link]([Link]);
[Link]([Link](tab2));
[Link]([Link](tab2));
tab2[0]=newEtudiant("aaa","bbb");
tab1[0a].fciher();
tab2[0a].fciher();
tab3[0a].fciher();
}
}

Exercício 2 (14pts)
Desejamos gerenciar a seleção dos candidatos em um concurso. Para isso, definimos as informações
necessários para os candidatos autorizados a participar deste concurso:
—Nom: Nom du candidat
—Prénom: Prénom du candidat
—Número: Número do candidato
—Age: L’age du candidat. Il ne doit pas dépasser30ans.

1
Os funcionários públicos também podem participar deste concurso se cumprirem as condições.
de participação, em particular, a condição de idade.

[Link] a classe Candidato que contém os 4 atributos mencionados acima.


— Adicione um construtor que tenha quatro argumentos;
— Adicione um método exibir() que exiba todas as informações de um candidato.

[Link] uma classe Funcionário que herda da classe Candidato que:


— adicione às propriedades de um candidato o número de soma (Num_Somme como inteiro).
— redefine o método mostrar().

[Link] a classe Candidaten adicionando uma exceção que será acionada se a idade associada
o candidato é superior a 30.

[Link] uma classe Concurso que contém um método main(), onde:


— declare (instancie) um candidato;
— instancie um funcionário ;
— declare uma coleção do tipo ArrayList ;
— adicione o candidato e o funcionário a esta coleção;
— exibir as informações do candidato e do funcionário usando esta coleção.

Boa sorte!

Você também pode gostar