Sei sulla pagina 1di 6

(c) 2010 Nelson Canzian da Silva - Depto de Fsica - UFSC Verso Preliminar - Maro de 2010

Fsica com JavaScript

19 Ampola de raios X

Raios X podem ser produzidos fazendo com que um feixe de eltrons de alta energia incida sobre um alvo metlico. A foto ao lado mostra uma ampola utilizada para diagstico mdico, onde os eltrons produzidos no catodo (1) so acelerados at o anodo-alvo (2). Um invlucro de vidro (3) mantm o vcuo no interior da ampola. O rotor (4) gira o anodo-alvo para evitar o superaquecimento. O espectro de raios X produzido desta maneira tem duas componentes, uma contnua e outra discreta. A componente contnua, tambm conhecida por bremmstrahlung ou radiao de freamento proveniente da desacelerao dos eltrons ao interagirem com o material do alvo (toda partcula carregada emite radiao eletromagntica ao ser acelerada). A componente discreta, conhecida como radiao caracterstica, proveniente do decaimento dos tomos que tiveram eltrons excitados ou ejetados ao interagirem com os eltrons do feixe de alta energia. Ampolas de raios X utilizadas na pesquisa em cristalografia, por exemplo, ou a utilizada por Compton para investigar o fenmeno que hoje leva o seu nome, tm geometria e parmetros de funcionamento variados, mas o princpio de funcionamento essencialmente o mesmo e todas produzem um espectro amplo de raios X. O script a seguir prope um conjunto de afirmaes para que o usurio decida quais so verdadeiras e quais so falsas, com base nas informaes do texto acima. Ao clicar o boto indicado, o script verifica se as respostas esto corretas e informa o usurio se ele acertou tudo ou se alguma coisa est errada.
exemplo-19-1.html

<scritp> function calcNotaCheckRX(form) { var result = 1; for (i=0;i<form.item.length;i++) with (form.item[i]) if (((value=="F")&&(checked)) || ((value=="V")&&(!checked))) result*=0; if (!result) alert("Ooops... Tem alguma coisa errada!"); else alert("Parabns! Voc fez todas as escolhas corretas!");

185

} </script> <form name="frm"> <p> Baseado no texto, assinale as alternativas <b>verdadeiras</b>. </p> <ol type="a"> <p><li> <input type="checkbox" name="item" value="F"> Raios X o nome que se d a eltrons de alta energia. </li></p> <p><li> <input type="checkbox" name="item" value="V"> Em um tubo de raios X os eltrons saem do catodo e vo para o anodo. </li></p> <p><li> <input type="checkbox" name="item" value="F"> O vcuo no interior da ampola evita o superaquecimento do alvo. </li></p> <p><li> <input type="checkbox" name="item" value="V"> A desacelerao dos eltrons produz um espectro contnuo de raios X. </li></p> <p><li> <input type="checkbox" name="item" value="F"> A radiao caracterstica tambm conhecida como <i>bremmstrahlung</i>. </li></p> <p><li> <input type="checkbox" name="item" value="V"> tomos excitados podem emitir raios X ao decarem. </li></p> </ol> <p>Clique <input type="button" value="aqui" onClick="calcNota(frm)"> para conferir seu desempenho.</p> </form>

Resultado:

Baseado no texto, assinale as alternativas verdadeiras. a. b. Raios X o nome que se d a eltrons de alta energia. Em um tubo de raios X os eltrons saem do catodo e vo para o anodo.

186

c. d. e. f. Clique

O vcuo no interior da ampola evita o superaquecimento do alvo. A desacelerao dos eltrons produz um espectro contnuo de raios X. A radiao caracterstica tambm conhecida como bremmstrahlung. tomos excitados podem emitir raios X ao decarem. para conferir seu desempenho.

Este exemplo utiliza o elemento form para estruturar o conjunto de afirmaes. Dentro do formulrio, um grupo de elementos do tipo checkbox construdo atribuindo o mesmo nome (name) a todos os itens do conjunto. O atributo value dos elementos checkbox tem valor V quando a afirmao verdadeira e F quando a afirmao falsa. O script contm uma nica funo que somente sinaliza ao usurio se ele cometeu ou no algum erro. Isto feito verificando se a varivel result verdadeira ou falsa. A primeira instruo do script atribui-lhe o valor 1, indicando que em princpio verdadeira. Dentro do lao for h um if que pode alterar o seu valor para 0, tornando-a falsa. Relembrando o que verdadeiro ou falso em JavaScript: a. Todos os objetos so considerados verdadeiros. Isto , se um objeto obj foi declarado, a pergunta if (obj) retorna verdadeiro. b. Strings so consideradas falsas se e somente se estiverem vazias. Isto , se str = "", if (str) retorna falso; se qualquer outra coisa estiver entre aspas, inclusive um espao em branco, retorna verdadeiro. c. Os valores null e undefined so considerados falsos. d. Nmeros so considerados falsos se e somente se forem iguais a zero. O lao for realizado tantas vezes quantos elementos existirem no objeto form.item. O nmero de elementos do objeto obtido consultando a sua propriedade length. Dentro do lao, utilizada a instruo with, passando-lhe o nome do objeto form.item[i], o que faz que qualquer referncia a suas propriedades dispense a repetiao desta parte. o que acontece na condio do if: se o with no fosse utilizado, valueform.item[i].value e checked precisaria ser substitudo por form.item[i].checked. O if dentro do for anula a varivel result se a propriedade value do item for falsa e e estiver marcada ou se for verdadeira e no estiver marcada. Se a instruo result *= 0 (que equivalente a result = result * 0) for executada uma nica vez o valor de result, originalmente ajustado para 1 (verdadeiro), passa a a ser 0 (falso). O script a seguir retoma as afirmaes da questo anterior e utiliza elementos do tipo <select>...<option> para oferecer um outro modo de interatividade com o usurio. Da mesma maneira, ao clicar o boto o script informa se o usurio acertou tudo ou se h algo errado. Neste exemplo, no utilizado um formulrio e os elementos so acessados atravs do seu id.
exemplo-19-2.html

187

<script> function calcNotaSelectRX() { var resp = new Array("fotons","catodo","anodo", "continuo","de freamento","raios X"); var ok = 1; var i = 0; do { var idStr = "selRX" + (i+1); var ref = document.getElementById(idStr); if (!ref) break; else if (ref.value!=resp[i]) ok = 0; i++; } while(true); if (ok) alert("Parabns! Voc acertou tudo!"); else alert("Ooops! Tem alguma coisa errada!"); } </script> <p>Baseado no texto, escolha os termos que melhor preenchem as lacunas.</p> <ol type="a"> <p><li>Raios X o nome que se d a <select id="selRX1"> <option value="escolha">-- escolha --</option> <option value="eletrons">eltrons</option> <option value="fotons">ftons</option> <option value="protons">prtons</option> </select> de alta energia.</li></p> <p><li>Em um tubo de raios X os eltrons saem do <select id="selRX2"> <option value="escolha">-- escolha --</option> <option value="catodo">catodo</option> <option value="anodo">anodo</option> </select> e vo para o <select id="selRX3"> <option value="escolha">-- escolha --</option> <option value="catodo">catodo</option> <option value="anodo">anodo</option> </select> .</li></p> <p><li>A desacelerao dos eltrons produz um espectro <select id="selRX4"> <option value="escolha">-- escolha --</option> <option value="continuo">contnuo</option> <option value="discreto">discreto</option> </select> de raios X.</li></p> <p><li>A radiao <select id="selRX5"> <option value="escolha">-- escolha --</option> <option value="caracteristica">caracterstica</option> <option value="de freamento">de freamento</option> <option value="discreta">discreta</option> </select>

188

tambm conhecida como <i>bremmstrahlung</i>.</li></p> <p><li>tomos excitados podem emitir <select id="selRX6"> <option value="escolha">-- escolha --</option> <option value="protons">prtons</option> <option value="neutrons">nutrons</option> <option value="raios X">raios X</option> </select> ao decarem.</li></p> </ol> <p>Clique <input type="button" value="aqui" onClick="calcNotaSelectRX()"> para conferir seu desempenho.</p>

Resultado:

Baseado no texto, escolha os termos que melhor preenchem as lacunas. a. Raios X o nome que se d a de alta energia. e vo para o

b. Em um tubo de raios X os eltrons saem do . c. A desacelerao dos eltrons produz um espectro d. A radiao

de raios X.

tambm conhecida como bremmstrahlung. ao decarem.

e. tomos excitados podem emitir Clique para conferir seu desempenho.

Neste exemplo foi criada uma matriz com as respostas corretas escritas tal como na propriedade value da option correta de cada select. Como no foi utilizado um form, os elementos tm que ser acessados pelo seu id, que tem que ser nico para cada elemento do documento. O literal correspondente a cada id foi construdo dentro do lao while, onde utilizado com o mtodo getElementById() para obteno da referncia ao objeto. Para que no seja necessrio explictar o nmero de afirmaes e fazer com que a funo funcionem para qualquer nmero de afirmaes foi utilizada a estratgia de se perguntar se um objeto existe ou no e sair do lao utilizando o comando break caso ele no exista. Assim, o lao while busca a referncia aos objetos identificados por idStr at que esta busca retorne um nulo, no caso quando o idStr for igual a "selRX8", que no existe. Aqui, novamente, o script inicia assumindo que o usurio acertar todas as respostas fazendo ok = 1 (verdadeiro) e, caso erre alguma, a varivel ajustada para 0 (falso). Exerccios

189

1. Releia atentamente o texto sobre os tubos de raios X e invente e inclua mais duas afirmaes em cada questo. Nos dois casos, que alteraes so necessrias no script da funo para que ela funcione corretamente? 2. Modifique os scripts acima para que retornem ao usurio o nmero de acertos. O script deve funcionar independentemente do nmero de afirmaes no formulrio. 3. Modifique o script acima para que retorne ao usurio uma nota de 0 a 10 proporcional ao nmero de acertos. O script deve funcionar independentemente do nmero de afirmaes no formulrio. 4. Reorganize as afirmaes de modo a construir um teste com no mnimo 6 questes de mltipla escolha, cada uma com apenas uma alternativa correta, utilizando o elemento radio.

190

Potrebbero piacerti anche