Entrega da tarefa 3

Entrega da tarefa 3

por Rafael Junqueira -
Número de respostas: 13
Professor/Monitor/etc

Poderiam criar uma alternativa para a entrega da tarefa?

Tenho alguns problemas com o modelo atual:


"(...)O processo de compilação aqui deve ser entendido como todo o processo cweave, latex, ctangle (se você fez em CWEB) e gcc.(...) "
  • Eu uso o compilador Dev-C e não tenho a mínima idéia do que seja cweave, latex, ctangle


"(...)Junto com o seu programa você deve entregar um Makefile de tal forma que
meu_prompt> make Make
produza o executácute;vel de nome Make correspondente a sua Tarefa 3. (...)"
  • Sou usuário do sistema Windows e não sei como funciona este make. Apesar de ter uma idéia de que deve ter um funcionamento análogo ao sistema da tarefa 3 - como foi dito na descrição da tarefa.


"(...)O Paca não costuma aceitar a entrega de vários arquivos. Por isto, você deve depositar um arquivo ep2.tgz com todo o seu trabalho. Espera-se que
meu_prompt>tar -xvf ep2.tgz

crie um diretório que tenha o seu login na rede Linux como nome. (...)"
  • Análogo ao item anterior. Não pode ser um simples zip ou rar??


Digo tudo isso pois precisaria de um tempo extra para aprender estes tópicos. E, apesar de não desprezar o aprendizado, infelizmente não disponho deste tempo no momento.

Obrigado.



Em resposta à Rafael Junqueira

Re: Entrega da tarefa 3

por Carlos Eduardo Manssur -
Quando o monitor rodar seu ep no linux VAI COM CERTEZA dar pau se você fizer no windows, porque o encoding dos arquivos estarão diferentes...
Em resposta à Carlos Eduardo Manssur

Re: Entrega da tarefa 3

por Fábio Augusto Firmo -
Enconding será igual (inclusive o de quebra de linha) a menos que alguém mexa nas configurações iniciais do Dev.
É possível abrir um fonte escrito no Dev em qualquer editor do Linux sem problemas.
Em resposta à Fábio Augusto Firmo

Re: Entrega da tarefa 3

por Carlos Eduardo Manssur -
Ah sim sim... o arquivo .c feito no dev não vai pegar nada...

Mas... por experiência própria... eu fiz o arquivo MakeFile no notepad do windows e quando rodei no linux ele estava lendo caracteres a mais que ficavam invisíveis quando abertos no gedit pelo linux, e quando eu rodava o programa deixava meu arquivo de saída MakeFile.dg com vários caracteres estranhos...

Faça esse teste que você vai ver... =)
Em resposta à Rafael Junqueira

Re: Entrega da tarefa 3

por Rafael Schouery -
Seu programa deverá poder ser compilado usando o gcc -Wall -ansi -pedantic (eventais warnings fazem com que você perca pontos) e funcionar normalmente no Linux. O Dev-C, se não me engano, é um ambiente e não um compilador, que na verdade usa o gcc para compilar. Em algum lugar dá pra mudar e colocar os parâmentros -Wall -ansi -pedantic.

O make é a forma usual de compilar projetos em C. Provavelmente deve ter um port para Windows. Idem para o tar, que pode ser criado até usando o 7zip. (Ou use o cygwin, leia mais a baixo).

Acho que as duas opções mais viáveis são: usar a rede linux (pessoalmente ou através de ssh (com o putty por exemplo)) ou usar o cygwin que permite que você instale todas estas coisas.

Você já cursou laboratório de programação I ? Normalmente é ensinado make neste curso.

Mas de qualquer forma, a ep está bem explicado, e a sintaxe do make é realmente simples, acho que em 20 minutos você consegue aprender make e tar.

Em resposta à Rafael Schouery

Re: Entrega da tarefa 3

por Rafael Junqueira -
Prezado Rafael,

Com todo o respeito,

  • Em 20 minutos eu não consegui baixar nem 5% do cygwin. E olha que minha conexão aqui em casa é via cabo! E eu mandei instalar só o pacote gcc.

  • Também tentei colocar os parâmetros no Dev-C. Mas não funciona. Aparece um monte de erro nas bibliotecas stdio.h e stdlib.h. Tente você em casa para ver.

  • Meu programa é compilado sem um warning no Dev-C e no Turbo C!

  • Além disso está funcionando corretamente. Testei um montão de situações hoje a tarde inteira!

Infelizmente não possuo mesmo o tempo - que como você pode observar, é bem maior do que os 20 minutos - para o aprendizado no momento. Estamos em época de provas e trabalhos de todas as matérias! Por favor, peço que considerem uma entrega alternativa. Na minha humilde opinião, o mais importante nesta tarefa é analisar o algoritmo. Estou errado?

OBS: E eu não cursei laboratório de programação. Aliás, não é requisito para esta disciplina. Segundo o sistema Júpiter - http://sistemas2.usp.br/jupiterweb/listarCursosRequisitos?coddis=MAC0328 - só esta disciplina abaixo é requisito:

Curso: Bacharelado em Ciência da Computação (diurno) - Período ideal: 5
MAC0122 - Princípios de Desenvolvimento de Algoritmos
Requisito

