Avatar billede nidyahou Praktikant
25. oktober 2005 - 19:01 Der er 19 kommentarer og
1 løsning

find pi med matematik

hvorfor virker følgende kode ikke

if cint(Deci) > 0 then

Dim N
For N = 0 To Deci
N = N + 2
Next

Dim F
For i = 0 To Deci
if F = "+" then
F = "-"
else
F = "+"
end if
Next

Dim t
For t = 0 To Deci
PI = "PI + 1" & F(t) & N(t)
Next

pi = "4*(1" & PI & ")"

Response.Write pi


får fejl id en linie hvor PI Defineres
Avatar billede kalp Novice
25. oktober 2005 - 19:09 #1
PI = (PI + 1) & F(t) & N(t)
Avatar billede nielle Nybegynder
25. oktober 2005 - 19:18 #2
Jeg formoder at det er denne algoritme du forsøger at kode:

Pi = 4*(1 - 1/3 + 1/5 - 1/7 + 1/9 - ...)

I så fald er der temmelig langt fra din kode til at have dette.

Primært skal din ene loop (N-loopen) omfatte alt den anden kode i stedet for at køre færdig inden at du går videre til resten.
Avatar billede nidyahou Praktikant
25. oktober 2005 - 20:35 #3
nielle > der forstår jeg ikke, jeg kan jo ikke have  det første 1-tal inde i N-loopet fordi så vil 1 tallet gå igen, og det skal jo ikke
Avatar billede nidyahou Praktikant
25. oktober 2005 - 20:39 #4
Dim F
For i = 0 To Deci
if F = "+" then
F = "-"
else
F = "+"
end if
Next

Dim N
For i = 0 To Deci
pi2 = " 1 " & ": " & cint(N) & " " & F(i)
N = N + 2
i = i + 1
Next

pi = "4*(" & pi2 & ")"
Response.Write pi
end if
%>

hvad er problemet nu?? stadig i den hvor F indgår
Avatar billede nidyahou Praktikant
25. oktober 2005 - 20:40 #5
nej nu er det der hvor pi2 defineres **
Avatar billede arne_v Ekspert
25. oktober 2005 - 20:50 #6
sum = 1
    For i = 1 To 1000
        If i Mod 2 = 0 Then
            sum = sum + 1 / (2 * i + 1)
        Else
            sum = sum - 1 / (2 * i + 1)
        End If
    Next
    pi = 4 * sum
Avatar billede arne_v Ekspert
25. oktober 2005 - 20:50 #7
og det er iøvrigt en af de dårligste pi algoritmer overhovedet
Avatar billede arne_v Ekspert
25. oktober 2005 - 20:50 #8
dårlig = langsom
Avatar billede nielle Nybegynder
25. oktober 2005 - 20:53 #9
<%
KvartPi = 0
Sign = -1

For N=1 To 50 Step 2
    Sign = -Sign
    KvartPi = KvartPi + Sign/N

    Response.Write 4*KvartPi & "<br>"
Next
%>
Avatar billede nidyahou Praktikant
25. oktober 2005 - 21:01 #10
jeg valgte at løse således,

N = 1
For i = 0 To Deci
pi2 = pi2 & F & "1" & ":" & cint(N)
N = N + 2
i = i + 1
if F = "+" then
F = "-"
else
F = "+"
end if
Next

men nu mangler jeg bare at kunne fortælle den, at den også skal regne det ud... hvordan konverterer jeg fra string til udregning?? :)
Avatar billede nidyahou Praktikant
25. oktober 2005 - 21:03 #11
den skal være langsom :D det er det der er det sjove, jeg gav mig selv den opgave da vi beskæftigede os med det i skolen
Avatar billede nielle Nybegynder
25. oktober 2005 - 21:07 #12
<%
Deci = 10

N = 1
For i = 0 To Deci
    pi2 = pi2 & F & "1" & "/" & cint(N)
    N = N + 2
    i = i + 1
    if F = "+" then
        F = "-"
    else
        F = "+"
    end if

    Response.write eval(pi2) & "<br>"
Next
%>
Avatar billede nielle Nybegynder
25. oktober 2005 - 21:08 #13
Det er godt nok endnu langsommere at udregne det på den måde ;^)
Avatar billede nidyahou Praktikant
25. oktober 2005 - 21:11 #14
kan jeg ikke konvertere min tekststreng til en matematisk kode i asp??
Avatar billede nielle Nybegynder
25. oktober 2005 - 21:13 #15
Ikke forstået?

Funktionen eval tager din tekststreng og regner resultatet ud. Var det ikke det du ville have?
Avatar billede nidyahou Praktikant
25. oktober 2005 - 21:17 #16
okay tak... Iøvrigt, hvis du forstår den sætning, så forklar mig det lige, for jeg er ikke helt med


4*1 giver jo 1 hvordan skal man kunne bruge det til noget fornuftigt i forhold til pi... ligemeget om jeg vil have udregningen vildt meget gange op, giver det et for stort tal :P
Avatar billede nidyahou Praktikant
25. oktober 2005 - 21:20 #17
det var bare mig der var dum... drop svar...

Du er vel ikke sådan en mastermind der også kan give mig lidt hjælp hvis jeg vil kode det ind i delphi :D ?
Avatar billede nielle Nybegynder
25. oktober 2005 - 21:24 #18
Jeg kan godt forstå formlen - men jeg kan desværre ikke forklare (bevise) den uden at komme ind på noget temmeligt langhåret matematik... :^|

Nej, det skulle ikke være noget problem med at lave den i Delphi. Dog er jeg ikke lige klar over om der er nogen Eval() der, så jeg ville hellere fortrække at lave den efter 25/10-2005 20:50:17 eller 25/10-2005 21:07:55.
Avatar billede nidyahou Praktikant
25. oktober 2005 - 23:25 #19
drop gerne svar :D
Avatar billede nielle Nybegynder
26. oktober 2005 - 06:56 #20
Svar :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester