2011_1 P1
1 pág.

2011_1 P1


DisciplinaProgramação de Computadores II250 materiais880 seguidores
Pré-visualização1 página
UFF - Departamento de Ciência da Computação
Programação de Computadores 11
Prof.: Dante Corbucci Filho
2011.1
15/04/2011
Questão 1 (Valor 2.5)
Suponha prontas as funções cons, car e cdr, e a classe Lista de inteiros, como vistas em sala de
aula.
Sem utilizar sequencias nem repetições faça as funções:
(1) Valor 1.0:
public static Lista substitui(int x, int novoValor, Lista lis)
Ii que retorna uma lista onde todos os elementos iguais a x são substituídos por novoValor
Ii todos os demais elementos de lis devem ser copiados para a resposta, evitando o
Ii compartilhamentq.;;te células da lista original.
(2) Valor 1.5: C./ r
public static Lista indices(Lista lis) -..{) rA 2[1{
l/que retorna os indices de onde se encontram os menores valores de lis
Ii Suponha que lis possua apenas números inteiros e maiores que zero.
Ii Exemplo: lis = (13, 26, 13, 5, 39,4) retorna (6, 4, 1, 3,2, 5)
Questão 2 (Valor 2.5) suponz;z,aum ar uivo de acesso direto (RandomAccessFile) de números inteiros
contendo valores de O a 60.
Diga qual número oco eu mais vezes e qual(is) seus posicionamentos no arquivo.
Observ~o haja empate, basta mostrar~~ deles .. (() ( . ~/J
~''J (;,U/,\,f/tf/;fJ,:f)8) (OVf;I:Jll(A{(, /~ O)'Í7.,' D :nB(/Ot--lJtY\
Questão 3 (Valor 2.5)
Suponha um único arquivo serializável, contendo dois tipos de objetos, Pessoa e Empresa,
contendo atributos (nome, identidade, nascimento, sexo, peso, altura, nacionalidade) e atributos (nome,
cnpj, quantidadeDeFuncionarios, faturamento). Faça as classes Pessoa e Empresa, e, um programa
que ofereça ao usuário o direto de escolher o nome do arquivo a ser construido e direito a inserirl
IGbJetos co tipo f-'essoa ou Empresa, misturadamente, até que o usuário deseje terminar a inserção.
o final, liste o conteúdo do arquivo gerado.
Questão 4 (Valor 2.5) Suponha as classes:
class Dado{
int chave;
double quantidade;
double valor;
public Dado(int c, double q, double v){
chave = c; quantidade = q; valor = v;
}
}
class Lista{
Dado info;
Lista prox;
public Lista(Dado x){
info=x; prox = null;
}
}
Suponha uma lista desordenada construida com muitas células do tipo Dado.
Faça a operação abaixo que, sem reconstruir os dados, trocando apenas o atributo info:
public static void ordenar(Lista lis)
Sugestão: Use a ideia de olhar sequencialmente dois vizinhos da lista,
caso estejam na ordem incorreta troque seus conteúdos. Reaplique estaideia até que a lista
fique ordenada.
!!l!!! Boa Prova !!l!!! -J--_-----=..:....:.::...:...::...-=-=--=--:..:.._---~