O motivo principal que me levou a desenvolver o aplicativo Questionarious foi uma necessidade específica do blog, qual seja, a de se ter um instrumento que facilitasse a publicação de posts relacionados a exercícios propostos e resolvidos de Matemática e que agregasse a possibilidade de interagir de forma mais efetiva com o leitor.

O objetivo referente ao instrumento facilitador foi alcançado. A outra parte … a se ver.
Mesmo que no desenvolvimento do aplicativo tenha imprimido o direcionamento apontado, penso que ele poderá ser útil para outras finalidades que não aquela. E nesse sentido passo a apresentar detalhes da versão por mim batizada de “Zen” em contraposição às tradicionais versões alfa ou beta e a disponibilizar um demo para teste, avaliação, sugestões e efetivo uso, a quem interessar possa, quando for liberada a versão para download.
A versão demo pode ser acionada através do link questionarious na barra de navegação localizada no topo da página e o login e senha de acesso são ambos a palavra consulta.
Como iniciei meus conhecimentos há pouco com o editor tinyMCE, e tive um trabalho danado para fazê-lo funcionar com o AJAX, em raras ocasiões no FF e mais frequentemente no IE, ele apresenta uma perda de foco – me parece ser esta a causa – que “trava” todo o formulário.
Minha desconfiança segue por essa direção, pelo menos por enquanto, uma vez que detectei que ao clicar em qualquer dos ícones do editor tudo volta ao normal.
Fica o registro na esperança de que possa ser ajudado na solução do problema.
Como vocês viram “arriba” e nos questionários já publicados existem muitas coisas prontas e muitas a se fazer. No ponto em que está, pra mim é mais do que suficiente e atende perfeitamente minhas necessidades.
A razão de divulgá-lo é detectar se há interesse ou não da comunidade blogueira e não blogueira por um aplicativo do gênero e quem sabe angariar reforço para implantar as melhorias mencionadas e outras a serem, certamente, sugeridas.
Uma das idéias que me passa pela cabeça é a de construir um plugin para o WP em que o aplicativo possa ser utilizado diretamente em sua interface. Conheço pouco ainda do assunto para partir para esta empreitada, mas quem sabe alguém topa contribuir.
Estou inteiramente aberto (opa!) para compartilhar o experimento e fico aqui na expectativa do retorno de vocês.
Finalmente gostaria de agradecer a colaboração do Renato Bontempo do Bicho de Goiaba e do Náiron do El Micox.
Publicado por (19) Comentários
Publicado por (66) Comentários
[Atualização: 06/03/2007]:
As soluções dos exercícios foram disponibilizadas no questionário. Para vê-las proceda como indicado no texto abaixo.
[/Atualização]
É com grande prazer e satisfação que inauguro mais uma categoria de artigos, se é que se pode dizer assim, a Questionarious.
Consistirá de exercícios propostos sobre as matérias tratadas no Viche em forma de um questionário, com perguntas e respostas de múltipla escolha onde você terá condições de testar seus conhecimentos ao vivo e a cores. Ou seja, você resolve as questões, responde diretamente no questionário e obtém o resultado de sua avaliação clicando no botão “enviar” exibido em seu final.
O primeiro questionário é composto de cinco exercícios sobre potenciação e cinco sobre radiciação.
Ao final de cada pergunta você observará que é mostrado um ícone em forma de uma lâmpada que se destina a fornecer a sua solução. É claro que, por enquanto, você não terá essa facilidade disponível. Será preciso que você tente, primeiro, resolver.
A idéia é que após quinze dias, a contar da data de publicação do questionário, as soluções sejam divulgadas. Achou pouco ou muito, diz aí nos comentários!
No entanto, como “canja” e para você ter idéia de como as soluções serão apresentadas, estou disponibilizando, de imediato, os resultados da primeira e da sétima questão. Seja forte e resista à tentação de “espiar” sem antes tentar resolvê-las. A recomendação é para seu próprio bem :-).
Somente a título de conhecimento, o Questionarious é um aplicativo desenvolvido por mim em PHP, MySQL, JavaScript e AJAX com um pouco de CSS. Para a turma que “mexe” na área, informo que logo, logo, estarei liberando a versão “Zen” em forma de demonstração.
Chega de conversa e vamos ao que interessa: Clique aqui para exibir o questionário e bom teste.
Em agradecimento aos leitores que contribuíram com o seu voto na pesquisa sobre faixa etária, encerrada hoje, apresento, a título de exercício, a distribuição de freqüências das respostas consignadas, as quais considero como corretas para efeito do que será tratado abaixo, e uma breve análise dos resultados obtidos.
Parâmetros e definições:
| Idade (em anos) | Freqüência Absoluta | Freqüência Relativa (%) | Densidade |
|---|---|---|---|
| [0 - 10] | 63 | 9,99 | 0,99 |
| (10 – 13] | 117 | 18,54 | 6,18 |
| (13 – 15] | 120 | 19,02 | 9,51 |
| (15 – 18] | 104 | 16,48 | 5,49 |
| (18 – 22] | 65 | 10,30 | 2,58 |
| (22 – 30] | 77 | 12,20 | 1,52 |
| (30 – 40] | 40 | 6,34 | 0,63 |
| 40 e mais | 45 | 7,13 | 0,71 |
| TOTAIS | 631 | 100,0 |
Analisando o histograma correspondente aos resultados dessa pesquisa podemos perceber que a idade dos leitores do Viche se concentra entre 10 e 18 anos, com a predominância da faixa etária entre 13 e 15 anos, onde ocorre um “pico”.
O pico ou valor mais freqüente da variável é chamado de moda. Ou, no caso da tabela de freqüências, a classe de maior freqüência, chamada de classe modal.
Os que estão, digamos assim, “em idade mais avançada”, não comparecem muito por aqui para dar o ar de sua graça :-).
É bom enfatizar que a análise dos dados colhidos reflete apenas uma tendência e não o perfil característico de idade do leitor “vicheneano”. Além do mais, há de se considerar ainda, como dito no início do artigo, que as respostas fornecidas não são comprovadamente tidas como verdadeiras.
Por fim, uma dica para quem quer conhecer mais sobre o assunto com uma especialista, suponho, na área, o que não é o meu caso: Distribuição de Freqüências.
Publicado por (13) Comentários
René Descartes (31 de Março de 1596, La Haye en Touraine, França — 11 de Fevereiro de 1650, Estocolmo, Suécia), também conhecido como Cartesius, foi um filósofo, um físico e matemático francês. Notabilizou-se sobretudo pelo seu trabalho revolucionário da Filosofia, tendo também sido famoso por ser o inventor do sistema de coordenadas cartesiano, 1637, que influenciou o desenvolvimento do Cálculo moderno. Note que com essa invenção Descartes mostrou como traduzir problemas de geometria para a álgebra.
Visite a Wikipédia, de onde o trecho acima foi extraído, para saber mais sobre René Descartes.
Em linhas gerais, um sistema de coordenadas cartesiano consiste de um esquema que permite especificar pontos em um determinado espaço com n dimensões. Assim, por exemplo, a reta corresponde à dimensão 1 (n = 1), o plano à dimensão 2 e o espaço à dimensão 3.
Um ponto qualquer em uma reta orientada ou eixo orientado x, com origem O, o centro das coordenadas e que corresponde ao valor 0 (zero), é representado por um número real. Se positivo estará localizado à direita e se negativo à esquerda de O. Para o assunto a ser tratado é necessário começar pela definição a seguir.
O plano cartesiano é definido por dois eixos orientados x e y – as dimensões -, perpendiculares entre si, que se cruzam no ponto O, origem de ambos os eixos, conforme figura a seguir.

