MAC0328-2013: Tarefas
Dicas e recomendações
-
É possível aprender a jogar tênis ou futebol
lendo um manual ou observando os praticantes do esporte?
Não.
-
É possível aprender teoria dos grafos lendo livros
e observando como outras pessoas fazem as coisas?
Infelizmente, não.
É preciso fazer exercícios (com lápis, papel, e computador).
-
Como serão os exercícios de MAC0328?
Teremos várias tarefas ao longo do semestre.
Em algumas, você terá que resolver exercícios do tipo lápis-e-papel.
Em outras, você terá que escrever e testar
programas em C.
-
No caso de tarefas do tipo lápis-e-papel,
posso entregar as folhas de papel presas com um clipe?
Não!
Use um grampo no canto superior esquerdo.
-
Como devo fazer as tarefas que envolvem programação?
Faça a coisa óbvia e siga as minhas recomendações sobre organização do código.
Coloque o seu programa todo em um único arquivo
com nome "tarefaXX.c"
(onde XX é o número dda tarefa, com 2 dígitos)
e entregue a tarefa ao Paca/Moodle.
(Não envie o código executável;
eu não saberia o que fazer com ele.)
-
Posso usar alguma linguagem de programação diferente de C?
Não.
-
Devo mostrar os resultados dos testes que fiz?
É claro. Você deve entregar ao Paca/Moodle os resultados de alguns poucos
testes cuidadosamente escolhidos.
Grave o resultado de cada teste num arquivo
(use redirecionamento da saída stdout se for necessário).
Não edite o arquivo; deixe-o exatamente como foi gerado pelo seu programa.
-
Não perca tempo enfeitando a apresentação da tarefa.
Não use .pdf nem .doc.
-
Como devo entregar uma tarefa de programação ao
Paca/Moodle?
Crie um diretório com nome igual à
sua sigla.
Coloque todos os seus arquivos (código, testes, etc.)
nesse diretório
(sem fazer subdiretórios).
Transforme o diretório (junto com os arquivos que estão nele)
num arquivo .tar.gz.
(Se sua sigla é XyZ,
o seu arquivo terá nome XyZ.tar.gz.
Para obter isso basta fazer
tar -cvzf XyZ.tar.gz XyZ/.)
Envie o seu arquivo .tar.gz ao Paca/Moodle.
-
Devo digitar o meu nome em todos os arquivos que entregar ao Paca/Moodle?
Sim.
Cada arquivo deve começar com o seu nome,
sua sigla,
a data, e o número da tarefa.
-
Posso copiar uma parte (só uma pequena parte…) de um
exercício ou programa do meu amigo?
Não. Isso é contrário ao código de ética da USP.
(Veja a página sobre plágio preparada pelo professor Arnaldo Mandel.)
-
Posso copiar alguma coisa
(coisa pequena, só um parágrafo ou dois…)
de um livro ou da Internet
sem dizer de onde copiei?
Não. Isso é contrário ao código de ética da USP.
Você precisa dizer de onde copiou, exatamente.
(Mas é óbvio que isso não se aplica ao material que está nas
minhas notas de aulas de MAC0328!)
Como escrever e organizar e escrever código
Essas recomendações são muito simples e muito óbvias,
mas acho que vale a pena fazê-las.
-
Não complique! Simplifique!
-
Antes de cada função, escreva um comentário dizendo
o que
ela faz com os argumentos que recebe.
-
Evite comentários dentro das funções.
-
Evite linhas em branco dentro das funções.
-
Use uma ou mais linhas em branco para separar funções.
-
Faça um bom layout do seu código.
-
Não digite linhas que não cabem na largura do papel.
-
Não imprima com fonte de espaçamento variável.
Use apenas fonte monoespaçada.
-
Não use tabulação (tecla tab).
-
Comece cada arquivo com um comentário simples
contendo o nome do arquivo, o nome do autor, e a data.
-
Não faça arquivos em formato DOS (aquele formato que tem um \r
depois de cada \n).
-
O papel da função main é apenas administrativo
(entrada de dados, impressão de resultados, e chamada de outras funções).
-
Use argumentos na linha de comando.
O programa não deve pedir que o usuário digite dados.
-
Não perca tempo conferindo os valores dos argumentos.
-
Use as funções e os nomes de variáveis definidos nas notas de aula.
-
A primeira coisa na saída do seu programa
deve um pequeno cabeçalho com
o seu nome e a data.
-
Compile o seu programa usando gcc
com -ansi e -Wall.
Corrija os eventuais erros e "warnings".
-
Faça muitos testes, mas mostre apenas os mais inteligentes e interessantes.