Newsgroup: it.comp.lang.visual-basic
Titolo: calcolare pigreco...

Ho iniziato da pochissimo VB6.
Per esercizio sto cercando di scrivere un SW che calcoli Pigreco,
utilizzando il calcolo di aree sempre piu' precise della superficie di un
quarto di cerchio.
Ho preso 2 variabili numeriche intere e sto cercando di fare in modo di
dividere il primo quadrante in una griglia. L'idea è quella di calcolare
l'area del rettangolo con vertice in x(i) e Y(i) se e solo se la distanza di
tale punto dall'origine è inferiore al raggio del cerchio.
Puo' andare come idea? algoritmi migliori?
Grazie.

"Andre" <andre...@NOSPAMvirgilio.it> ha scritto nel messaggio
news:hduXc.2965$G36....@tornado.fastwebnet.it...

io sapevo che pi_greco si calcolava analiticamente come il limite con L->0
del semiperimetro di un poligono regolare
di lato L e con numero N di lati tendente quindi a infinito...con un raggio
R (altezza pol) unitario...o qualcosa del genere...
poi c'è il metodo di Viète, che non ricordo, ma che puoi trovare in rete...
se devi trovare il 4° di cerchio...dividi per 4 l'area totale...

"Andre" <andre...@NOSPAMvirgilio.it> ha scritto nel messaggio
news:hduXc.2965$G36....@tornado.fastwebnet.it...

Public Function Pigreco()
    Pigreco = 4 * Atn(1)
End Function
in alternativa, guardati questo bel thread iniziato da termopiluccio:
http://groups.google.com/groups?q=pi+greco+group:it.comp.lang.visual-basic&hl=en&lr=&ie=UTF-8&group=it.comp.lang.visual-basic&safe=off&selm=c39vj4%2426ev82%241%40ID-188026.news.uni-berlin.de&rnum=4
ciao
ugo

 in alternativa, guardati questo bel thread iniziato da termopiluccio:
"termoPilucco" :)
Sě, in quel thread c'č il metodo piů lento (quello statistico) e quello
analiticamente piů veloce (quello di Ramanujan).
Fatto sta che esiste un metodo che si basa sulla notazione esadecimale che
č informaticamente piů rapido.
Credo che sia quello presentato ErPotenza qui (trovi anche diversi link
utili):
http://tinyurl.com/4vqcf
Comunque, a parte il primo che ho postato, i metodi sono molto particolari
e non si riesce facilmente a capire perchč funzionino :)
termoPilucco
termoPilucco
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 "termoPilucco" :)
i'm sorry...
ciao
ugo

 eh eh eh...  ;)
Ad ogni modo l'idea di usare Atn per calcolare Pi č stata sviluppata da
molti.
Di solito si usa l'approssimazione di Taylor, ma non si cerca 
ATN(1) (che converge lentamente lontano dallo zero), ma piuttosto 
PI/4 = atan(1) =4 * (4 * atan(1/5) - atan(1/239)) 
che sono due calcoli al posto di uno, ma 1/5 e 1/239 sono piů vicini allo
zero di uno :)
Per calcolare atan si puň usare questa funzione (che lo stesso risultato
di atn, ma senza conoscere PI):
La funzione non č mia, l'ho trovata su un sito e tradotta dal C
Function atan(x As Double) As Double
Dim result As Double
Dim XSquared As Double
Dim term As Double
Dim Divisor As Double
result = x
XSquared = x * x
term = x
Divisor = 1
While term <> 0
    Divisor = Divisor + 2
    term = term * XSquared
    result = result - term / Divisor
 
    Divisor = Divisor + 2
    term = term * XSquared
    result = result + term / Divisor
Wend
atan = result
End Function


 e non si riesce facilmente a capire perchè funzionino :)
benvenuti nel mondo reale :))
ciao, j.