1. Prova
A prova será composta por 10 problemas descritos em português, que englobarão conceitos de Lógica Computacional, Algoritmos e Programação e Estruturas de Dados, podendo ser estendidos para outras áreas da computação.
Cada problema exigirá a implementação de um programa como resposta em uma das linguagens de programação: C, C++ ou Java.
Como se trata de um torneio de criação e implementação de algoritmos, isto significa que não existe a necessidade de preocupar-se com interfaces com o usuário, reusabilidade do código, etc.
O tempo total para implementação dos algoritmos é de 4 horas.
2. Logística do dia da competição
A 16ª Maratona de Programação FACENS será realizada sábado 31/05/2025. Agenda dos participantes:
8:00h - Apresentação e café da manhã no Laboratório de Informática.
8:30h - Aquecimento, com objetivo de testar o hardware e softwares que serão utilizados durante a maratona.
9:00h - Início da competição.
13:00h - Encerramento da competição.
13:30h - Divulgação dos resultados e premiação no Auditório.
Não será permitida a entrada de participantes após as 8:30h.
3. Entrada e saída de dados
Durante os testes que a comissão avaliadora realizará, será considerada como entrada padrão o teclado. A saída padrão será o vídeo, ou seja, as soluções deverão ser exibidas na tela.
4. Sistema de avaliação
Ao julgar que finalizou um programa que resolve um determinado problema, a equipe pode submetê-lo à comissão avaliadora, que compilará e executará uma bateria de testes,desconhecido das equipes. Um problema será considerado resolvido se, para todos os casos de testes, ele devolva o resultado esperado.
Para cada submissão o time recebe uma resposta, que pode ser satisfatória (o problema está resolvido pelo time) ou insatisfatória, indicando que algum erro ocorreu durante os testes. Alguns exemplo de respostas insatisfatórias são: resposta errada, tempo de execução excedido, erro de execução, erro de compilação, etc. A cada submissão de programa, com resposta incorreta, a equipe será penalizada em 20 minutos, o qual será adicionado ao tempo total de resolução.
O time vencedor é aquele que resolver a maior quantidade de problemas dentro das 4 horas de competição. Empates no número de problemas resolvidos serão classificados pelo tempo corrigido, que é composto do tempo decorrido desde o início da competição até a entrega correta do último programa, acrescido das possíveis penalidades. A organização da competição é responsável pela decisão de qualquer caso não previsto.
5. Sistema de submissão
Toda submissão de programas e comunicação das equipes com a comissão avaliadora deverá ser realizada através do sistema de submissão (BOCA), sendo vetada qualquer comunicação de outra forma. Antes do início da competição será realizado um aquecimento, onde as equipes resolverão um problema simples, visando testar o sistema de submissão, bem como o equipamento (hardware).
6. Recursos
Cada equipe terá disponível 1 microcomputador fornecido pela Faculdade de Engenharia de Sorocaba. Os alunos poderão ter acesso a qualquer tipo de material impresso (apostilas, livros, anotações, etc) que julgue necessário. Não será permitido o acesso a internet, mídias (CD, DVD, pendrive, etc) e qualquer meio digital (celulares, pagers, handheld, notebook, etc). Além do microcomputador fornecido, é permitido acesso apenas à papel.
7. Informações técnicas
Os microcomputadores contarão apenas com o sistema operacional Linux (Maratona Linux).
As diretivas de compilação utilizadas pela comissão avaliadora serão (caso as equipes desejem testá-las):
Linguagem C: gcc -std=c99 -lm -o <arquivoexecutavel> <arquivo.c>
Linguagem C++: g++ -lm -o <arquivoexecutavel> <arquivo.cpp>
Linguagem Java: javac <arquivo.java>
Os compiladores utilizados pela comissão avaliadora serão:
Compilador C: gcc
Compilador C++: g++
Compilador Java: Java
Os ambientes de desenvolvimento disponíveis para as equipes serão (não é obrigatório o uso de um ambiente de desenvolvimento, é permitida a utilização também de qualquer editor de texto disponível):
Editor C: Geany
Editor C++: Geany
Editor Java: Geany
8. Equipes
As equipes deverão ser formadas por 3 alunos devidamente matriculados em qualquer curso da Faculdade de Engenharia de Sorocaba. é importante ressaltar que as equipe poderão ser formadas por alunos dos diferentes cursos e turmas.
9. Desclassificação automática
A fim de evitar que equipes se dispersem do objetivo da maratona, serão adotados os seguintes critérios de desclassificação das equipes:
- Utilização do sistema de comunicação para proferir ofensas e/ou palavras de baixo calão aos avaliadores ou membros da comissão organizadora;
- Comunicação com outras equipes;
- Utilização de material ou equipamentos proibidos, conforme item 6;
A organização da Maratona de Programação FACENS poderá desclassificar qualquer equipe, por motivos não previstos nesse documento que possam atrapalhar ou inviabilizar a realização satisfatória do evento.
10. Premiação
Obs: A premiação será realizada no auditório da FACENS, 30 minutos após o término oficial da maratona.
11. Comissão avaliadora
A Comissão avaliadora será composta por professores da Faculdade de Engenharia de Sorocaba. Os professores convidados deverão compor a "mesa julgadora" e serão responsáveis pela elaboração da prova, que será mantida em sigilo até sua aplicação.
12. Comissão organizadora
A Comissão organizadora será composta por professores e funcionários da Faculdade de Engenharia de Sorocaba.