Observações:
Sejam A e B dois conjuntos não vazios. Definimos como produto cartesiano de A por B o conjunto A x B cujos elementos são todos os pares ordenados (a,b) em que a pertence a A e b pertence a B:
A x B = {(a,b) | a Ɛ A e b Ɛ B}
Observações:
Exemplo extraído do livro Fundamentos de Matemática Elementar, Vol 01, Conjuntos e Funções – ver referências no final do post:
Se A = {1,2,3} e B = {1,2} então:
A x B = {(1,1), (1,2), (2,1), (2,2), (3,1), (3,2)}
e
B x A = {(1,1), (1,2), (1,3), (2,1), (2,2), (2,3)}
cujas representações no plano cartesiano são as seguintes:
Dados dois conjunto A e B não vazios, chama-se relação R, ou mais simplesmente relação binária, de A em B a qualquer subconjunto de A x B. Uma relação R de A em B é representada pelo símbolo R: A -> B:
R: A -> B <=> R C A x B
Exemplo:
Se A = {1,5} e B = {3,4,6}, então A x B = {(1,3), (1,4), (1,6), (5,3), (5,4), (5,6)}. Logo:
R = {(1,3), (1,6), (5,4)}
S = {(5.4)}
T = {(1,3), (1,4), (5,3), (5,6)}
são relações de A em B, uma vez que R, S e T são subconjuntos de A x B.
As relações que estabelecem uma condição matemática para que um determinado par ordenado (x,y) pertença à uma relação são de grande importância. Vejamos alguns exemplos para ilustrar o fato.
Se A = {1,3,4} e B = {2,4}, então A x B = {(1,2), (1,4), (3,2), (3,4), (4,2), (4,4)}. São relações de A em B:
a) R = {(x,y) Ɛ A x B | x = y} = {(4,4)}
b) S = {(x,y) Ɛ A x B | x/y Ɛ Z} = {(4,2), (4,4)}
c) T = {(x,y) Ɛ A x B | y – x = 1} = {(1,2), (3,4)}
Seja R uma relação de A em B.
1. Chama-se domínio de R, e denotamos por D(R), o conjunto de todos os primeiros elementos dos pares ordenados pertencentes a R. Ou, alternativamente, o conjunto de todos os elementos de A que estão associados a pelo menos um elemento de B.
2. Chama-se imagem de R, e denotamos por Im(R), o conjunto de todos os segundos elementos dos pares ordenados pertencentes a R.
Com base no exemplo anterior, temos:
a) D(R) = {4} e Im(R) = {4}
b) D(S) = {4} e Im(S) = {2,4}
c) D(T) = {1,3} e Im(T) = {2,4}
Publicado por (8) Comentários

Os bichos, os publicitários Renato Bontempo, Henrique Damião, Alfredo Valtier, Tiago Sampaio e Vinícius Macarrão, autores do blog e podcast Bicho de goiaba, deram um grau na arte do Viche com a criação de sua identidade visual.
É o resultado da reciprocidade da parceria iniciada com a ajuda prestada por mim na elaboração das folhas de estilos e dos ajustes no XHTML para que o blog deles entrasse no ar.
Com a nova – e definitiva – identidade visual do Viche estarei abandonando os temas anteriormente publicados. Com o tempo, farei apenas acertos nos posts escritos que fazem menção a alguns deles.
Gostei imensamente do design, leve, harmônico, simples e de muito bom gosto. Aos bichos meus sinceros agradecimentos.
Publicado por (141) Comentários
A história nos mostra que desde muito tempo o homem sempre teve a preocupação em contar objetos e ter registros numéricos. Seja através de pedras, ossos, desenhos, dos dedos ou outra forma qualquer, em que procurava abstrair a natureza por meio de processos de determinação de quantidades.
E essa procura pela abstração da natureza foi fundamental para a evolução, não só, mas também, dos conjuntos numéricos. E é sobre eles que passamos a dissertar.
Como decorrência da necessidade de contar objetos surgiram os números naturais que é simbolizado pela letra N e é formado pelos números 0, 1, 2, 3, …, ou seja:
N = {0; 1; 2; 3; …}
Um subconjunto de N muito usado é o conjunto dos números naturais menos o zero, ou seja N – {0} = conjuntos dos números naturais positivos, que é representado por N*.
Observações:
Como consequência, surge um novo conjunto para atender essa necessidade.
Chama-se o conjunto dos números inteiros, representado pela letra Z, o seguinte conjunto:
Z = {…, -3; -2; -1; 0; 1; 2; 3; …}
No conjunto Z distinguimos alguns subconjuntos notáveis que possuem notação própria para representá-los:
Note que Z+ = N e, por essa razão, N é um subconjunto de Z.
Observações:
O conjunto dos números racionais, simbolizado pela letra Q, é o conjunto dos números que podem ser escritos na forma de uma fração p/q, com p e q inteiros quaisquer e q diferente de zero:
Como todo número inteiro pode ser escrito na forma p/1, então Z é um subconjunto de Q. Valem também para o conjuntos dos números racionais as notações Q* (conjunto dos números racionais não nulos), Q+ (conjunto dos números racionais não negativos) e Q- (conjunto dos números racionais não positivos).
Observações:
Como o próprio nome sugere um número irracional é todo número não racional, isto é, todo número que não pode ser escrito na forma de uma fração p/q, onde p e q são inteiros e q diferente de zero.
São exemplos de números irracionais a raiz quadrada de 2 e a raiz cúbica de 3, ou seja, nenhum deles pertence a Q.
A título de ilustração vamos demonstrar, pela teoria do absurdo, que a raiz quadrada de 2 não pertence a Q.
Suponhamos que raiz quadrada de 2 é racional e admitamos que possa ser escrita como uma fração irredutível a/b, b diferente de zero:
Da expressão acima concluímos que a ao quadrado é par e que, portanto, a é par. Logo a = 2m, com m inteiro. Substituindo o valor de a na expressão anterior vem que:
Da mesma forma obtemos que b também é par, o que é um absurdo pois a/b é irredutível, ou seja, a e b são primos entre si, e portanto têm como divisor comum apenas o número 1, isto é, mdc(a,b) = 1.
Caso deseje obter maiores informações sobre as operações com números irracionais consulte os artigos publicados no blog na categoria Matemática.
O conjunto dos números reais, simbolizado pela letra R, é o formado por todos os números racionais e por todos os números irracionais:
R = {x | x é racional ou x é irracional}
Desse modo todos os conjuntos numéricos (N, Z e Q), bem como o conjunto dos números irracionais são subconjuntos de R.
Da mesma forma destacamos três outros subconjuntos de R: R* = conjunto dos reais não nulos, R+ = conjunto dos reais não negativos e R- = conjunto dos reais não positivos.
O conjunto dos números complexos, simbolizado pela letra C, foi criado para dar sentido às raízes de índice par de números negativos, com a definição da unidade imaginária i igual a raiz quadrada de -1, e são constituídos de elementos na forma a + bi, onde a e b são reais. Desse fato temos que R está contido em C.
Inicio o ano de 2007 com essa curiosidade, com a qual me deparei no site Matemática? Absolutamente!, batizada por seu autor de Quadros Adivinhos. Talvez uma velha conhecida de muita gente, mas ideal para o propósito estabelecido por mim de publicar um post mais ameno, e penso, interessante, para começar “devagarzinho” (ou é “devagarinho”?) o novo ano. Como no processo bafejado aos ventos, comumente denominado de “esquentar as turbinas”.
A página em questão, desenvolvida com a ferramenta Flash (não conheço “bulhufas” da danadinha), fornece uma explicação sobre a montagem dos 8 quadros utilizados para adivinhar um número, pensado por você, entre 0 e 250, e de como estender o limite máximo de escolha para 511 e 1023.
O princípio da montagem dos quadros (ou tabelas) se baseia no fato de que todo número natural pode ser escrito como a soma de potências de base 2, como dito por lá – no site, claro! Ou em outras palavras, na conversão de números naturais – base decimal – para base 2 ou binária.
A adivinhação consiste em responder, passo-a-passo, se o número está ou não em cada uma das 8 tabelas apresentadas, e após a última é exibido o resultado, ou seja, o número pensado por você. Se as respostas fornecidas forem lúcidas, honestas e corretas não tem falha, a nota é 10 sempre (bingo!).
Você, na altura do campeonato, deve estar se perguntando: se a “coisa” está lá feita e em funcionamento, o que “este cara” quer? Quero apresentar o mesmo experimento só que com a rotina desenvolvida em JavaScript e com os três intervalos acima mencionados (0 a 255, 0 a 511 e 0 a 1023) para a escolha do número pensado por você.
Certamente deve ser o mesmo utilizado no Matemática? Absolutamente!. Mas como não da para saber, vamos lá! Consideraremos o primeiro intervalo, uma vez que para os demais a construção é feita por pura e genuína generalização deste, para as devidas explicações.
Passo 1 – Como é notório e sabido por todos, o número natural 255 é igual a 11111111 (oito Carolinas, lembra da música, “encarrilhados”) em binário ou base 2. Ou seja:
(11111111)2 = (255)10 = 27 + 26 + 25 + 24 + 23 + 22 + 21 + 20 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
Passo 2 – O fato nos sugere que as oito tabelas necessárias, no caso do intervalo considerado, iniciem com uma das potências de 2. Isto é, a primeira com o número 1, a segunda com o 2, a terceira com o 4, e assim sucessivamente até cessar, a oito com o 128.
Passo 3 – Os demais números que compõem cada uma das 8 tabelas, exibidos em ordem crescente, são determinados a partir da sua representação binária da seguinte forma: se a primeira posição, da direita para a esquerda, é igual a 1 ele é exibido na primeira tabela, se a segunda posição, na mesma ordem é 1, ele será exibido na segunda, e assim por diante. Por exemplo, o número 255 será mostrado nas oito tabelas e o número 15, cuja representação binária é 00001111, será exibido nas quatro primeiras tabelas e não nas restantes (os zeros à esquerda é só para facilitar o entendimento, viu!).
Passo 4 – Como você é bastante esperto, já percebeu como o resultado é obtido: é suficiente somar (cumulativamente, claro), a cada resposta “sim” a primeira posição da tabela, que nada mais é do que uma potência de 2. Mais uma vez uns exemplos para clarear as idéias:
Não precisava, mais eu vou dizer, que para os outros dois intervalos é só acrescentar as potências de graus 9 e 10 de 2, respectivamente, e seguir os passos 1 a 4 com os devidos ajustes.
Não vou dissertar sobre o código – avisei no começo – mas se você quiser ver e analisar dentro da ótica do aprendizado (meu caso, ao desenvolver) mais do que a da utilidade, ela se encontra “embutida” na página do experimento. Ou então, como “canja” de início de ano, clique aqui (péssimo isto, não?) para exibí-la.
E, para encerrar, mais uma vez, desejo a todos muita paz, muito amor, muitas realizações, …, e muito Viche em 2007. Axé!
Publicado por (9) Comentários
Em fevereiro de 2006, quando ainda não conhecia nada de AJAX, escrevi o artigo Simulando AJAX?, onde usei PHP e JavaScript para criticar o preenchimento de um campo e exibir, quando correto, a descrição correspondente após a utilização da tecla Tab, sem o refresh da página.
Retomo agora o exemplo, para demonstrar a mesma funcionalidade com o uso do objeto XMLHttpRequest do AJAX, mas com uma “cara” nova e bem mais elegante :-).
Apesar de se tratar de uma aplicação simples tem como vantagem evitar a lógica para validar os campos do lado do cliente com JavaScript, que em alguns casos é inviável de ser realizada e somente é efetuada do lado do servidor após o formulário ser submetido (neste post, este aspecto não é considerado).
Além do mais, na maioria dos casos, é bem mais simples escrever a lógica de validação com a linguagem utilizada no desenvolvimento de seus aplicativos e, ainda, com a possibilidade de se aproveitar estruturas já construídas.
Acredito, também, que quando se trata de performance, apesar de não ser um desenvolvedor contumaz, não há perda significativa que justifique o não uso da ferramenta AJAX.
Neste experimento mostraremos exemplos comuns de validações, com o uso de um formulário contendo apenas o campo Id Categoria a ser preenchido e da tabela wp-categories do Viche, a saber:
Observe que a terceira crítica é um caso clássico, pelo menos até onde eu sei, em que o JavaScript sozinho não resolve.
A linguagem utilizada do lado do servidor é o PHP, que usa na interação com o JavaScript/AJAX uma técnica que permite a acentuação correta das mensagens exibidas, descoberta através da dica fornecida no artigo Acentuação para conteúdos carregados por AJAX do El Micox e de autoria de Fabrício Nogueira Magri, com o título Palavras acentuadas com AJAX.
O código Javascript está, também, embutido no XHTML do experimento, e a função retirada do artigo mencionado é a url_decode(str), enquanto que no PHP é utilizada a função rawurlencode($resposta). Os detalhes sobre as funções podem ser vistos diretamente no artigo do Fabrício e com informações adicionais bem interessantes.
Serão descritos apenas os pontos que considero importantes no experimento.
O primeiro é a chamada do objeto XMLHttpRequest criado através da função criaxmlhttp():
<input id="id_cad" name="id_cad" size="6" value="" maxlength="8" onblur="valida_cat(this.value,'S','N','verifica_cat')" type="text">
onde utilizo o evento onblur e a função valida_cat() com os seguintes parâmetros:
Outro ponto, é a chamada da função passada como parâmetro pelo objeto XMLHttpRequest, no programa PHP:
if ($funcao != "") {
$resposta = call_user_func($funcao, $id);
echo $resposta;
return;
}
em que fazemos uso da função call_user_func() de modo a permitir a generalização da rotina para executar qualquer procedimento adicional definido como parâmetro na url do objeto XMLHttpRequest.
E, finalmente, a decodificação correta dos acentos para que as mensagens sejam exibidas em um bom português:
echo rawurlencode($resposta); // no PHP
e
var resposta = url_decode(xmlhttp.responseText); // no JavaScript
de acordo com as orientações do Fabrício anteriormente mencionadas.
Você deve ter notado que na resposta da função não faço uso de rawurlencode(), isto porque se encontra definida no XHTML a meta tag que estabelece o charset como UTF-8, o padrão do WordPress.
Ah! veja agora o experimento em ação.
Feliz Natal com muita paz e muito VICHE.
Quem disse que com os dedos das mãos só podemos contar até dez?
E se eu afirmar que você pode contar até 1023?
E, além disso, se acrescentarmos os dedos dos pés podemos contar até 1.040.575?
Você acreditaria?
Não! Então veja aqui como (em inglês, sorry!): Instructables
Quer saber o que se pode fazer mais com os dedos (em português)? Será que eu preciso dizer para clicar no link da pergunta anterior? Acho que não, a curiosidade é uma “coisa” irresistível :-).
Comentários