On Tuesday 18 July 2006 11:17, Eduardo Jaime Quiros Batres wrote:
> testa isto
> resp=`echo "scale=3;$(($((RANDOM%2001))-1000)) / 1000" | bc`
> echo  $resp

Olá,

A idéia é boa, mas os números estão fora da escala (-.001 < x < .001):

#!/bin/sh

for((x=0; x<100; x++)); do
#       tmp=`echo -e "4\nk\n$RANDOM\n32767\n/\n0.002\n*\n0.001\n-\np" | dc`
#       tmp=`echo "scale=4; $RANDOM / 32767 * 0.002 - 0.001" | bc`
        tmp=`echo "scale=3;$(($((RANDOM%2001))-1000)) / 1000" | bc`

        echo $tmp

        test `echo $tmp \<= .001 | bc` = 0 && echo "ERR (fora da escala)"
        test `echo $tmp \>= -.001 | bc` = 0 && echo "ERR (fora da escala)"
done


$ ./teste
[cut]
-.0360
ERR (fora da escala)
.4270
ERR (fora da escala)
.1380
ERR (fora da escala)
-.1520
ERR (fora da escala)
[cut]


Sobre as verificações efetuadas (determinar se está dentro da escala):

$ man bc
[cut]
        Relational  expressions  are  a special kind of expression that always
       evaluate to 0 or 1, 0 if the relation is false and 1 if the relation is
       true.
[cut]
       expr1 == expr2
              The result is 1 if expr1 is equal to expr2.
[cut]


Até,

Herbert.

PS - faça o mesmo teste com a minha implementação dc/bc.


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a