terça-feira, 21 de abril de 2009
Sequências Polinomiais
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 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
- Executar Brain Workshop.
- Pressionar Espaço para entrar no Workshop.
- Pressionar M para mudar para o modo manual.
- Pressionar F1 para reduzir o nível N-back para 1.
- 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
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