Você está na página 1de 2

PONTIFCIA UNIVERSIDADE CATLICA DE MINAS GERAIS Curso: Sistemas de Informao Laboratrio de Computao II Professor: Rodrigo Richard Gomes

Atividade: Lab02 Colees .NET (ArrayList, Queue e Stack) Entrega do trabalho no SGA : prxima semana (NO SERO ACEITOS TRABALHOS ENVIADOS POR E-MAIL. Por favor, no insista). Ateno: no sero aceitas cpias de trabalhos/questes. Vamos utilizar o critrio de honestidade acadmica. Voc pode trocar idias com seus colegas, mas sugiro fortemente que voc no mostre suas solues (no adianta trocar nomes de variveis, etc...). Se para chegar a uma soluo voc conversou com algum colega, d crdito a ele(s) (exemplo: para resolver essa questo eu segui uma sugesto de fulano de tal). Alm de avaliar se sua soluo est correta, outro critrio a ser utilizado se sua soluo foi bem projetada, se o cdigo est bem indentado, legvel, utilizando variveis como nomes significativos, etc. 1 Crie as funes static ArrayList CriaArrayList(int opcao, int n) static Queue CriaQueue(int opcao, int n) static Stack CriaStack(int opcao, int n) que criam e retornam, respectivamente, um ArrayList, um Queue e um Stack. O parmetro opcao pode ter os seguintes valores: 0 gera a coleo com n elementos, de 0 at n-1 1 gera a coleo em ordem decrescente, de n-1 at 0 2 gera a coleo com n elementos aleatrios Exemplo da chamada das funes
static void Main(string[] args) { ArrayList testeA; Queue testeQ; Stack testeS; testeA = CriaArrayList(2, 400); // Gera um ArrayList aleatrio com 400 elementos testeQ = CriaQueue(0, 250); // Gera um Queue com 250 elementos em ordem crescente testeS = CriaStack(1, 2000); // Gera um Stack com mil elementos em ordem decrescente ...

} 2 Crie as funes static void ImprimeArrayList(ArrayList A), static void ImprimeQueue(Queue Q) e static void ImprimeStack(Stack S). As funes devem imprimir 10 elementos por linha, separados por espao. Obs: As funes devem ser no destrutivas (ou seja, aps a impresso, os dados da coleo devem continuar na mesma ordem original). Exemplo: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

PONTIFCIA UNIVERSIDADE CATLICA DE MINAS GERAIS Curso: Sistemas de Informao Laboratrio de Computao II Professor: Rodrigo Richard Gomes

3 Escolha 3 funes da lista de AED e implemente programas exemplo que as utilizem. Seu programa deve utilizar as funes para gerao de ArrayList, Queue e Stack e as funes de impresso da questo 2 acima. 4 Criar funes que copiam os dados: a. De ArrayList para ArrayList, Queue e Stack b. De Queue para ArrayList, Queue e Stack c. De Stack para ArrayList, Queue e Stack (a ordem dos dados deve ser a ordem de retirada da pilha) As funes devem ser no-destrutivas e voc no poder usar o comando foreach() e nem o mtodo ToArray(). Exemplo da assinatura da funo que copia de um ArrayList para outro. static ArrayList CopiaALparaAL(ArrayList origem) => recebe o ArrayList de origem, cria e retorna um ArrayList com a cpia de todos os elementos de origem. 5 Crie a funo que copia de Stack para Queue usando o comando foreach. O que voc achou? Foi mais fcil copiar os dados usando o foreach?

Você também pode gostar