Pré-visualização parcial do texto
Baixe P2 de PMR2300 - Computação e outras Notas de estudo em PDF para Mecatrônica, somente na Docsity!
Prova 2 - PMR2300 - Computação para Automação 10. semestre 2007 Prof. Fabio G. Cozman one Irado: dl À fan 1) Suponha que você está codificando um sistema de controle para um supermercado. As seguintes classes estão sendo codificadas, todas elas públicas e pertencentes ao pacote Sist cont. A classe PessOZ contém nome (String) e Cpf (int, private). À classe Funcionário é subclasse de Pessoa e contém iG (int). A classe Cliente também é sub-classe de PES SOR e contém temlartao (boolean, private). A clase Loja contém campos endereço (String, public), gerente (Funcionário) eclientesPreferenciais (Clientel ], protected). Hora do pacote Sist cont existe uma classe adicional Terceirizado que é subclasse de Puncionário e contém campo empregador (String, private). a) Escreva o código definindo cada uma dessas classes [1.0] +) Quais classes tem acesso a: CPÊ? id? endereço? clientesPreferenciais? [05] 2) Codifique uma classe pública denominada SuperArranjo, pertencente a um pacote denominado estruturas A e tdo ter campos N private Object arranjol]; É Ê private int indiceUltimoObject; e e métodos públicos como segue: public void insere(Object x, int 1) public void retira(int i) além do seu construtor, O método iNSÉrE coloca x na posição i se i>=0, sem apagar dados já existentes no a rr an JO; caso i seja maior que o número de dados no artanjo, o dado x é colocado na primeira posição vaga (nunca deve haver “estouro” do arranjo). O método retira Temove o objeto na posição i, sem deixar vazio no ArZANjO (possivelmente movendo outros objetos). Apresente o custo de cada método em nótação BigOh no pior caso. [2.0] 3) Considere uma classe que implementa uma árvore binária de busca: public class NoArvoreBuscaBinaria f String dado; NoArvoreBuscaBinaria esquerdo, direito; ) Suponha que um método de inserção está presente conforme discutido em aula. Suponha que “visitar” um nó nesta árvore signifique imprimir seu dado (que é uma String). Codifique um método nessa classe que taz visita pur nível a partir de um nó: antes de visitar um nó com altura i, os nós na altura i-1 já foram visitados: l void visitaPorNivel (NoBuscaBinaria noDeInicioDaVisita) Apresente o custo do método em notação BigOh no pior caso. Nesta questão você pode usar qualquer classe ou método visto em aula. [2.5] 4) Suponha que mensagens são transmitidas usando o alfabeto abaixo, com as frequências indicadas. Apresente o código de Huffman para esse alfabeto, com as convenções vistas em aula. [1.0] Codifique a mensagem "senha igual a ovovo" usando seu código. [0.5] Qual o tamanho esperado pata uma mensagem com 100 mil caracteres nesse alfabeto, usando sen código? [0.5] A E | 6 Ha [o 2| (e) s ÚU v espaço | 15% | 1% 8% 7% 9% o 8 8% 1% 6% 3% 13% 5) Considere uma hashtable com encadeamento separado: A classe tem codificação: public class Hashtable ( public NoListalLigada arranjol 1; public Hashtable() ( arranjo = new NoListaLigada[10]; for (int i=0; i