amb-interna 
660 
157 
Pesquisas e Projetos 
/Style Library/fei/img/ambientacao/amb_img_proj_maratona.jpg 
/Style Library/fei/img/ambientacao/bg-amb-azul.png 
 

 Maratona de Programação 

O que é?

O projeto da Maratona de Programação da FEI visa desenvolver e treinar equipes de alunos da FEI para participar das competições da Maratona de Programação promovidas nacionalmente pela SBC – Sociedade Brasileira de Computação. Para informações detalhadas, enviar um e-mail para o coach da FEI, Prof. Paulo Sergio Rodrigues, psergio@fei.edu.br.

Maratona de Programação da SBC

A Maratona de Programação da SBC é um desafio entre equipes de alunos de grandes Universidades para resolver problemas computacionais de vários níveis. Existem torneios anuais regionais, Nacionais e Internacionais.

Apresentação

A Maratona de Programação é um evento que congrega os melhores programadores com o intuito de resolver problemas de programação desafiadores em diversos níveis. Quem resolver o maior número de tarefas no menor tempo possível sai vencedor. O juiz é eletrônico.

Completar uma tarefa se resume em desenvolver um programa que resolva determinado problema. O programa é desenvolvido sem interfaces gráficas e deve receber uma entrada que contenha os parâmetros do problema para dar como saída a resposta solicitada. Como exemplo de tarefa, temos um problema no qual se dá como entrada um valor N e o programa solução deve ter como resposta a soma dos números de 1 a N.

Nesse caso, o problema é simples, mas em uma competição real encontramos problemas bastante desafiadores. Aliás, a graça da competição está exatamente aí. Os programas nunca possuem um visual bonito, mas suas ideias muitas vezes são geniais.

A solução de um problema é avaliada utilizando-se um conjunto de testes do problema. Esse conjunto consiste de diferentes entradas para o problema e suas saídas, ou regras para validar as saídas correspondentes. É importante notar que os participantes nunca têm acesso a esses conjuntos de teste durante a competição.

Quando a avaliação de um programa é feita, executando contra os testes, há um limite de tempo para o programa retornar a resposta. Estourar esse tempo é considerada falha e, portanto, soluções ineficientes são inibidas.

As soluções dos participantes podem ser avaliadas durante ou após a competição, e a pontuação pode ser dada somente se o programa passar por todos os testes, ou parcialmente, pontuando cada caso de teste que o programa resolva corretamente.