Вы находитесь на странице: 1из 2

Pontifı́cia Universidade Católica de Minas Gerais

Bacharelado em Sistemas de Informação


Algoritmos e Estruturas de Dados - 2009/2
Michelle Nery Nascimento

Laboratório 3: entregar até 03/09/2009


Observações:

• Deverão ser entregues o código fonte em C# (apenas os arquivos .cs) e a documentação.

• A documentação do programa deve conter:

– uma breve descrição do programa;


– um relatório de testes que especifique os testes realizados e resultados obtidos.

• Devem ser realizados testes para todos os métodos da classe.

• Métodos e atributos auxiliares podem ser inseridos na classe mas não é permitido alterar a
assinatura nem exlcuir métodos ou atributos da interface.

1. Implemente uma classe Data contendo a seguinte assinatura:

using System;
namespace Data {

public class Data{

private int dia, mes, ano;


public Data();
public Data(int d, int m, int a);
public void alteraData(int d, int m, int a);
public bool valida();
public int maiorDia();
public bool bissexto();
public void imprimeData();
public void proximoDia();
public void proximoMes();
public void proximoAno();
public void somaDia(int x);
public void somaMes(int x);
public void somaAno(int x);
}
}

Descrição:

• Construtor padrão: inicializa atributos da classe com os valores dia=1, mes=1, ano=2000

1
• Construtor alternativo 1: inicializa atributos com dados passado por parâmetro
• alteraData(d, m a): altera atributos para uma nova data
• valida(): verifica se a data está correta, deve-se considerar ano bissexto
• maiorDia(m): retorna o maior dia de mês corrente
• bissexto(): verifica se o ano corrente é bissexto
• imprimeData(): imprime a data no formato d/m/a
• proximoDia(): altera data para próximo dia
• proximoMes(): altera data para próximo mês
• proximoAno(): altera data para próximo ano
• somaDia(x): soma x dias ao dia atual
• somaMes(x): soma x meses ao mês atual
• somaAno(x): soma x anos ao ano atual

2. Implemente a classe para o TAD MatrizDeVetor abaixo. Crie a matriz como um array de
Vetor:

(a) Implemente todos os métodos da classe Matriz acima, obedecendo às seguintes descrições
dos métodos:
• construtor: Cria matriz de dimensões padrão, inicializa os atributos numElementos
e nLinhas com zero;
• construtor alternativo: Cria matriz com dimensões linha e coluna passados como
parâmetro, inicializa os atributos numElementos e nLinhas com zero;
• obtemTamanho(): Retorna o número de elementos armazenados na matriz;
• obtemNLinhas(): Retorna o número de linhas da matriz que já contém elementos;
• obtemTamanhoDaLinha(linha): Retorna o número de elementos armazenados em
uma determinada linha da matriz;
• insereNoFinal(x): Insere x na primeira posição vazia da matriz;
• alteraEm(linha, coluna, x): Atribui x ao elemento da posição linha e coluna da
matriz, caso linha e coluna seja uma posição válida;
• elementoEm(linha, coluna): Retorna o valor armazenado na posição linha e coluna,
caso esta seja uma posição válida; retorna −1 caso contrário;
• imprime(): Imprime os elementos da matriz, separados por um espaço;
• cheio(): Retorna indicação se matriz está cheia;
• posicaoDe(x, linha, coluna): Retorna a posição linha e coluna via referência
da primeria ocorrência de x na matriz, ou o valor −1 caso x não seja encontrado;
• maiorElemento(): retorna o maior elemento armazenado na matriz;
• menorElemento(): retorna o menor elemento armazenado na matriz;
• soma(): calcula a soma dos elementos armazenados na matriz;
• media(): calcular a média dos elementos armazenados na matriz;