[zxspectrum] Re: Calcolo pigreco

  • From: Andrea Carpi <inkubino@xxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Tue, 5 Jan 2016 19:56:40 +0100

Il 04/01/2016 21.42, Enrico Maria Giordano ha scritto:


Cosa significa += ?

Esattamente come in C. Esempio:


Sì, ma io il C non lo conosco :-)

Grazie quindi per le spiegazioni.

Ho elaborato, così solo per mi semplice esercizio la funzione in SuperBasic QL.
Testato su QPC2 in SBasic, spero che non ci siano errori che inibiscano il funzionamento sul QL originale.


10 DEFine FuNction PIGRECO
20  LOCal nPi,nSgn,i
30  nPi=3: nSgn=1
40  FOR i = 2 TO 2000 STEP 2
50   nPi=nPi+nSgn * 4 / ( i * ( i + 1 ) * ( i + 2 ) )
60   nSgn=-nSgn
70  END FOR i
80  RETurn nPi
90 END DEFine PIGRECO

Il problema è che i calcoli vengono fatti comunque con le variabili in virgola mobile del QL e quindi il risultato visualizzato dalla funzione una volta "printato" è sempre e solo:

3.141593

Quindi tanto vale usare la funzione interna.
A meno che il risultati in virgola mobile contenuto nella variabile sia più preciso, ma non ho informazioni sulla precisione dei calcoli in virgola mobile del SuperBasic.

Sarebbe meglio un software che estrae i singoli decimali e li memorizza i una stringa, ma non saprei da che parte incominciare.

Vabbè io mi sono divertito a fare la conversione.

Ciao.
Andrea.

Other related posts: