AED Lab 01 Sab

2

Click here to load reader

Transcript of AED Lab 01 Sab

Page 1: AED Lab 01 Sab

Pontifıcia Universidade Catolica de Minas GeraisBacharelado em Sistemas de InformacaoAlgoritmos e Estruturas de Dados - 2009/2Waldir Ribeiro Pires Junior

Laboratorio 1: entregar ate 28/08/2009

Observacoes:

• Deverao ser entregues o codigo fonte em C# (apenas os arquivos .cs) e a documentacao.

• A documentacao do programa deve conter:

– uma breve descricao do programa;

– o manual de utilizacao do programa;

– analise de complexidade de todos os metodos implementados;

– um relatorio de testes que especifique os testes realizados e resultados obtidos.

• Devem ser realizados testes para todos os metodos da classe, abordando o funcionamentonormal e tratamentos de erros.

• Metodos e atributos auxiliares podem ser inseridos na classe mas nao e permitido alterar aassinatura nem exlcuir metodos ou atributos da interface.

• O metodo principal do programa deve ser criado em Principal.cs.

• Nao serao aceitos trabalhos com erro de compilacao.

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 Data(Data data);

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);

1

Page 2: AED Lab 01 Sab

public void somaMes(int x);

public void somaAno(int x);

public int compara(Data data);

}

}

Descricao:

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

• Construtor alternativo 1: inicializa atributos com dados passado por parametro

• Construtor alternativo 2: inicializa atributos a partir de outro objeto do tipo Data

• alteraData(d, m a): altera atributos para uma nova data

• valida(): verifica se a data esta correta, deve-se considerar ano bissexto

• maiorDia(m): retorna o maior dia de mes corrente

• bissexto(): verifica se o ano corrente e bissexto

• imprimeData(): imprime a data no formato d/m/a

• proximoDia(): altera data para proximo dia

• proximoMes(): altera data para proximo mes

• proximoAno(): altera data para proximo ano

• somaDia(x): soma x dias ao dia atual

• somaMes(x): soma x meses ao mes atual

• somaAno(x): soma x anos ao ano atual

• compara(data): compara data corrente com objeo data, retorna -1, 0 ou 1 se data correntefor menor, igual ou maior que data

2