segunda-feira, 18 de setembro de 2017

Primeira fase - Maratona de Programação 2017

No dia 09 de setembro ocorreu a primeira fase da maratona de programação 2017, regional de Goiás ocorreu na UFG Campus Samambaia e o IF Goiano Campus Rio Verde levou 5 times, sendo eles 3 time oficiais e 2 treineiros (Café com Leite) para a competição.



Durante a manhã ocorreu o aquecimento, onde os times obteve a oportunidade de testar o ambiente computacional que iria utilizar na competição. Às 14h foi dada o início da competição, a prova foi composta por 13 questões de diversos conteúdo porém de grande teor matemático.



A equipe da UFG “Mookeys” venceu a primeira fase goiana acertando 9 das 13 questões, destaque também para a equipe “One balloom at a time, please!” da PUC-GO que acertaram 7 das 13, ambos os times representaram o estado de Goiás na final brasileira em Foz do Iguaçu disputando uma vaga para o mundial.

Já os times do IF Goiano Campus Rio Verde teve uma atuação satisfatória, todos os nossos times acertaram 2 questões e ficaram na seguintes colocações:
15º - Esquadrão Ω
17º - The Green Lions
22º - The Black Crows
24º - Fast Turtles
25º - PinkBirds


Foi muito gratificante para os alunos ter participado dessa competição além de ter sido muito importante para firmar o IF Goiano Campus Rio Verde neste cenário de competitivo.

segunda-feira, 28 de agosto de 2017

Terceira Fase OBI 2017


No dia 19 de agosto de 2017 foi realizada a terceira fase da XIX edição da OBI (Olimpíada Brasileira de Informática). 7 alunos do curso de ensino superior em Ciência da Computação do Instituto Federal Goiano Campus Rio Verde foram classificados para esta fase.



A prova foi aplicada das 13:00 h até às 18:00 h, um bom tempo para os alunos darem o melhor de si em cada questão. Na prova tivemos questões que envolve conceitos de matemática, condicionais, grafos e string.


Os participantes aplicaram seus conhecimentos da melhor maneira possível e estão aguardando os resultados.

segunda-feira, 21 de agosto de 2017

V Escola de Inverno em Monte Carmelo


   No dia 10 de julho de 2017, na cidade de Monte Carmelo em Minas Gerais, enviamos um grupo de alunos em prol da preparação dos mesmos para a Maratona de Programação de 2017, para poderem participar da V Escola de Inverno da Maratona Mineira de Programação, um evento onde vários alunos do Brasil se reúnem durante 4 dias para adquirir técnicas de programação fundamentais para a Maratona de Programação que irá ocorrer este ano.
   Nossos alunos Athos, Manoel, Maycon, Gabriel e Fay participaram das aulas de nível intermediário I, que tinha foco em técnicas de ordenação e utilização de grafos. Acreditamos que o conhecimento adquirido irá auxiliar nossos alunos durante a maratona, mas será necessário dedicação para dominar o conhecimento adquirido.



Nossos alunos durante a aula.
Abertura do Evento.

quinta-feira, 22 de junho de 2017

OBI na Escola José Serafim Azevedo.

O projeto IF Goiano - Campus Rio Verde na OBI fez sua primeira parceria com uma escola de Santa Helena de Goiás, a Escola Estadual José Serafim Azevedo. Ela se dispôs a aplicar as provas da Olimpíada Brasileira de Informática (OBI) para seus alunos de 8° e 9°ano do ensino fundamental, a prova na modalidade iniciação nível 2. O coordenador do projeto André juntamente com seus orientandos forneceu todo o material necessário para a confecção das provas, houve também a divulgação, incentivação e explicação para os alunos da escola sobre a data e funcionamento da prova.


No dia 11 de maio ocorreu a realização da primeira fase da OBI para as modalidades iniciação nível 1 e 2, e a Escola José Serafim Azevedo aplicou para seus alunos do 8° e 9° ano a prova iniciação nível 2.


Confira abaixo o resultado dos alunos classificados para a segunda fase:



sexta-feira, 2 de junho de 2017

Resultados OBI 2017


No dia 12 de Maio de 2017 às 14:00 foi aplicada a XIX Olimpíada Brasileira de Informática (OBI) no IFGoiano - Campus Rio Verde. Nossos alunos do 1º Período de Ciência da Computação realizaram a prova com duração de 2 horas, contendo apenas 3 questões.

No dia 25 de Maio, foram publicados os resultados da OBI 2017, o nosso querido campus teve 10 alunos classificado para a modalidade universitária, e são eles:

Nome
Pontos
Júlia Kroger
100
Italo Mendes de Medeiros Ferreira
100
Matheus Carneiro Carvalho
100
João Victor dos Santos Clementino
100
Fay Klagenberg
100
Victor Heidi Olimpio Otto
100
Matheus de Jesus Amorim
25
Gabriel Garcia Pavan
25
Gabriel Medeiros Alves
25
Alexandre da Silva
25


Esse alunos foram classificados para 2a fase da competição que ocorrera no 09/06 no período da tarde e terá duas horas de duração. Agora, eles estarão competindo com outros alunos do estado que é a próxima barreira para a fase nacional.



sexta-feira, 26 de maio de 2017

OBI 2017 - Game-10



Essa é a resolução da questão 1 da prova da fase Universitária da OBI denotada por “Game-10”. Nessa questão seu objetivo é descobrir o numero de vezes que o jogador precisa apertar o botão para movimentar o avião até a mesma posição do disco voador para atirar.

O primeiro passo é fazer a leitura das variáveis na ordem pedida (números de posições, posição do disco voador e posição do avião) o segundo passo é criar uma estrutura encadeada para checar as possibilidades dos valores inseridos:

1° Caso: O primeiro caso ocorre quando a posição do avião for maior que a posição do disco voador, neste caso, deve subtrair a posição do avião pelo número de posições e depois somar com a posição do disco voador.

if(a>d){
r = (n-a)+d;
}

2º Caso: No segundo caso a posição do avião for menor que a posição do disco voador, neste caso simplesmente deve subtrair a posição do disco voador pela posição do avião .

else {
r = (d-a);
}

Pronto, agora é só imprimir o resultado!!

OBI 2017 - Palíndroma


Esta é a resolução da questão 2 da prova da fase Universitária da OBI-2017, que consiste em verificar o número mínimo de palíndromas que uma string pode ser dividida. A string é chamada de palíndroma se a sequência de caracteres da esquerda para a direita é igual à sequência da direita pra esquerda. Quando uma palavra não for palíndroma, devemos subdividi-la em partes menores (substrings) que sejam palíndromas.

Primeiramente, criaremos uma função para verificar se a sequência forma uma palíndroma e, caso não for, retornar um valor lógico falso.

int pali(int tam, char *nome){
int i,ok=1,j=tam-1;
for(i=0;i<tam/2;i++){
    if(nome[i]!=nome[j]){
        ok=0;
        break;}
    j--;}
 return ok;
} 

Após isto devemos pensar na subdivisão da entrada em substrings, ou seja, gerar todas as substrings e verificar se formam palíndromas e  armazená-las em uma variável global. Por fim retornará a quantidade total das substrings. A cada repetição do laço, geraremos uma substring e toda vez que ela for palíndroma, armazenaremos ela na matriz palíndroma.

int gera_todas_pali(int tam, char *nome){
int i,j,k=0,r,t;
char aux[tam+1];
for(i=0;i

Agora precisamos encontrar o menor número de conjuntos possíveis. Em nossa primeira condição, iremos comparar se a nossa substring pertence a posição atual da sequência, na segunda verificamos se essa substring é maior, e caso ela for utilizaremos a função 'substring' para verificar se ela encaixa na sequência. Na terceira condição, verificamos se elas são as mesmas. Por fim, incrementamos o contador i com o tamanho da substring e o total.

int verifica_menor_palindroma(int k, int tam, char *str){
int i=0,j,maior,total=0;
char aux[MAX];
while(i<tam){
  maior=0;
  for(j=0;j<k;j++){
    if(palindroma[j][0]==str[i]){
      int t=strlen(palindroma[j]);
      if(t>maior){
       substring(str, aux, i, t);
       int ok=strcmp(aux,palindroma[j]);
 if(!ok){
          maior=t;
        }}}}
    i+=maior;
   total++;}
return total;
}

A função verifica_menor_palindroma utiliza a função substring.

void substring(char *s, char *sub, int p, int l) {
   int c = 0;
 
   while (c < l) {
      sub[c] = s[p+c];
      c++;
   }
   sub[c] = '\0';
}

Pronto terminamos, agora só é preciso fazer as leituras e chamar as funções na função principal main.

Coded by: André da Cunha Ribeiro.


Resumão da OBI 2017



No dia 12 de maio de 2017 ocorreu a XIX Olimpíada Brasileira de Informática, com isso faremos aqui um resumo das questões da prova da modalidade universitária.


No ano de 2017 houve mudanças em relação ao número de questões e o tempo de duração de aplicação da prova. A prova deste ano teve 3 questões e 2 horas de duração, já a de 2016 teve 5 questões e 5 horas de duração. No ano anterior o aluno tinha em 1 hora para resolver cada questão já este ano ele passou a ter 40 minutos, por outro lado o número de questões do ano anterior é maior e isso implica em um maior desgaste do aluno no final da prova. Já este ano o número de questões foi menor assim não havendo tanto desgaste do aluno no final da prova.

Game-10, Palíndromo e Botas Trocadas estes são o nome das questões deste ano, cada uma aborda um tema diferente, sendo que o Game-10 aborda mais o conceito matemático, o Palíndromo aborda a manipulação de string e o Botas Trocadas aborda problemas de contagem.

Game-10

O segredo do game-10 está em descobrir se a posição do avião é maior ou menor que a posição do disco voador. O primeiro caso ocorre quando a posição do avião for maior que a posição do disco voador, neste caso, você deve subtrair a posição do avião pelo número de posições e depois somar com a posição do disco voador. No segundo caso a posição do avião for menor que a posição do disco voador, neste caso você simplesmente deve subtrair a posição do avião pela posição do disco voador.

Palíndromo


Pois bem a questão de maior dificuldade da prova (ou não). Nesta questão temos que verificar o número mínimo de palavras palíndromas em uma cadeia de caracteres. Uma solução para essa questão seria separar todas as substrings palíndroma, após essa divisão você concatenaria as maiores substrings de forma que os mesmos caracteres não se repita e no final dessa concatenação obtenha uma string igual a original. A partir desse processo é só utilizar um contador para contar as strings utilizadas na concatenação.

Botas Trocadas

O seu objetivo em Botas Trocadas é dizer quantos pares de botas (de mesmo tamanho) temos em uma determinada quantidade de botas. Para esse problema pode se criar dois vetores, um para o lado esquerdo e o outro para o direito, os índices será o tamanho das botas, e para cada valor lido adicionarmos na posição do vetor (para isso ambos vetores tem que estar zerado). Por fim é só fazer somatório de todas posições dos dois vetores com menor valor.




OBI 2017 - Botas Trocadas


Essa é a resolução da questão 3 da prova da fase Universitária da OBI denotada por “Botas Trocadas”. Nessa questão seu objetivo é indicar o número total de pares de botas correto que podem ser formados, um par de botas correto seria duas botas onde seu tamanho é igual mas são de pés diferentes. Logo de inicio podemos criar dois vetores um para o pé direito e outro para o pé esquerdo ambos os vetores tem que ser zerados, esses vetores serão usados para mostrar quantos pés de botas de determinado tamanho. Já o tamanho do vetor será de 60-30 que é a variação do tamanho das botas.

 int i;  
 int vetorD[60-30];  
 int vetorE[60-30];  
 for(i = 0;i < 60-30; i++){  
   vetorD[i] = 0;  
   vetorE[i] = 0;  
 }  

Agora teremos que fazer as leituras, a primeira linha contem um valor de n que é o número de botas, e as próximas n linhas serão as botas (tamanho e o pé). Quando lermos uma das n botas adicionaremos mais 1 a posição de tamanho-30 (esse tamanho se da pelo motivo da posição zero ser o tamanho 30 e a posição 30 ser o tamanho 60) do vetor responsável pelo respectivo pé.

 int n;  
 int tamanho;  
 char pe;  
 scanf("%d", &n);  
 for(i = 0 ; i < n; i++){  
   scanf("%d %c", &tamanho, &pe);  
   if(pe == 'D')  
     vetorD[tamanho-30]++;  
   else  
     vetorE[tamanho-30]++;  
 }  

Por fim temos que fazer um somatório onde faremos a soma de todas as posições com o menor valor e imprimindo ela no final.


 int somatorio = 0;  
 for(i = 0 ; i < 60-30; i++){  
   if(vetorD[i] < vetorE[i])  
     somatorio+=vetorD[i];  
   else  
     somatorio+=vetorE[i];  
 }  
 printf("%d\n", somatorio);  

Esse será o código completo.


 #include <stdio.h>  
 int main(void){  
   //PARTE 1  
   int i;  
   int vetorD[60-30];  
   int vetorE[60-30];  
   for(i = 0;i < 60-30; i++){  
     vetorD[i] = 0;  
     vetorE[i] = 0;  
   }  
   //PARTE 2  
   int n;  
   int tamanho;  
   char pe;  
   scanf("%d", &n);  
   for(i = 0 ; i < n; i++){  
     scanf("%d %c", &tamanho, &pe);  
     if(pe == 'D')  
       vetorD[tamanho-30]++;  
     else  
       vetorE[tamanho-30]++;  
   }  
   //PARTE 3  
   int somatorio = 0;  
   for(i = 0 ; i < 60-30; i++){  
     if(vetorD[i] < vetorE[i])  
       somatorio+=vetorD[i];  
     else  
       somatorio+=vetorE[i];  
   }  
   printf("%d\n", somatorio);  
   return 0;  
 }  

quarta-feira, 26 de abril de 2017

Divulgação do Projeto.







Foi solicitado ao coordenador do projeto que fizessem um vídeo de ate 3 minutos divulgando o projeto IF Goiano - Campus Rio Verde na OBI. O professor André criou o roteiro e os alunos que participam do projeto juntamente com alguns alunos voluntários gravaram o vídeo, e o professor Marlus deu todo o suporte necessário para a gravação desde os equipamentos necessários até a edição do vídeo. 

No dia 31/03 nos reunimos para a gravação, participaram os alunos Manoel Victor, Athos José e Gabriel Medeiros, bolsistas do projeto, e os alunos Higor Henrique e Barbara Castro, alunos voluntários do curso de Ciência da Computação que já fizeram a prova da OBI no ano de 2016 e os professores André da Cunha e Marlus Dias. O resultado final do vídeo se encontra no canal do youtube do curso de Ciência da Computação.




sexta-feira, 31 de março de 2017

Olimpíada Brasileira de Informática 2017


No dia 06 de Março de 2017, foram abertas as inscrições para a 19ª Olimpíada Brasileira de Informática, que, diferentemente das Olimpíadas passadas, agora possui 3 fases de provas a serem disputadas: Fase Local, Fase Estadual e Fase Nacional.
As provas das fases locais e estaduais serão realizadas nas escolas onde o aluno se inscreveu, adicionalmente, as inscrições das escolas para aplicar as provas terminam no dia 05 de Maio de 2017. Um ponto interessante da prova este ano é que alunos poderão participar da prova sem ser inscritos, uma vez que as inscrições dos competidores vão até 4 dias depois das provas, ou seja, elas vão até o dia 16 de Maio de 2017.

A seguir o quadro das datas das provas das primeiras fases:

Para alunos do IFGoiano - Campus Rio Verde utilize o link a seguir: goo.gl/X4T36Q
Copy sho

sexta-feira, 24 de março de 2017

Maratona de Programação 2017

Maratona de Programação 2017

Ontem dia 23 de março foi definido os os dias em que ocorrera a maratona de programação 2017. A primeira fase ocorrera no dia 9 de setembro de 2017, já a final brasileira ocorrera em Foz do Iguaçu nos dias 10 e 11 de novembro de 2017.




Por que participar?

Existem diversos motivos pelos quais uma pessoa pode se interessar em participar de uma competição de programação. Afim de motivar algumas pessoas, apresentarei alguns desses motivos.

Desenvolvimento Pessoal

Programar em competições de programação requer do competidor está pronto para resolver problemas em pouco tempo. Dessa forma, com a prática, o competidor consegue desenvolver uma habilidade de programar muito mais refinada.

Currículo

A participação em competições pode ser uma boa chance para ter uma maior visibilidade para o seu currículo, estar entre os melhores da universidade, estar entre os melhores do estado, estar entre os melhores do pais. Pode ter certeza que você estará sendo observado por alguém.

Viagens

O melhor de tudo são as viagens, quem não gosta? É bem provável que você viajara na primeira fase, a não ser que você seja da cidade onde esteja ocorrendo a competição.

Prêmios

Tanto a OBI quanto a Maratona oferecem medalhas para os primeiros colocados, a maratona oferece medalhas para os 10 primeiros colocados e um troféu para o primeiro.

Bom listei aqui algumas das vantagens de participar de competições de programação, então estude muito e talvez nos veremos em algumas dessas competições.