Bem-vindo ao loop! Aqui começa o teu percurso informático de resolução de problemas. Nos artigos seguintes irás aprender o que precisas para começar a resolver problemas de programação competitiva, para poderes ter sucesso nos vários concursos que há por ai, com um foco nas Olimpíadas Nacionais de Informática.

Se chegaste a esta página não te precisamos de vender porque é que os concursos de programação são importantes, mas é sabido que além de serem excelentes sítios para começar a aprender as bases de ciência de computadores e a melhorar as capacidades de resolução de problemas, permitem-te começar a construir o teu currículo profissional para o futuro, através de um conjunto de conhecimentos muito cobiçados pelas melhores empresas e universidades do mundo. Dito isto, vamos começar com uma pequena introdução ao mundo da informática e programação que é o loop.

Guias e artigos

O que te encontras a ler é um artigo. Um artigo é, como deves imaginar, uma exposição sobre um tema em particular, que é constituida por algum texto teórico em conjunto com vários links para artigos externos, assim como sugestões de problemas a resolver para consolidar os temas discutidos no artigo. Cada artigo está inserido num guia. Um guia é simplesmente uma coleção de artigos com um tema comum que devem ser lidos pela ordem fornecida. Os vários guias estão ordenados por níveis de dificuldade que já deves ter tido a oportunidade de ver na página inicial dos guias.

Corpo de um artigo

Em cada artigo além de texto introdutório ou expositório, encontrarás artigos externos de leitura recomendada que serão indicados como na caixa seguinte:

Artigo: Teste

Os links e informações relevantes do artigo irão aparecer aqui.

Adicionalmente, alguns artigos extra serão fornecidos, para expandir ainda mais o conhecimento sobre a área, mas cuja leitura não é fundamental para perceber o tópico em questão. Estes serão assinalados com um asterisco antes do título do artigo, como o exemplo seguinte mostra.

*Artigo: Outro Teste

Este artigo é extra/opcional.
Os links e informações relevantes do artigo irão aparecer aqui.

Além de artigos externos, cada artigo conterá ainda problemas recomendados, cujo método de resolução passa por aplicar os conceitos discutidos, que serão indicados como na caixa seguinte:

Problema 1: Teste

Os links e informações relevantes de problemas irão aparecer aqui.

Assim como no caso dos atigos externos opcionais, problemas opcionais serão assinalados com um asterisco, como no exemplo seguinte:

*Problema 2: Outro Teste

Este problema é extra/opcional.
Os links e informações relevantes de problemas irão aparecer aqui.

Para sublinhar algum resultado ou conceito importante, serão incluidas notas como no exemplo seguinte:

Nota: Teste

É muito importante reler o que se encontra escrito aqui.

Finalmente, alguns artigos terão excertos de código associados, que funcionarão como no exemplo seguinte:

#include <stdio.h>

int main() {
  int a, b;

  scanf("%d %d", &a, &b);
  printf("%d + %d = %d\n", a, b, a + b);

  return 0;
}

Concursos

A página de concursos contém uma lista alargada de concursos que se realizarão online em breve e repositórios de problemas. A maior parte dos problemas recomendados em artigos estarão neste repositórios de problemas.

A lista de concursos irá incluir datas e níveis de dificuldade estimada, assim como recomendações de participação para quem não conhecer o concurso.

É importante completar o treino teórico com um treino prático, por isso é recomendada a participação no máximo número de concursos possível. Após cada concurso, é recomendado olhar para as soluções dos problemas que não foram resolvidos e tentar resolvê-los, uma prática que é chamada de upsolving pela comunidade de programação competitiva. Só com este tipo de treino, em conjunção com bases teóricas fortes, adquiridas na leitura de artigos como os recomendados pelo loop, é que é possível ter sucesso em concursos de programação.

Dúvidas e questões

Caso tenham dúvidas ou questões sobre um determinado tema ou problema, temos disponíveis 3 meios de comunicação com membros do loop e dos organizadores das ONI (e que incluem outras pessoas, como ex-concorrentes das ONI), são: o IRC, o fórum e o mail. Mais informações sobre eles na página sobre.