ep02 correçao

ep02 correçao

por Daiane Carolina Silva -
Número de respostas: 10

Ola todxs,

meu ''avaliador ' estao dando esta mensagem

main(): iniciando avaliação dos testes (vale 10 ponto(s))
Iniciando testes da função main()... (vale 10 ponto(s))
parece que seu programa explodiu 8-O
Para o teste com a entrada:

o que nao faz nenhnum sentido

O QUE poderia estar errado nesta Entrada??

 

 

Em resposta à Daiane Carolina Silva

Re: ep02 correçao

por João Gabriel Loureiro de Lima Lembo -

Reveja seu programa e veja se tudo realmente está correto. Tente simular seu código "na mão", você mesma, pra ver se não encontra nada que possa estar incorreto.

Uma dica: O corretor disse que seu programa explodiu, então talvez seja bom rever seu comando while. Será que o programa realmente sempre sai do loop? 

Até mais,

 

João G.

Em resposta à João Gabriel Loureiro de Lima Lembo

Re: ep02 correçao

por Daiane Carolina Silva -

Joao, ja fiz tudo que vc falou e mais

Nao adianta. Na verdade , eu esqueci de deoxar de lado o avaliador...

Ja postei o exercicios e dado que o Avaliador esta obviamente Bugado, Vou postar os Eps sem me preocupar com algo irrelevante , qie neste caso é o Avaliador.

Obrigada pela ajuda

Em resposta à Daiane Carolina Silva

Re: ep02 correçao

por João Gabriel Loureiro de Lima Lembo -

Olá Daiane,

dei uma olhada no seu código e pude observar que há erros nele que estão causando o problema mencionado pelo avaliador. Dito isso, posso afirmar que o avaliador está funcionando corretamente e que o erro encontra-se no seu código. É um EP pequeno no número de linhas, então tente revê-las uma por uma, às vezes fazemos pequenas confusões que não percebemos e por isso não encontramos nossos erros.

E, por último, não deixe o avaliador de lado e nem o considere irrelevante. Ele é o responsável por atribuir sua nota nesses EPs, então é importante que você corrija todos os erros que ele apontar. Claro que em casos excepcionais ele pode realmente estar com algum problema, e aí basta nos avisar no fórum que vamos dar uma olhada. Mas posso te dizer que neste caso não se trata de nenhum problema com o avaliador. 

 

João G.

Em resposta à João Gabriel Loureiro de Lima Lembo

Re: ep02 correçao

por Daiane Carolina Silva -

Ola Joao, obrigada pela resposta

Veja, eu gostaria de perguntar o que constitui, na sua opinião, um erro de codigo?

Para Mim um erro de codigo é quando o codigo feito dá a mensagem de Traceback  Error e o Python nao consegue ler apontando algum Keyerror. Isto é , ao meu ver, a correta definiçao de erro ou Bug. Quando algo o impede de ser lido e funcionar

Como se pode ver na Imagem que eu Enviei, o meu código esta sendo lido pelo Interpretador do Python corretamente, e a saída está como indicado pelo exercicio.

Logo, eu vou te dizer o porquê acredito que o avaliador deve ser desconsiderado:

1. O avaliador nao diz, exatamente o que ele considera errado. No caso do EP2 ele disse que : ''parece que seu programa explodiu 8-O'' . Seria ótimo poder entender em que erro consiste a mensagem enigmática dada pelo avaliador. Não se é possível corrigir um erro, quando nao se sabe qual é o erro.

2.  o Avaliador nao sabe descontar notas, ao inves dele tirar pontuações por achar aquilo que ele considera erro, ele tira toda sua nota, como se todo seu código fosse inválido, por que ele achou que os dois ponto (sorriso estao assim (psorriso  mas ''deveria'' estar assim( p sorriso. Este fato dos dois ponto (sorriso, que ocorreu no EP 1, é TOTALmente irrelevante para a Legibilidade e bom funcionamento do codigo, ou seja ele diz que todo o Code nao vale por algo que nao implica em nada no funcionamento do mesmo.

3.  o número de vezes que pode tentar enviar o Ep é apenas 10, entao o número de vezes que normalmente precisa se enviar o Ep, até que o avaliador pare de dizer que há erro por uma mera questao de espaçamento no final doo ''Digite um numero'', ja vai ter passado as 1o tentativas e neste caso, a nota tbm é 0.

Logo, com base nos critérios informados acima, o avaliador nao cumpre o papel de dizer ao usuario no que ele esta, supostamente, errando (o que é fundamental), os erros que ele diz encontrar não tem nenhum impacto na  Legibilidade , bom funcionamento e interpretaçao do Código pelo intepretador, que sao as coisas mais importantes para verificar Bugs

E tudo isso impacta na motivaçao do aluno, pois o Avaliador , tal como funciona atualmente, Passa a mensagem: ''Voce aluno nao sabe nada, seu codigo , esta totalmente invalido'', impactando negativamente na Motivaçao e aprendizado do Aluno, quando na verdade, o codigo da pessoa esta sendo lido muito bem pelo intepretador e faz o usuario passar horas tentando corrigir algo, que nao sabe o que é , que nao tem relevancia para aprender o conceito que está sendo praticado com o Ep. Logo, eu vou continuar fazendo os Eps, enviando pelo PAca, mas assumirei a postura Individual de desconsiderar a opniao ou nota do avaliador, prefiro que isso impacte na minha Nota, do que impacte na minha Motivaçao e aprendizado , que sao deveras muito mais importantes, do que a opiniao, ao meu ver, infundada, do corretor Paca.

Ademais, acredito que o corretor deveria ser refeito, para que ele passe atingir um fim que fosse válido no aprendizado das pessoas, COmo sei que a chance disso correr é nula, apenas lamento e agradeço a ajuda.

att

Em resposta à Daiane Carolina Silva

Re: ep02 correçao

por Humberto Vieira Padula -
Apesar de eu particularmente não ter tido dificuldades com o corretor, acho que o maior problema dele é o fato de ele correr com o Python 2.7. Ouvi o professor falando isso, e vai totalmente contra a proposta de uniformizar a utilização do programa na versão 3.x pelos alunos por uma maior compatibilidade. Por exemplo, o problema da tabulação, da falta de tab dentro do main(), discutida umas 3 vezes. O Python 3.7 aparentemente não morre tentando rodar o código sem indentação, mas o corretor, usando Python 2.x, dá erro. Contudo, acho que seus erros por enquanto estão sendo detalhes, como a existência de espaço antes dos dois pontos quando não deveria haver. No meu ver, a proposta do EP não é só fazer o programa funcionar, mas também exercitar a atenção aos detalhes e "etiqueta" da linguagem.
Em resposta à Humberto Vieira Padula

Re: ep02 correçao

por João Gabriel Loureiro de Lima Lembo -

Olá Humberto,

como as coisas sobre o corretor estão na minha outra mensagem, vou responder aqui apenas aquilo referente ao que você disse sobre o problema da tabulação. O programa realmente não morre no 3.7 quando está sem indentação, mas (e admito que posso estar equivocado aqui) também não morre no 2.x.

Isso acontece porque por estar sem indentação, o código não está dentro de nenhuma função, (por exemplo, def main();) e portanto ele é executado diretamente. Ou seja, o que o programa faz é primeiro ver a definição da função main, no caso, nada (pois o codigo está fora dessa definicao), em seguida, ele executa o código que está fora da definição, e, por fim, chama a função main. O programa se encerra logo depois disso pois a função main está vazia e não há mais nenhuma linha de código. Quando o avaliador procura sua função main, ele não encontra nada, e por isso aquele erro de falha de memória. Ou seja, a falha não acontece por causa da versão, mas pela forma como o corretor trabalha. 

Não se preocupe com diferença de versões nos próximos EPs. Se por ventura essa diferença causar algum problema, nós avaliaremos e tomaremos as medidas necessárias para que isso não te prejudique. Espero que eu tenha conseguido esclarecer isso,

 

João G.

Em resposta à Humberto Vieira Padula

Re: ep02 correçao

por Carlos Hitoshi Morimoto -

Apesar de eu particularmente não ter tido dificuldades com o corretor, acho que o maior problema dele é o fato de ele correr com o Python 2.7. Ouvi o professor falando isso, e vai totalmente contra a proposta de uniformizar a utilização do programa na versão 3.x pelos alunos por uma maior compatibilidade.

Não foi isso que falei em aula. Certamente não com relação ao corretor piscando

 Foi em outro contexto que não vou mencionar para não desviar essa discussão.

Em resposta à Daiane Carolina Silva

Re: ep02 correçao

por João Gabriel Loureiro de Lima Lembo -

Boa noite, Daiane.

Quanto à sua pergunta, é importante notar que um erro no código não se trata apenas de um erro de sintaxe ou da linguagem, que possa gerar um Traceback ou algum outro tipo de aviso. Por exemplo, se você precisa fazer um programa que multiplica os números x e y, mas você digitar "x/y", não haverá nenhum tipo de aviso, pois o programa não sabe das suas intenções e não tem como saber que aquilo está incorreto. Ou seja, usar a função errada, mas escrevê-la da forma correta, não gerará Traceback Error, mas continuará sendo um erro no código.

 

Quanto aos seus apontamentos sobre o corretor:

 

1. O avaliador realmente não informa exatamente qual o erro, mas isso acontece para que o aluno busque depurar seu programa e conferir seu código para encontrar o erro, pra que possa aprender com isso, ao invés de o avaliador simplesmente lhe mostrar o erro exato. Além disso, impede que o avaliador seja utilizado para ficar corrigindo o código muitas vezes, por mais que hajam tentativas limitadas. No entanto, o avaliador dá um norte de onde está o erro, pra não deixar o aluno totalmente perdido. O seu caso é um exemplo disso. Ao dizer que "seu programa explodiu", ele mostra que o problema identificado encontra-se no loop do comando while, que por algum motivo não está se encerrando, isto é, temos um loop infinito. A partir disso o aluno pode procurar o que está causando esse loop infinito (talvez um contador que não está sendo incrementado, por exemplo.)

2. O avaliador sabe descontar notas, e também faz isso na verdade, em alguns testes aleatórios. Para os testes relativos aos exemplos, no entanto, o desconto é total. Concordo com você que colocar um espaço a mais antes dos dois pontos, por exemplo, não altera a legibilidade e o funcionamento do código, mas não é o que está sendo pedido. E é por isso que os testes referentes aos exemplos tem desconto total. Os exemplos mostram exatamente como deve ser o seu resultado, e se o programa não faz isso, então ocorre o desconto. Isso porque o aluno consegue saber exatamente o que deveria acontecer, e portanto, deve mudar seu código para que fique de acordo.

 

3. As tentativas limitadas do EP tem o objetivo de impedir que os alunos testem o programa pelo avaliador inúmeras vezes antes de enviá-lo, fazendo com que eles tenham que depurar seus programas por conta própria através do Spyder. Nessa depuração também deve entrar em conta observar se os prints estão exatamente como no enunciado, como o número de espaços e etc, e não apenas se o programa está rodando sem Traceback Errors ou coisas assim.

Dito isso, discordo no ponto em que você diz que seriam necessárias mais de 10 tentativas para corrigir os espaços. Isso porque, ao perceber o primeiro erro na falta do espaço, o aluno já deve analisar novamente todos os seus prints em busca de erros semelhantes, observando no Spyder e comparando com os exemplos, até acreditar que não há mais erros. Nisso ele gastou apenas uma tentativa. Se ao rodar o programa ele encontrar outro erro, ainda haverá 8 chances de envio para corrigi-lo.

Desta forma, o avaliador deve sim ser levado em conta, pois fornece um norte para o aluno identificar seus erros e, eventualmente, atribui a nota para os alunos. O corretor é muito válido para o aprendizado das pessoas justamente por não entregar o erro de forma exata, para que o aluno revise o programa, procure o erro e o arrume. Por mais que erros como esses de print não comprometam o código, esse é apenas um dos muitos tipos de erro que o corretor consegue detectar e informar os alunos. E esses erros geralmente tem muita relevância na verdade. O caso do loop infinito é um bom exemplo, apontar uma explosão do programa para o aluno é muito útil para que ele entenda como o while realmente funciona e o que deve ser feito para que ele se encerre da forma correta sem estourar o código.

 

Se tiver novos problemas nos próximos EPs, não deixe o avaliador de lado e não hesite em postar aqui no fórum, ou tirar suas dúvidas com os professores ou na monitoria. Boa sorte nos próximos EPs, 

 

João G.

 

 

 

Em resposta à João Gabriel Loureiro de Lima Lembo

Re: ep02 correçao

por Daiane Carolina Silva -

Ola Joao, obrigada

observaçoes interessantes.

Entendi as outras formas que pode estar errado.Vlw

mas ainda acho que a nota do corretor é bem secundário e que ele deve ser reformulado para ficar mais inteligente.

Eu vou na Monitoria para tirar algumas dúvidas a respeito, Se estiver lá batemos um papo.

Obrigada

Att