1. Objetivos
    1. A Olimpíada Brasileira de Informática (OBI) é uma iniciativa da Sociedade Brasileira de Computação que tem por objetivos:
      1. Estimular o interesse pela Computação e por Ciências em geral.
      2. Promover a introdução de disciplinas de raciocínio computacional e técnicas de programação de computadores nas escolas de ensino médio e fundamental.
      3. Proporcionar novos desafios aos estudantes.
      4. Identificar talentos e vocações em Ciência da Computação de forma a melhor instruí-los e incentivá-los a seguir carreiras nas áreas de ciência e tecnologia.
  2. Modalidades
    1. A OBI será realizada em duas modalidades: Modalidade Iniciação e Modalidade Programação. Cada uma dessas modalidades é sub-dividida em Níveis, de acordo com a escolaridade e dificuldade das tarefas apresentadas.
      1. Na Modalidade Iniciação, as tarefas das provas versarão sobre problemas de lógica e problemas de computação (sobre lógica de programação, mas sem o uso de computador).
      2. Na Modalidade Programação, as tarefas da prova versarão sobre problemas de programação, e devem ser resolvidas com o uso de computador, exigindo conhecimento de estruturas de dados e técnicas de programação.
    2. Cada participante pode ser inscrito em apenas uma modalidade e nível. A inscrição de um(a) mesmo(a) competidor(a) em mais de uma modalidade prejudica outros participantes e pode resultar na desclassificação do(a) competidor(a).
  3. Fases
    1. A OBI será realizada em três fases: Local, Estadual e Nacional.
    2. As provas da Fase Local e da Fase Estadual serão realizadas na escola onde o aluno realizou a inscrição. As provas da Fase Nacional serão realizadas em sedes designadas pela organização da OBI, preferencialmente universidades localizadas nas capitais dos estados ou em cidades com grande concentração de competidores classificados.
    3. Em cada fase, os melhores classificados serão convocados a participar da fase seguinte, conforme descrito a seguir.
    4. Em cada fase, somente serão convocados para a fase seguinte os candidatos que tiverem obtido ao menos 1/3 dos pontos da prova na fase corrente.
    5. Serão convocados para a Fase Estadual, para cada modalidade e nível:
      1. os melhores classificados na Fase Local em cada Escola, até o limite de 15% dos participantes efetivos da Escola na respectiva modalidade e nível;
      2. os melhores classificados nacionalmente na Fase Local, até o limite de 5% dos participantes efetivos na respectiva modalidade e nível.
    6. Serão convocados para a Fase Nacional, para cada modalidade e nível:
      1. os melhores classificados na Fase Estadual em cada Estado, até o limite de 15% dos participantes efetivos do Estado na Fase Estadual, na respectiva modalidade e nível;
      2. os melhores classificados nacionalmente na Fase Estadual, até o limite de 5% dos participantes efetivos do Estado da Fase Estadual na respectiva modalidade e nível.
  4. Eligibilidade
    1. Escolas regulares de Ensino Básico e Ensino Superior podem se cadastrar e inscrever seus alunos. Excepcionalmente, entidades que não são escolas regulares de Ensino Básico ou Ensino Superior (como por exemplo entidades públicas ou privadas que oferecem cursos avulsos de programação de computadores) podem também ser habilitadas para participar da OBI; no entanto, competidores inscritos por esse tipo de entidade somente poderão participar da Modalidade Programação. A partir da OBI2024, apenas escolas regulares do Ensino Básico ou Ensino Superior, com inscrição no INEP, poderão participar da OBI.
    2. Nas modalidades Iniciação e Programação é permitida a participação de alunos com no máximo 20 anos completos até primeiro dia de julho do ano de sua participação, e que obedeçam aos requisitos específicos das modalidades, descritos a seguir. Na modalidade Programação Nível Sênior não há limite de idade para participação.
    3. Modalidade Iniciação - Nível Júnior
      1. É permitida a participação de alunos que estejam cursando o quarto ou o quinto ano do Ensino Fundamental.
    4. Modalidade Iniciação - Nível 1
      1. É permitida a participação de alunos que estejam cursando o sexto ou o sétimo ano do Ensino Fundamental.
    5. Modalidade Iniciação - Nível 2
      1. É permitida a participação de alunos que estejam cursando o oitavo ou o nono ano do Ensino Fundamental.
    6. Modalidade Programação - Nível Júnior
      1. É permitida a participação de alunos de qualquer ano do Ensino Fundamental.
    7. Modalidade Programação - Nível 1
      1. É permitida a participação de alunos do Ensino Fundamental e de alunos do primeiro ano do Ensino Médio.
    8. Modalidade Programação - Nível 2
      1. É permitida a participação de alunos do Ensino Fundamental e de alunos até o terceiro ano do Ensino Médio.
    9. Modalidade Programação - Nível Sênior
      1. É permitida a participação de alunos que estejam cursando o quarto ano de escolas do Ensino Técnico ou que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação, no momento da prova da Fase Local da OBI.
  5. Inscrições
    1. As inscrições deverão ser feitas em Escolas habilitadas pela organização da OBI. Na modalidade Iniciação não é necessário o uso de computadores. Na modalidade Programação a escola deve disponibilizar um computador por aluno no dia da prova, além de software de ambiente de programação para ao menos uma entre linguagens C, C++, Java, Javascript e Python.
    2. Cada Escola deve credenciar um professor responsável (Coordenador Local da OBI), através da página da OBI.
    3. O Coordenador Local da OBI é responsável por (a) inscrever os alunos que irão fazer a prova em sua escola, responsabilizando-se pela veracidade de informações; (b) realizar a competição em sua escola, no dia marcado, garantindo o sigilo das provas; (c) quando necessário, corrigir as provas dos competidores da modalidade Iniciação das Fases Local e Estadual, a partir de gabaritos fornecidos, e registrar a pontuação de cada aluno no sistema da OBI;
    4. As inscrições dos competidores deverão ser registradas pelos Coordenadores Locais no sistema da OBI até a data limite divulgada.
  6. Provas
    1. As escolas devem obedecer rigorosamente as datas e horários estabelecidos pela organização da OBI para as provas, sob pena de desclassificação dos competidores e da escola.
    2. Os participantes devem ser instruídos a não comentar o conteúdo da prova com outras pessoas durante o dia de aplicação da prova, pessoalmente ou através de qualquer outro meio, sob pena de desclassificação dos competidores e da escola.
    3. As tarefas das provas serão estabelecidas pelo Comitê Científico (CC), nomeado pela Comissão Nacional da OBI.
    4. As datas de realização das provas da OBI serão divulgadas antecipadamente através da página oficial da OBI.
    5. No dia da prova será permitido o uso somente de lápis, caneta ou lapiseira, borracha, régua e papel para rascunho (não é permitido o uso de calculadoras).
    6. É obrigatória a apresentação, no dia da prova da Fase Nacional, de documento de identificação com foto recente. Para alunos da Modalidade Programação Nível 2 o documento deve ser expedido por órgão oficial (Secretaria da Educação, Segurança Pública, Forças Armadas, UNE, UMES ou Ministério do Trabalho).
    7. Modalidade Iniciação - Níveis Júnior, 1 e 2
      1. As provas serão compostas de questões de múltipla escolha, cada uma com cinco alternativas e somente uma alternativa correta.
    8. Modalidade Programação - Níveis Júnior, 1, 2 e Sênior
      1. As provas serão compostas de tarefas de programação cuja solução envolve a implementação de um programa de computador em uma das linguagens de programação permitidas na OBI.
      2. Durante a prova, cada participante deverá ter acesso individual a um computador pessoal, com capacidade adequada de processamento, sem acesso à Internet exceto para comunicação com o ambiente de prova, com um ambiente de programação (no mínimo um editor de texto) e compiladores para as linguagens de programação permitidas pela OBI (ao menos uma linguagem).
  7. Linguagens de Programação
    1. Na Modalidade Programação, nas Fases Local, Estadual e Nacional, os competidores podem submeter soluções nas seguintes linguagens de programação:
      • C
      • C++
      • Python
      • Java
      • Javascript
    2. Na Seletiva para a Olimpíada Internacional, para os melhores classificados da Modalidade Programação Nível 2, os competidores podem submeter soluções apenas em C++.
    3. Os programas submetidos pelos competidores serão compilados em ambiente Linux, utilizando os seguintes compiladores e linhas de comando:
      • C: Compilador GCC versão 12.2.2 ou superior - Linha de comando: gcc -lm -O2 -static -o executavel programa.c
      • C++: Compilador G++ versão 12.2.2 ou superior - Linha de comando: g++ -std=gnu++17 -O2 -static -o executavel programa.cpp
      • Python: Interpretador versão 3.10.10 ou superior
      • Java: JDK 14 ou superior - Linha de comando para execução: java -Xmx1024m -Xms1024m programa.class
      • Javascript: Node.js, versão 18.15.0 ou superior
  8. Resultados
    1. Os resultados oficiais serão divulgados, juntamente com o gabarito das provas, na página oficial da OBI na Internet (http://obi.sbc.org.br).
    2. A ordem de classificação em cada Fase é determinada pela Pontuação obtida pelo competidor na respectiva Fase.
      1. Na Modalidade Iniciação, cada questão de múltipla escolha corretamente respondida corresponde a um ponto.
      2. Na Modalidade Programação, o competidor pode receber entre zero e 100 pontos em cada tarefa, dependendo do número de testes para o qual a sua solução para a respectiva tarefa produz a resposta correta.
    3. A classificação dos competidores na Fase Local, em cada modalidade e nível, é determinada pela Pontuação da Fase Local; a classificação dos competidores na Fase Estadual, em cada modalidade e nível, é determinada pela Pontuação da Fase Estadual;
    4. A Classificação Final dos competidores na OBI, em cada modalidade e nível, é determinada pela Pontuação da Fase Nacional. Em caso de empate, a Pontuação da Fase Estadual será utilizada para desempate. Persistindo o empate, a Pontuação da Fase Local será utilizada para desempate.
  9. Certificados e Medalhas
    1. Todos os participantes, coordenadores e colaboradores terão direito a certificados. Os melhores classificados terão direito a medalhas nas categorias ouro, prata e bronze, em quantidades a serem determinadas pela Comissão Nacional, dependendo da quantidade de participantes e dos resultados.
    2. Os certificados serão disponibilizados na Internet para impressão local.
    3. Se alunos da escola fizerem juz a medalhas, elas serão enviadas mediante o pagamento de uma Taxa de Correio, no valor de R$ 40,00 para escolas públicas e R$ 80,00 para escolas privadas. A Taxa de Correio é única para cada escola, independente do número de medalhas conquistadas pela escola.
  10. Semana Olímpica da OBI
    1. A Semana Olímpica da OBI é destinada aos melhores classificados da OBI, EXCETO alunos que se enquadrem no item 10.4, e será realizada no Instituto de Computação da Unicamp. Durante a Semana Olímpica acontecem os Cursos de Programação da OBI e a Seletiva para a IOI.
    2. Os alunos serão convidados para a Semana Olímpica da OBI em ordem decrescente de classificação de acordo com a disponibilidade de vagas.
    3. Os seguintes Cursos serão oferecidos durante a Semana Olímpica da OBI:
      • Curso de Introdução à Programação, para os melhores classificados em cada nível da Modalidade Iniciação.
      • Curso de Aperfeiçoamento em Programação, para os melhores classificados da Modalidade Programação Nível Júnior.
      • Curso de Programação Avançada, para os melhores classificados da Modalidade Programação Nível 1.
    4. Mesmo tendo uma boa classificação, um(a) aluno(a) será convidado(a) no máximo uma vez para cada Curso. O intuito é que os alunos, após participarem da Semana Olímpica, avancem para o próximo nível da competição e possam ser convidados para um Curso mais avançado.
    5. Seletiva para a IOI
      1. Os melhores classificados da OBI na modalidade Programação Nível 2 serão convidados a participar da Seletiva para a IOI (Olimpíada Internacional de Informática).
      2. A Seletiva para a IOI consiste de uma série de aulas, treinamentos e provas classificatórias. O Total de Pontos da seletiva será obtido somando-se a pontuação obtida em todas as provas classificatórias da seletiva.
      3. Comporão a equipe brasileira na IOI os quatro alunos com maior Total de Pontos da seletiva. Em caso de empate, será utilizada a classificação na OBI para desempate. Persistindo o empate, a Comissão Nacional da OBI decidirá um critério de desempate.
      4. Os alunos serão convidados para a Seletiva da IOI em ordem decrescente de classificação de acordo com a disponibilidade de vagas. A critério da Comissão Nacional, poderão também ser convidados os melhores classificados na modalidade Programação Nível 2 que possam participar de mais de uma IOI (por exemplo, o melhor classificado cursando o primeiro ano do ensino médio, o melhor classificado cursando o nono ano do ensino fundamental, etc).
      5. Será solicitado, pela Organização da OBI, auxílio para custear a vinda dos participantes para a Semana Olímpica da OBI. Se este auxílio não for possível, as despesas de transporte, estadia e alimentação correrão por conta dos participantes.
      6. Todo aluno que for convidado para a Semana Olímpica da OBI deve participar de todas as atividades agendadas e seguir as regras estabelecidas. A agenda das atividades e as regras serão divulgadas futuramente para os alunos convidados.
  11. Disposições Gerais
    1. As escolas e os participantes, ao inscreverem-se na competição, concordam implicitamente com as regras estabelecidas.
    2. As eventuais despesas com transporte, alimentação e hospedagem para participação das provas deverão correr por conta dos participantes.
    3. A Comissão Nacional da OBI terá a última palavra sobre a interpretação deste regulamento.
Volta ao início