Estrutura de Dados
Prof.a Mariella Berger
Trabalho 1 – Gerador de Números Primos
1. Objetivo
O objetivo deste trabalho é utilizar o Tipo Abstrato de Dados Lista Encadeada
Dinâmica para implementar um algoritmo para geração de todos os números primos
menores que um dado inteiro.
2. Implemetação
Você deverá implementar um algoritmo para cálculo de todos os primos menores
que um dado inteiro.
Obrigatoriamente, deverá ser implementado e utilizado o Tipo Abstrato de Dados
Lista Encadeada Dinâmica em seu algoritmo.
Um discussão sobre uma possível implementação do algoritmo será feita em sala.
Seu programa receberá um único argumento na linha de comando: o inteiro limite
superior dos primos a gerar. O trabalho será testado da seguinte maneira:
.\trab1 n
onde:
• n: é o inteiro limite superior dos primos a serem gerados.
Seu programa produzirá os primos em stdout, um por linha (número seguido de
enter).
Exemplo de execução:
./trab1 10
2
3
5
7
3. Considerações Importantes
•
Modularize o seu código adequadamente. Crie arquivos .c e .h para cada módulo do
seu sistema. Em especial, crie arquivos exclusivos para manipular as estruturas de
dados dos tipos abstratos de dados que você estiver representando.
•
Seu programa deve ser, obrigatoriamente, compilado com o utilitário make. Crie um
arquivo Makefile que gere como executável para o seu programa um arquivo de nome
trab1.
•
Não utilize variáveis globais em seu programa. •
Otimize seu código. O seu trabalho deve estar no máximo 30% mais lento do que o
trabalho mais rápido da turma. •
Crie códigos claros e organizados. Utilize um estilo de programação consistente.
Comente o seu código extensivamente. Isto ajudará no momento da correção.
4. Avaliação
•
A nota do trabalho terá um total de 10 pontos. A pontuação será calculada
automaticamente de acordo com a percentagem de erros/acertos em um benchmark
pré­definido;
•
Serão contemplados com nota zero os trabalhos que se enquadrarem em uma ou
mais situações abaixo:
✗ Plágio;
✗ Programa não compila;
✗ Não está de acordo com as especificações.
5. Entrega
Este trabalho deve ser feito em grupo de até 2 componentes e entregue até o dia
26 de abril de 2006 (quarta), às 23:59:59hs.
Ele deve ser enviado para [email protected].
O assunto da mensagem deve ser :
ed:trab1:<nome1>:<nome2>
Ex:
ed:trab1:Mariella Berger:Jociel Andrade
O nome do arquivo com o trabalho enviado em anexo deve ser trab1.tar.gz. Ele
será descompactado da seguinte forma:
tar ­xvzf trab1.tar.gz
e deverá gerar um arquivo chamado Makefile, com as regras de compilação do
programa, e os arquivos com os códigos fontes.
Ao digitar:
make all
deve ser gerado o executável trab1
Após o envio você receberá uma confirmação de recebimento do trabalho. Caso
isso não aconteça, reenvie o seu trabalho para o mesmo endereço.
Na mensagem de confirmação do seu trabalho haverá um hash MD5. Para
garantir que o arquivo enviado não foi corrompido, compare o MD5 do e­mail com o
gerado em sua máquina. Isso é feito com o seguinte comando no terminal:
md5sum trab1.tar.gz
Caso os valores sejam diferentes, o seu arquivo foi corrompido: reenvie o
trabalho novamente.
O recebimento dos trabalhos é automatizado. Siga as instruções à risca pois
algum erro na submissão pode inviabilizar a entrega do seu trabalho.
Não escreva o seu nome com caracteres estendidos (á, ç, etc.).
Não utilize contas de e­mail do HOTMAIL pois as mensagens enviadas por esse
servidor não seguem o padrão. Assim, o programa de recebimento automático não
consegue detectar o seu e­mail.
Não deixe para entregar seu trabalho no último instante. Você poderá perder o
prazo e ter seu trabalho invalidado.
6. Observação Importante
Mais detalhes serão discutidos em sala de aula. Considerações feitas em sala
terão mais relevância do que as contidas nesta especificação.
7. Referências
•Para compreender a importância dos números primos para a computação, leia
os capítulos 10 e 11 da monografia abaixo:
Números Primos: Curiosidades, Atualidades e Aplicações
Alberto de Faria Matos
http://www.ime.uerj.br/~progerio/monografia/2003_4/index.html
•Página sobre números Primos:
http://primes.utm.edu/index.html
8. Dúvidas
Em caso de dúvidas no trabalho contate­me em [email protected].
Download

Estrutura de Dados Prof.a Mariella Berger Trabalho 1 – Gerador de