Passo Fundo, 08 de março de 2018
Introdução à Programação Competitiva
Principais competições de programação
Organizadas pela Sociedade Brasileira de Computação (SBC)
Olimpíada Brasileira de Informática (sbc.org.br/obi)
- Público: estudantes de escolas e 1º ano de graduação
- Competição individual
- 2017: 3 problemas por prova
- Duração de 2 horas
- Sem consulta, nem digital nem impressa
- Códigos são corrigidos somente após a prova
- Pontuação por "tarefas" que seu código resolve
Maratona de Programação (sbc.org.br/maratona)
- Público: universitários de qualquer curso
- 10~13 problemas
- 5 horas de prova
- Equipes de 3 pessoas (+ 1 suplente)
-
1 só computador, sem acesso à Internet
- "Cinco horas de máquina, mas 15 horas de humano"
- Pode levar apenas material impresso para consulta
- Vence quem resolver mais problemas em menos tempo
Um pouco de História...
A UPF em competições de programação
- Caxias do Sul, RS
- Primeira vez da UPF na Maratona, até onde se sabe
- "Started from the bottom..."
- 2008: 2º, 5º, e 10º lugares de 11 equipes
-
2009: 2º, 12º e 13º lugares de 17 equipes
- Primeira classificação para a Final Nacional!
- 2010 e 2011: sem participações
- 2012: 3º lugar de 21 times
-
2013: 2º, 7º e 14º lugares de 26 times
- Segunda classificação para a Final Nacional!
2013: de volta à Final Nacional
Equipes da UPF em 2013
Funcionalidade Aleatória
-
2014: 5º, 18º e 21º lugares de 32 equipes
- Equipes de alunos do primeiro ano se saindo melhor do que equipes de veteranos (!!!)
-
2015: 6º, 7º e 9º lugares de 21 equipes
- Um bom desempenho, na média
- 2016: 8º, 9º e 23º lugares de 26 times
-
2017: 3º, 11º e 13º lugares de 28 times
- Terceira classificação para a Final Nacional!
2014–2017: a montanha-russa
2017: a redenção
Equipe: Skynet dos Pampas
Final Nacional 2017, em Foz
2018: 50 anos da UPF
Esse ano, é muito mais que uma competição que está em jogo
São 50 anos de história
"O que é preciso para participar do Clube?"
Tempo disponível para treinar
Vontade de vencer
Disciplina e persistência
"Ingredientes"
- Linguagem de programação
- C, C++, Java, Python
- Ambiente de programação
- Editor de texto + terminal
- Sistema operacional: GNU/Linux
- A Maratona usa Ubuntu mesmo
- A OBI provavelmente também vai usar
- (pelo menos aqui na UPF)
Execução, entrada e saída
# Execução simples: lê do teclado e escreve na tela
python3 prog.py
# Redirecionando a entrada: lê de um arquivo texto
python3 prog.py < entrada.txt
# Redirecionando a saída: escreve num arquivo texto
python3 prog.py < entrada.txt > saida.txt
# Cronometrando a execução do nosso programa
time python3 prog.py < entrada.txt > saida.txt
# Comparando a resposta esperada com a resposta do programa
diff gabarito.txt saida.txt
Não se assuste
Ir da ideia pro código não é nada natural.
Não se assuste
Ir da ideia pro código não é nada natural.
É por isso que a gente treina.
Não se assuste
Ir da ideia pro código não é nada natural.
É por isso que a gente treina.
É apenas uma das grandes coisas que a Maratona e a OBI oferecem :-)
Obrigado!
Passo Fundo, 08 de março de 2018
/maratonaUPF
maratonaupf.github.io
constantin.leo@gmail.com
Introdução à Programação Competitiva 2018
By Clube de Programação UPF
Introdução à Programação Competitiva 2018
Apresentação utilizada no primeiro encontro com os calouros de Ciência da Computação da UPF.
- 1,119