Você está na página 1de 2

Trabalho Prtico II Organizao e Arquitetura de Computadores I 2006/I

ltima reviso: 25/10/2006


1. Especificao:
O trabalho prtico II da disciplina Organizao e Arquitetura de
Computadores I (verso 2006/II) consiste no projeto, codificao e validao de um
programa em linguagem de montagem do processador Clepatra que resolva um
determinado problema.
2. Regras:
Existem algumas regras bsicas a serem respeitadas, apresentadas abaixo:
1. Cada grupo deve trabalhar sobre um problema distinto. Uma lista de problemas
possveis apresentada no final deste documento.
2. O processo de escolha do problema deve seguir um ritual. Primeiro, o grupo de
alunos seleciona um problema a resolver. Este problema pode ser retirado da lista
em anexo ou escolhido pelo grupo. O grupo submete a proposta de especificao via
correio eletrnico ao professor. Este responde, ou alocando tal problema ao grupo,
ou negando que o problema possa ser usado, seja porque algum outro grupo j
props e teve alocado problema igual ou similar, seja porque a complexidade do
problema incompatvel com o trabalho (para mais ou para menos). Em caso de
negao do problema proposto pelo professor, o grupo deve reiniciar o processo de
escolha do problema. Problemas que j tenham sido resolvidos em aula, ou muito
comuns, como os problemas de classificao (bubble sort, merge sort, etc.), no
sero aceitos como problema a resolver.
3. O grupo deve entregar o trabalho via e-mail at a data de limite constante da
homepage. O trabalho deve ser um nico arquivo compactado, contendo o cdigo
fonte em linguagem de montagem com comentrios (deve-se usar comentrios
semnticos), um arquivo texto com a breve descrio do problema e da estrutura da
sua soluo (o algoritmo), e um arquivo contendo a descrio do processo de
validao por simulao, contendo, para cada experimento conduzido no mnimo o
conjunto de dados de entrada submetido ao programa e os dados de sada obtidos
aps a simulao. Os testes devem mostrar a capacidade da soluo de operar
corretamente para condies de contorno do problema (valores mximos ou
mnimos dos dados, etc.), bem como para casos tpicos.
4. A avaliao considerar trs aspectos principais: correo, qualidade do cdigo e
clareza da soluo do problema (50%), qualidade dos comentrios no cdigo (15%),
clareza, conciso e abrangncia da descrio do problema e de sua soluo (20%) e
a qualidade da descrio dos experimentos conduzidos para validar o programa
implementado (15%).
3. Grupos de Alunos:
Devemserde2ou3,nomximo.Gruposde3devemtrabalharsobreproblemasde
tamanhocompatvel(maiscomplexosqueproblemasparagruposde2).Excepcionalmente,
seaceitamtrabalhosindividuais.

4. Lista de Sugestes Problemas (no exclusiva. Escolha 1 item apenas,


por ex. b.ii, ou f). Em vermelho, trabalhos j reservados para algum
grupo:
a.

Problemas relacionados a rvores binrias:


i.
Clculo do nmero de elementos de uma rvore (binria);
ii.
Verificar se um dado elemento est presente em uma rvore (binria),
e quantas vezes este ocorre.
b.
Problemas relacionados a listas encadeadas:
i.
Insero/Remoo de elementos no fim de uma lista encadeada;
ii.
Achar o primeiro elemento que tenha um dado valor em uma lista
encadeada;
iii.
Inverter a ordem dos elementos de uma lista encadeada simples, isto
no duplamente encadeada.
c.
Problemas relacionados a conjuntos:
i.
Dado um vetor qualquer, transform-lo em um conjunto, isto , um
vetor sem elementos repetidos;
ii.
Dado dois conjuntos, implementar 3 funes operando sobre estes:
unio de 2 conjuntos, interseco entre 2 conjuntos, conteno de um elemento a
um conjunto;
iii.
Calcular o complemento de um conjunto A em relao a um conjunto
B.
d.
Problemas relacionados a vetores de caracteres (strings):
i.
strncpy Implementar uma rotina que toma um string de caracteres
ASCII terminado por um caracter NULL (00h) armazenado em memria e o copia
para outra regio de memria, copiando no mximo n caracteres, sendo n dado;
ii.
Strncmp - ver definio do problema aqui.
e.
Implementar o algoritmo GREP (comando UNIX): verificar se um string
dado est presente em um outro. Ex: AABC ocorre 1 vez em AABAABCDAA.
f.

Realizar multiplicao de matrizes.

g.
Dada uma matriz com valores positivos, negativos ou zero, determinar qual
o retngulo 2x2 dentro desta matriz que possui o maior somatrio de seus elementos.
Informar a posio da submatriz atravs das coordenadas dos elementos superior
esquerdo e inferior direito da matriz, assim como o somatrio.

Você também pode gostar