Em resposta à Rafael Junqueira

Re: Entrega da tarefa 3

por Daniel Santos -

Eu tbm sou usuário Windows. E nunca deu problema pra mim..

Vai nas configurações do dev C++ e coloca de compilador e bota YES nos setings de ANSI chars e etc...

e fica sussa q não vai dar pau.

Em resposta à Daniel Santos

Re: Entrega da tarefa 3

por Debora Aline Sales Duarte -

De fato,

Descobri hoje que o Dev usa o gcc como compilador.  Logo, na parte de compilação, o programa não deve dar nenhum problema.

Quanto a história do Makefile, concordo. Também não cursei Laboratório de Programação e, além de tudo, nem aluna do BCC eu sou, então estou perdida com essa história. Como descobri que o Dev monta um Makefile (Project -> Generate Makefile) e que dá até pra colocar os tais parâmetros citados na montagem do mesmo, vai ser esse make mesmo que vou passar.

Como também não sou usuária Linux e não tenho nem como acessar a rede linux nem pelo putty (minha conta já deve ter ido pro espaço há muito tempo por falta de uso), não tenho como testar se vai dar certo ou não.

Também faço um apelo para que, caso alguma coisa não funcione relativamente ao Makefile, minha nota não seja baseada nesse problema, e sim no funcionamento do meu programa. Também acho que deveríamos poder usar pelo menos o Winrar pra compactar os arquivos. Não seria nada mal. 

Em resposta à Rafael Junqueira

Re: Entrega da tarefa 3

por Rafael Schouery -
Se o seu programa for ansi não tenho nenhum problema com ele. E se ele está funcionando corretamente não tem problema. Mas a questão é que serei igualitário em relação aos alunos. O programa será compilado com gcc -Wall -ansi -pedantic -O2 e deverá ser entregue em tgz. Como disse, o 7zip (gratuito e pra Windows) é capaz de comprimir neste formato.

Praticamente toda materia dada no IME que usa C utiliza o padrão ansi e é corrigida no Linux. Essa é uma convenção dos professores que não cabe a mim mudar.

Infelizmente não posso abrir exceções, já que temo 106 alunos. Desculpa a sinceridade, mas ao cursar uma matéria deve-se levar em conta o tempo que será necessário fora da aula também. Este é um EP razoavelmente simples para alunos do 5 período.

Resumindo, não me importo de ser feito em sistema operacional X com ferramenta de desenvolvimento Y, desde que compile com ansi, seja entregue em tgz, rode sem problemas no Linux (muitas vezes um código que funciona no Windows dá segmentation fault no Linux) e tenha um arquivo makefile para a sua compilação (não me importo que seja o gerado pelo DevC).

Em resposta à Rafael Schouery

Re: Entrega da tarefa 3

por Rafael Junqueira -
Rafael, quanto seria descontado da nota final para quem entregou em zip, sem o makefile e que funcione perfeitamente em Windows, mas eventualmente der "segmentation fault" no Linux?
Obrigado.
Em resposta à Rafael Junqueira

Re: Entrega da tarefa 3

por Marcos Bonci Cavalca -
Polêmicas à parte, eu também uso muito mais o Windows que o Linux mas, felizmente, cursei a disciplina de Lab1 no terceiro semestre, o que me fez perceber que qualquer matéria do BCC pode inesperadamente exigir uso de Linux. (Aliás não só de Linux como de qualquer outra coisa...)

Então, pros que tiveram problemas com isso dessa vez, vale a pena estar preparado pra próxima. Eu pessoalmente recomendo usar uma imagem VMWare - é só dezipar e dar dois cliques, e dá pra usar como um programa qualquer dentro do Windows:

VMWare Player:
http://www.vmware.com/download/player/

Repositório no ubuntu.com (desatualizado):
http://isv-image.ubuntu.com/vmware/

Thoughtpolice.co.uk (versão server, via torrent):
http://www.thoughtpolice.co.uk/vmware/#ubuntu8.04

Quem preferir pode baixar o CD e usar como "live" (particularmente útil em casos de emergência, mesmo pra quem só usa Windows) ou então instalar no HD:

Ubuntu na UFPR:
http://ubuntu.c3sl.ufpr.br/releases/8.04/

Pra quem preferir o KDE (3 ou 4) em vez do Gnome:
http://www.kubuntu.org/download.php

E, claro, o Ubuntu não é o único, existe uma infinidade de distribuições.

Pra quem gosta do Dev-C++, eu recomendo o wxDev-C++, que é a versão em desenvolvimento:
http://sourceforge.net/project/showfiles.php?group_id=95606

(Existem sim alguns arquivos do próprio Dev que dão erro de compilação quando se usa -ansi. Isso realmente é um problema.)

Espero ter ajudado.
Em resposta à Marcos Bonci Cavalca

Re: Entrega da tarefa 3

por Marcos Bonci Cavalca -
Aproveitando que o professor deu mais alguns dias para entregar a tarefa3: se alguém ainda tem dificuldades com o formato tgz, dá pra usar o 7zip, como o próprio Rafael disse. Achei que precisasse de compactação gzip além do arquivamento tar, mas nem precisa. Basta renomear para tgz que funciona normalmente.