Comentários sobre o EP

Comentários sobre o EP

por Andre Chalom -
Número de respostas: 3
Salve, gente. Algumas questões que foram levantadas na monitoria de hoje e eu acho importante reforçar, e alguns comentários que eu lembrei de fazer depois que vocês já tinham saído:

  • Linguagem
Minhas linguagens preferidas são C, C++ ou Fortran. Se alguém quiser entregar em outra linguagem, FALE COMIGO ANTES.
  • Cópia
Copiar EP é muito feio e se você fizer isso não ganha presente do papai noel. Pode conversar com o colega sobre como implementar, que condição colocar no laço, que problema usar para testar, mas cada aluno tem que fazer a própria implementação.
  • Protótipo da função vs. implementação:
O protótipo da função deve ser mantido do jeito que está. A forma como a função funciona internamente (variáveis temporárias, chamadas para outras funções) vocês podem fazer como quiserem. NOTEM apenas que os protótipos estão escritos com "int FLAG", mas devem ser escritas com "int *FLAG" (lembram dos ponteiros??)
  • Entrada e saída de dados:
Tanto a leitura do sistema a se resolver como os prints adequados no final da execução devem ser feitos pelo programa principal (main). Deixe apenas a resolução do sistema nas funções Gauss(...). Vocês podem fazer a entrada do programa como quiserem: pedindo para o usuário digitar, lendo de um arquivo ou, para as matrizes de Hilbert, só pedindo o N e gerando a matriz em outra função.
  • Precisão:
Usem precisão "double" em todos os números reais. Em Fortran, isso significa declarar as variáveis como REAL*8.
  • Relatório
O enunciado pede algumas perguntas além do EP. Vocês devem responde-las em um arquivo texto separado (seja .txt, .doc e similares, ou .pdf e similares). Vocês não imaginam o quão feliz eu vou ficar de corrigir um relatório feito em LaTeX, mas não vou exigir que vocês aprendam isso =)
Pra quem se interessar: http://en.wikipedia.org/wiki/TeX

Como o PACA só aceita um arquivo, vocês vão ter que zipar o código fonte junto com o relatório.
Em resposta à Andre Chalom

Re: Comentários sobre o EP

por Andre Chalom -
OK, devido a aclamação popular, vocês podem entregar o EP em Python. Todos os comentários acima continuam se aplicando =)

Como Python não tem declaração de variáveis, vocês podem assumir que os números reais vão ser armazenados como double (na maior parte dos sistemas é isso o que vai acontecer).


Em resposta à Andre Chalom

Re: Comentários sobre o EP

por Andre Chalom -
Mais uma pergunta que surgiu por e-mail e que acho fundamental todo mundo prestar atenção. A pergunta é (parafraseada): "Estou fazendo o programa em C, mas estou numerando a minha matriz de 1 a n, ao invés de numerar de 0 a n-1. Tem problema?"

Resposta curta: Tem. Muito.

Resposta longa (e um pouco mais educada piscando Como eu insisti bastante durante a monitoria, quando você trabalha em computação você nunca trabalha sozinho. O código que você está fazendo agora vai ser usado por outras pessoas no futuro, ou vai fazer parte de um programa maior usado para resolver problemas muito maiores. Então, imagine em um programa com 8000 linhas de código, ficar procurando o erro até descobrir que uma das funções do programa presume que a matriz está numerada de 1 a n ao invés de de 0 a n-1.

A linguagem C tem um padrão, e esse padrão deve ser seguido para que as funções sejam compatíveis umas com as outras. Idem para Fortran, Python, Java, PHP, SQL, Ruby, Lisp... siga o padrão da linguagem sempre.

Espero ter ajudado =)