Início > Programação > Gosta de programar? Teste seus conhecimentos!

Gosta de programar? Teste seus conhecimentos!

Olá!

Não sei se todos são como eu, mas um dos meus passatempos favoritos é programar. Programar para mim é como um daqueles joguinhos casuais que a gente joga no celular quando estamos esperando numa fila, sempre que dá, a gente tá lá. Pois bem, existem sites com diversas questões de todos os tipos de dificuldade e variedade que você possa imaginar. O meu favorito é o SPOJ (Sphere Online Judge) http://br.spoj.pl. Nesse post vou explicar um pouco como funciona, criando uma conta no SPOJ e resolvendo um problema do site. Vamos lá:

1) Como funciona? O site dá a sua tarefa (o que o seu programa deve fazer), as especificações da entrada, dá o limite da entrada (Por exemplo, o problema pede para calcular se um numero é primo ou não. Portanto ele dirá, por exemplo, que o maior número que ele vai testar é 2²¹), como deverá ser a formatação da saída* e dará um ou mais exemplo de entrada/saida.

2) Legal. Como crio minha conta?
2.1) Clique onde tem escrito “register” no menu do lado esquerdo da tela.

2.2) Escolha um nome de usuário
2.3) Preencha o formulário do jeito que você achar mais conveniente para você. Depois, clique no botão “Atualizar”.
2.4) Confirme a sua inscrição no seu e-mail
2.5) Clique onde tem escrito “status” para ver as submissões mais recentes que pessoas do brasil inteiro mandam. Lá você poderá ver o ID / Dia e hora da submissão / Usuário / Problema / Resultado / Tempo / Gasto de memória / Linguagem de Programação
2.6) Clique em problemas e abrirá um banco de problemas para você se divertir. Note que embaixo de problemas abrirá um submenu com as opções “obi”, “regionais”, “seletivas”, “sulamericana”. Aviso de antemão que as questões da obi (olimpiada brasileira de informática) são as questões mais fáceis, no geral, mas não se enganem, há questões razoáveis lá. =)
3) Vamos resolver um problema simples: https://br.spoj.pl/problems/PRIMO/ em C++. Caso você não tenha um compilador de C++, uma boa opção é o CodeBlocks (http://www.codeblocks.org/downloads/26).
#include  /* Biblioteca onde tem
funções de entrada e saida */#include  /* Para usar a função abs() */

using namespace std;

/* Uma função que nos retornará true,
 se primo, false caso contrário */bool eprimo(int n) {    int aux = true;    /* Verifica se existe algum número que
     seja divisivel por n, tal que     esse número é maior do que 1 e menor do que n */    for ( int i = n - 1 ; i > 1 ; i-- ) {        /* Se existir um número divisível por n,
       então ele não é primo */        if ( n % i == 0 ) {            /* aux recebe o valor falso e sai do laço, 
            pois não precisa mais testar outros casos */            aux = false;            break;        }    }    return aux;}

int main() {    int n;    /* Leio um número */    cin >> n;    /* n vai receber o módulo de n. Ou seja,
    se n = -4, n passa a ser 4 */    n = abs(n);    /* Se n for primo, 
    diferente de 1, -1 e 0, então imprima "sim" */    if (eprimo(n) && n != 1 && n != -1 && n != 0)       cout << "sim" << endl;    else    /* Caso contrário imprima "não" */       cout << "nao" << endl;    return 0;}

E foi aceito com sucesso!

Obs: Os sinais de /*  */ são comentários de múltiplas linhas. Tudo que está
entre esses sinais será ignorado pelo compilador.

Por hoje é só. Qualquer dúvida, crítica, sugestão, por favor, comente.

Abraços e divirtam-se!

Categorias:Programação Tags:
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: