Ficha de exercıcios

Transcrição

Ficha de exercıcios
Ficha de exercı́cios
Linguagens de Programação
CET Desenvolvimento de Produtos Multimédia
Ficha prática No 7
Resumo
Neste ficha pretende-se que o aluno consolide os conceitos subjacentes à programação por objectos relativos è programação com colecções (Dictionary) e structs.
1
Conteúdo
Nesta ficha serão abordados os seguintes tópicos:
• Classe Dictionary
• Criação e declaração de structs
2
Classe Dictionary
1. Declaração de um objecto do tipo Dictionary com chave do tipo int e valor do tipo string:
Dictionary<int,string> map = new Dictionary<int,string>();
2. Adicionar elementos:
map.Add(1,
map.Add(2,
map.Add(3,
map.Add(4,
"Joana");
"Filipa");
"João");
"Carlos");
3. Obter elementos:
string s;
map.TryGetValue(1, out s);
4. Remover elementos:
map.Remove(3);
5. Iterar sobre as chaves da colecção:
string s;
foreach(int i in map.Keys) {
map.TryGetValue(i,out s);
Console.WriteLine(s);
}
1
6. Iterar sobre os valores da colecção:
foreach(string s in map.Values) {
Console.WriteLine(s);
}
3
Exercı́cios sobre a classe Dictionary
1. Considere as classe PortaMoedasMB desenvolvida na fichas anteriores. Implemente agora a classe Carteira,
por forma a que a estrutura (variável de instância) que guarda os cartões de crédito seja um Dictionary.
O comportamento da classe Carteira consiste nos seguinte métodos:
• Guardar mais um cartão;
• Retirar o cartão da posição X da carteira. Atenção que tal só é possı́vel se o saldo devedor do cartão
for igual a zero. Este método faz sentido nesta nova implementação de Carteira? Justifique!
• Determinar quantos cartões estão na carteira;
• Determinar o montante em débito na carteira?
• Apresentar sob a forma de string todos os movimentos de cartões actualmente na carteira;
• Representar sobre a forma de string a carteira (com informação dos cartões e respectivo saldo
devedor). Deverá também apresentar como resumo o total em débito.
2. Considere que se pretende modelar uma biblioteca de entradas multimédia. Nessa biblioteca existirá
informação sobre existências de items multimédia que vamos adquirindo, ou apenas tomando conhecimento (por exemplo para pedir no Natal ou outra ocasião qualquer). Embora tendo a certeza que novas
aquisições vão ser feitas, neste momento a biblioteca contém apenas dois tipos de entradas: CDs e DVDs.
A classe BibMultimedia deverá ter os seguintes requisitos:
• Deve permitir acrescentar um novo CD ou DVD às entradas já existentes;
• Deve permitir procurar CDs e DVDs dado um nome de um artista para os CDs ou o nome do
realizador para os DVDs;
• Deve permitir listar (devolver como string) toda a informação existente tanto nos CDs como nos
DVDs;
• Um CD pode ser categorizado como tendo:
– um tı́tulo;
– um artista (ou nome da banda);
– número de músicas;
– tempo total das músicas do disco;
– uma fla indicando que se possui uma cópia do mesmo;
– um comentário;
• Para um DVD guarda-se a seguinte informação:
– o tı́tulo;
– o nome do realizador;
– o tempo total do filme;
– uma flag indicando que se possui o filme;
– um comentário.
• Para resolver este exercı́cio cumpra as seguintes etapas:
– Construa as classes CD e DVD;
– Implemente a classe que modela a biblioteca. Declare dois objectos do tipo Dictionary, uma
para guardar os CDs e outra para os DVDs;
2
4
Exercı́cios sobre structs
1. Considere uma estrutura que descreve os carros de um determinado stand de automóveis e contém os
seguintes campos:
• marca : string
• ano: int
• cor: string
• preço: double
Implemente em C# a estrutura que permite representar o carro. De seguida declare um array de carros
(cujo tipo é estrutura definida) de tamanho 6 e inicialize-o. Agora implemente o seguinte código na classe
de teste:
• Implemente o bloco de código correspondente à impressão no ecrã das marcas do carro.
• Implemente um bloco de código que leia um preço teclado e imprima os carros (marca, cor e ano)
que tenham preço igual ou menor ao preço recebido.
2. Considere a estrutura que descrever os livros de uma loja e contém os seguintes campos:
• tı́tulo: string
• autor: string
• estilo: string
• código: int
• preço: double
Defina em C# a estrutura que representa o livro. Crie uma classe de teste para testar a estrutura criada.
3

Documentos relacionados