Laskee piin likiarvon jokseenkin tarkasti ympyrän sädettä käyttäen
'PIIN LIKIARVON LASKEMINEN 'Koodi laskee ympyrän säteestä neljänneksen piirtämällä 'pieniä janoja ja laskemalla ne yhteen 'tulos kerrotaan neljällä ja sijoitetaan ympyrän säteen kaavaan 'tämä on ymmärrettävä tapa laskea piin likiarvo Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim x As Double 'x koordinaatti Dim y As Double 'y koordinaatti Dim xb As Double 'aikaisempi x koordinaatti Dim yb As Double 'aikaisempi y koordinaatti Dim pii As Double 'ratkaisu Dim n As Double 'kuinka monta viivaa lasketaan ja ympyrän säde Dim viivanpituudet As Double 'ympyrän säteen neljännes n = 1000000 xb = 0 'x alkaa nollasta yb = n 'y ympyrän huipulta eli sama kuin säde For x = 0 To n ' y = (n ^ 2 - x ^ 2) ^ (1 / 2) 'y laskettuna pythagoraalla viivanpituudet = viivanpituudet + (((x - xb) ^ 2 + (yb - y) ^ 2) ^ (1 / 2)) 'viivan pituus kasvaa joka kerta yhdellä viivalla 'viiva tulee pythagoraan lauseesta a^2+b^2=viiva^2 'a ja b ovat x - xb yb - y eli uusi - vanha ja vanha - uusi xb = x 'vanhat arvot pitää olla aina jälkeen y ja tulos muuttujien yb = y Next x pii = viivanpituudet / n * 2 '2 * pii * r = 4* viivanpituus 'komennolla math.PI saa vertailu pi:n TextBox4.Text = pii TextBox1.Text = Math.PI End Sub
Minulla ei ole Visual Basiccia, mutta haluaisin tietää, kuinka monta desimaalia tuo laskee oikein.
9 desimaalia Jos laittaa n arvoksi suuremman luvun saa vielä pari lisää. Kestää vain vähän kauemmin laskea.
ohjelman antama tulos: 3,14159265329581
oikea: 3,14159265358979
miten homma tehdään c:llä?
Joo, kyllä toimi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.