Informática Para Olimpíada

0 Flares Facebook 0 0 Flares ×

cs161logo

A IOI, Olimpíada Internacional de Informática, existe de 1989, ou seja, é uma olimpíada considerada recente. A Olimpíada Internacional possui apenas a modalidade de Programação. Porém, a olimpíada nacional e muitas regionais possuem também a modalidade de Iniciação, que é formada por questões de lógica matemática, área de bastante utilidade para programação. Também, para os universitários, há a Maratona de Programação, que é uma competição realizada em equipe e possui um estilo um pouco diferente das Olimpíadas.

Modalidade Iniciação

Como dito anteriormente, esta é composta de questões de lógica. A intenção deste nível é que os alunos tenham maior facilidade quando forem aprender programação no futuro. No caso da OBI, o aluno tem direito a viajar para a Semana Olímpica de treinamento pela modalidade Iniciação apenas uma vez.

A OBI possui dois níveis nesta modalidade. O nível 1 é destinado para alunos do 6º e 7º anos do Ensino Fundamental e o nível 2 é destinado para alunos do 8º e 9º.

Questões para estudo podem ser encontradas no site da OBI. Clique aqui para acessar o site.

 Modalidade Programação

Esta é a modalidade principal de qualquer olimpíada de informática, sendo também a mais difícil. Nas Olimpíadas e Maratonas de Programação, a correção é feita testando-se seu programa (os chamados "Casos de Teste") e sua pontuação em um problema é dada de acordo com o número de vezes que seu programa respondeu o caso corretamente e dentro do tempo limite permitido para o seu programa.

O Noic possui o seu próprio curso de programação, que aborda os assuntos refentes à OBI e é recomendado tanto a alunos inexperientes que nunca programaram na vida e querem aprender do zero, como a alunos mais experientes que estão buscando apenas conhecimento sobre um assunto específico. Clique aqui par ter acesso ao Curso Noic de Informática.

No site da OBI, há uma apostila recomendada para iniciantes em programação (Clique aqui para acessa-la). Há também uma apostila para iniciantes em C feita pela UFMG (Clique aqui para acessa-la). O que mais constitui uma Olimpíada de Programação não são os conhecimentos de programação, mas sim os algoritmos. Uma boa fonte para se aprender algoritmos é o site da Wikipedia Americana, pesquisando-se um algoritmo por seu nome e lendo o artigo da Wikipedia sobre ele. Há também bons livros para isso:

Competitive Programming, Steven Halim e Felix Halim: Este livro é o que o Noic mais recomenda para um treinamento avançado de competições de programação, contendo vários problemas interessantes que misturam algoritmos conhecidos, truques interessantes e sacadas importantes usadas nas mais variadas competições de programação.

Looking for a Challenge, Vários autores: Este livro é o que o Noic mais recomenda para um treinamento avançado de competições de programação, contendo vários problemas interessantes que misturam algoritmos conhecidos, truques interessantes e sacadas importantes usadas nas mais variadas competições de programação.

- Introdução a Algoritmos, Thomas Cormen: Este livro é indicado para se aprender algoritmos mais a fundo, pois sua abordagem é excelente e é um livro muito rico em conteúdos, porém alguns de seus conteúdos não são práticos para competições de programação do nível fundamental e médio (como o capítulo de árvore rubro-negra).

- The Algorithm Design Manual, Steven Skiena: Também é um excelente livro que fala de uma boa quantidade de algoritmos.

Para se treinar a resolução de questões, há os chamados Juízes Online. Estes possuem um número muito grande de questões, no qual você resolve a questão, submete seu código e o Juiz o corrige, dizendo se seu programa acertou completamente o problema ou não.

Sites Recomendados

Os sites a seguir são recomendados para o estudo de programação. (Clique no nome do site para acessa-lo)

- CodCad: Esse é o juiz que o Noic mais recomenda. Além de conter várias questões ordenadas por tópicos e por dificuldade, ele também contém um curso que leva o aluno desde o básico da programação, até o nível necessário para competir no nível final da Olimpíada Brasileira de Informática. Todo o material é em Português e está sendo traduzido pro Inglês.

-Pratique OBI: Possui questões de edições antigas da OBI. Não é necessário se registrar ao site para se corrigir as questões.

-SPOJ Brasil: É um Juiz brasileiro altamente conhecido e baseado no site da SPOJ Internacional. Os problemas são todos em português. É necessário se registrar ao site para corrigir seu código.

-SPOJ Internacional: É a sigla de Sphere Online Judge. Este site é um dos mais conhecidos juízes online. Possui uma grande quantidade de problemas, todos em inglês. É necessário se registrar ao site para corrigir seu código.

-Codeforces: É um juiz com muitos problemas de vários níveis, além de conter problemas de competições do mundo inteiro, além de ter torneios com certa constância, úteis para treinar seus conhecimentos, velocidade e habilidade em prova. Os problemas são disponíveis em inglês e em russo. É necessário se registrar ao site para corrigir seu código.

-USACO: USACO vem de USA Computing Olympiad, que é a Olimpíada Americana de Informática. Este site não é exatamente um Juiz Online, é um site de treinamento. É dividido em várias sessões, e cada sessão só é liberada após se completar a anterior. Por ser da Olimpíada Americana, o site é em inglês. É necessário se registrar ao site.

-Cplusplus: É um site de referência sobre C++. É muito bom para aprender a se usar estruturas ou funções que são novas para você.

-TopCoder: Algo muito interessante deste site é a sua seção de tutoriais, que possui bons materiais falando sobre determinados algoritmos ou estruturas de dados. Possui muitas questões e competições. É necessário se registrar e baixar o Applet do site para poder ter acesso às questões.

-URI Online Judge: Uma das maiores vantagens deste site é que ele separa as questões por modalidade e por nível de dificuldade. É necessário criar uma conta para submeter seus problemas.

-UVa Online Judge: É o Juiz da Universidade de Valladolid, na Espanha. Possui um número incrivelmente alto de questões dos mais diversos tipos, todas em inglês. É necessário se registrar ao site para corrigir seu código.

0 Flares Facebook 0 0 Flares ×
0 Flares Facebook 0 0 Flares ×
%d bloggers like this: