www.tirinhas.com

terça-feira, 21 de abril de 2009

Sequências Polinomiais

Abaixo estão algumas séries, utilizadas para determinar funções trigonométricas.










A seguir, implementei algumas dessas funções matemáticas em C++.

Cálculo de x elevado a n
double pot( double x, unsigned int n)
{
double p = 1; unsigned int i;
for (i = 1; i<=n; i++)
p = p*x;
return p;
}


Fatorial de n:
long double fat(unsigned int n)
{
if (n <= 1 ) return 1;
else{
long double f = 1; unsigned int j;
for ( j = 1; j <= n; j++)
f = f*j;
return f;
}
}

Seno de x
double sen(double x)
{

x = x *pi() / 180.0;
int i, k; double p, s , x2;
x2 = -x * x;
p = x;
s = p;
k = 3;
while ( mod(p) > 1E-20)
{
p = p * x2 / ( k*(k-1));
s = s+p;
k = k+2;
}
return s;
}


Módulo de x;
double mod( double x)
{
if (x <= 0)
x = -x;
return x;
}

Cosseno de x
double cosseno(double x)
{
x = x *pi() / 180.0;
int k=1;
double c = 0.0;
double p=1.0;
double q = -x * x;
while ( mod(p) > 1E-20)
{
c = c + p;
p = p* (q / ( k * ( k +1)));
k = k+2;
}
return c;
}

Cálculo do valor de pi
double pi()
{
int c=1; double s=0, i;
for (i=2;i<=1E7;i++)
{
c = -c;
s = s+4.0/(2*i-1)*c;
}
s = s+4;
return s;
}

quarta-feira, 15 de abril de 2009

Brain Workshop

Um simples exercício mental pode aumentar sua memória recente e sua inteligência?

Um estudo recente mostrou que um teste específico de memória, chamado Dual N-Back, pode efetivamente aumentar sua memória recente e inteligência fluida. Foi uma descoberta importante pois, até então, acreditava-se ser a inteligência fluida imutável.
Inteligência fluida, é aquela que usamos quando nos deparamos com um problema novo, é a habilidade que temos em resolvê-lo.

O Brain Workshop procura replicar as condições do estudo original, feito em 2008. (Mais informações sobre a pesquisa, aqui). Está disponível para Windows, Linux e Mac.

Dual 1-back - o modo mais simples

  1. Executar Brain Workshop.
  2. Pressionar Espaço para entrar no Workshop.
  3. Pressionar M para mudar para o modo manual.
  4. Pressionar F1 para reduzir o nível N-back para 1.
  5. Pressione Espaço para começar uma sessão Dual 1-Back. Cada sessão dura aproximadamente um minuto

Você verá um quadrado aparecer a cada 3 segundos, abompanhado pelo som de uma letra. Se não ouvir nada, verifique se os alto-falantes não estão mudos.

  • Presssione A (position match) se a posição do quadrado azul é a mesma que apareceu na rodada anterior.
  • Pressione L (letter match) se a letra que ouvir for a mesma que apareceu na amostra anterior.

No modo Standard, o jogo já começa com o Dual-2-back e automaticamente aumenta o nível (N-back) quando o índice de acertos supera 80%, e reduz o nível, quando o índice fica abaixo de 50% por três vezes.

O Dual do nome do jogo, vem do fato de que você está recordando dois estímulos - a posição do quadrado e a letra que ouviu. O 1-Back indica quantas rodadas você deve retornar e lembrar para decidir se a posição da amostra ou o som da letra coincide com a atual.

O Modo Standard

No Modo Standard (aquele acessado diretamente quando se pressiona a tecla de espaço para entrar no jogo) o jogo inicial no Dual 2-Back.

Este modo é mais desafiador que o manual, pois cada vez que seu índice de acertos chega a 80%, o nível é automaticamente aumentado (se estava no 2-back, passa para o 3-back) e, se o índice de acertos ficar abaixo de 50% três vezes, o nível é reduzido.

Em qualquer que seja o modo, há a possibilidade de visualizar um gráfico com seu desempenho. O gráfico mostra a variação da média diária do nível N-Back, ou seja, o nível 2-back tem peso 2, o 3-back peso 3 e assim por diante.


** O jogo não tem tradução para o português. Entretanto, isso não faz muita diferença, uma vez que deve-se apenas ouvir o som das letras e recordá-lo. Não é necessário entender o significado do que é dito.


Instalação do Brain Workshop

O Brain Workshop tem como dependência o avbin, que pode ser baixado aqui: http://code.google.com/p/avbin/

A instalação é feita através de um script dentro do próprio pacote:

tar -zxvf avbin-linux-x86-32-7.tar.gz
cd avbin-linux-x86-32-7/
sudo ./install.sh

O Brain Workshop pode ser baixado na área de downloads Linux do site e executado. Por ser um script Python, não necessita instalação. Apenas descompacte o arquivo e execute o script:

unzip brainworkshop-4.2.zip
cd brainworkshop
python brainworkshop.pyw

Aqui no openSUSE, ele já está disponível no Yast, mas o AVBin teve que ser instalado separadamente.

Seguem alguns screenshots do programa:




Abaixo, os tipos de jogo: o Position N-Back e o Audio N-Back, são os modos mais simples, estimulando apenas um sentido.



A tela de início do jogo, em modo Manual.

quinta-feira, 9 de abril de 2009

C++ para Linux - Code Blocks

Para os estudantes de programação que achavam não haver uma opção semelhante ao Dev-C++ para Linux, o Code::Blocks pode ser uma boa alernativa, sendo multiplataforme e tendo, inclusive, uma interface semelhante ao Dev-C++.





O programa fará algumas perguntas, como o compilador a ser usado, e a pasta onde salvar o projeto.





Por fim, a compilação e execução do programa exemplo, que pode ser acessada com a tecla F9.


Após a instalação, quando tentei executar o exemplo, não acontecia nada e aparecia a mensagem:

"teste - Debug" uses an invalid compiler. Probably the toolchain path within the compiler options is not setup correctly?! Skipping...
Nothing to be done.


Vá ao menu "Settings->Compiler and debugger" do codeblocks. Então selecione seu compilador na lista e escolha a aba "Toolchain executables".Agora configure o caminho dos binários do compilador, no meu caso em /usr/. Não adicione a pasta bin, pois o programa irá procurá-la na pasta informada (para /usr/bin, deve-se informar apenas /usr). Dependendo da distro usada, o nome do executável pode variar, como no caso do OpenSUSE



Esta solução foi estraída do fórum do codeblocks em http://forums.codeblocks.org/index.php?topic=8603.0