MC102 - Laboratório Algoritmos e Programação de Computadores João Paulo Araújo Luciano Chaves Ricado Panaggio Prof. Dr. Arnaldo Vieira Moura
Quem somos? PED Luciano Chaves luciano.chaves@students.ic.unicamp.br Ricador Panaggio ricardo.panaggio@students.ic.unicamp.br PAD João Paulo Araújo jp07.ceara@gmail.com 2
Aula inicial Turmas de Laboratório de MC102 Salas 302 e 303 Q e R: segundas, das 14 as 16 horas. S e T: segundas, das 16 as 18 horas. Página da disciplina: http://ze.ic.unicamp.br/www/disciplinas/mc102/ Página do laboratório: http://www.lis.ic.unicamp.br/~panaggio/ped/2009/1s/mc102/ Página do professor Arnaldo: http://www.ic.unicamp.br/~arnaldo/ 3
Prazos e avaliações Laboratórios alternados: Em casa: prazo para entrega de 1 semana. Em sala: prazo para entrega de 2 horas. Avaliação: 8 pontos atribuídos automaticamente pelo Susy. 2 pontos pela qualidade do código. Cópias e fraudes: Susy possui detector de cópia. Nota 0 para os envolvidos. 4
Ambiente de trabalho Sistemas operacionais Windows XP ou Linux Fedora. Recomendamos o uso do Linux. Efetuar o login utilizando as senhas individuais já recebidas. Cuidado onde salvar seus arquivos! Utilize sempre a sua home. 5
Susy Sistema de submissão e correção automática de programas. Desenvolvido pelo professor Thomasz, do Instituto de Computação. Interface Web para exibição das tarefas e submissão dos arquivos. Senhas individuais e intransferíveis. 6
Programas Windows DevC++ Eclipse* Microsoft VisualStudio TortoiseSVN Linux Gedit/Kate + GCC Eclipse* Kdevelop RapidSVN Obtenção das cópias no Laboratório da Microsoft no IC-3. Software livre! * Disponível em www.eclipse.org 7
Usando o Linux Terminal: Aplicações/Acessórios/Terminal Applications/System Tools/Terminal Utilizado para entrada de comandos no sistema cd <dir>: muda para o diretório <dir> mkdir <dir>: cria um diretório <dir> rmdir <dir>: remove o diretório <dir> ls: lista o conteúdo do diretório atual pwd: mostra o diretório atual 8
Material didático Disponível no repositório SVN https://ze.ic.unicamp.br/svn-repos/mc102/<dir> onde <dir> pode ser: algoritmos/pdfs curso-c/pdfs slides sobre algoritmos slides sobre a linguagem C algoritmos/devc++ exemplos de programas Username: aluno-mc102 Password:.mc-102, 9
Recuperando o conteúdo SVN No Windows: TortoiseSVN Crie o diretório onde deseja salvar o material. Clique com o botão direito e selecione a opção SVN Checkout Preencha a URL do repositório como no slide anterior. Forneça o username e password, e clique em OK. Para atualização: Clique com o botão direito no diretório e selecione a opção SVN Update 10
Recuperando o conteúdo SVN No Linux: RapidSVN Abrir o RapidSVN. Vá ao menu Repository Checkout. Preencha a URL do repositório como no slide anterior e o diretório onde deseja salvar os arquivos. Forneça o username e password, e clique em OK. Para atualização: Selecione o diretório na coluna da esquerda e vá ao menu Repository Update. 11
Escrevendo um programa em C Utilize qualquer editor de texto para escrever o código. No Linux: Gedit, Kate, VIM, Emacs, No Windows: Notepad, DevC++ As ferramentas de desenvolvimento como Eclipse, VisualStudio, Kdevelop possuem seu próprio editor de texto. Salve os arquivos com a extensão.c 12
Compilando um programa em C No Windows, a melhor opção é usar o DevC++, porque já possui um compilador C (MinGW) integrado. Clique no ícone de compilação na barra de ferramentas para compilar e, em seguida, executar o seu programa. É importante inserir o comando system( pause ) antes do término do código fonte para conseguir ver os resultados. 13
Compilando um programa em C No Linux, uma opção é usar o compilador GCC no Terminal (linha de comando). Acessar o diretório onde foi salvo o arquivo com o código fonte. Utilizar o comando para compilar o código gcc <nome-arquivo.c> -o <nome-saida.out> Para executar, digite./<nome-saida.out> 14
Utilizando o Susy Acesse a página de tarefas do Susy em: http://susy.ic.unicamp.br:8888/mc102qrst Esta página contém a lista com as tarefas registradas no sistema. Clique sobre a tarefa de interesse. Você será redirecionado para a página específica da tarefa. 15
Utilizando o Susy Na página da tarefa existem links para: enunciado da tarefa; testes aos quais a tarefa será submetida; solução da tarefa (disponível somente após o término do prazo) Campos de usuário e senha utilizados na submissão do arquivo. Botões para relatório e recuperação de arquivos. 16
Utilizando o Susy A página de enunciado da tarefa contém: Uma descrição detalhada do problema a ser resolvido. Um exemplo de entrada esperado pelo programa. Um exemplo de saída gerada pelo programa. Outras informações adicionais. Atenção para o formato de entrada e saída! 17
Utilizando o Susy A página de testes contém: Arquivos de entrada que serão utilizados para testar o programa. Arquivos com as respectivas saídas esperadas. Nem todos os testes estão disponíveis para visualização. Neste laboratório serão sempre 10 testes: 5 abertos. 5 fechados. 18
Utilizando o Susy A página de solução permanece bloqueada enquanto as submissões são permitidas. Após o fim do prazo para submissão, a solução é liberada. 19
Utilizando o Susy Ao submeter a sua solução: Enviar somente o arquivo.c com o código fonte. O Susy vai compilar o seu código fonte e testar o programa. Atente para os prazos da tarefa. O sistema bloqueia submissões ao fim do prazo. É possível submeter a solução mais de uma vez, mas atente ao limite máximo especificado no enunciado. 20
Utilizando o Susy Consultar submissões: Exibe informações referentes ao último arquivo submetido, com resultados dos testes. Recuperar submissões: Exibe um link para o último arquivo submetido. Permite o download do mesmo. Precisa informar usuário e senha. 21
Utilizando o Susy Não deixe para enviar na última hora!!! A indisponibilidade do Susy por pequenos intervalos de tempo não é aceita como desculpa no atraso da entrega dos laboratórios feitos em casa. Lembre-se, podem ocorrer interrupções na rede, manutenção do sistema, queda de energia, etc 22
MC102 - Laboratório Tarefa 00: Mãos à obra!!! 23