Fehler im Code
Übersicht

COSBetreff: Fehler im Code |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
dieses Programm soll in 1000 Intervallen mit dem Heron Verfahren eine Wurzel berechnen, doch es gibt eine Fehlermedlung, was ist falsch? R = Input ("Radikant") W = Input ("Näherungswert") For I=0 To 1000 R/W = S ;Berechnen des 2. Werts (S+W)/2 = M ; Berechnen des Mittelwerts W = M Next Print M |
||
![]() |
etlam |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
du musst schreiben: Code: [AUSKLAPPEN] R = Input ("Radikant")
W = Input ("Näherungswert") For I=0 To 1000 S = R/W ;Berechnen des 2. Werts M = (S+W)/2 ; Berechnen des Mittelwerts W = M Next Print M die Variable, der das ergebnis zugewiesen werden soll, muss vorne stehen, also statt Code: [AUSKLAPPEN] R/W = S musst du schreiben: Code: [AUSKLAPPEN] S=R/W etlam |
||
COS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke Danke
wenn er mit Kommazahlen arbeiten soll, muss ich dann # vor den Variablen schreiben? |
||
![]() |
etlam |
![]() Antworten mit Zitat ![]() |
---|---|---|
bei Kommazahlen schreibst du einfach # nach den Variablen
Beispiel: Code: [AUSKLAPPEN] x#= 2.872 y# = 2.718 q# = x# + y# Print q# etlam |
||
COS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und wieso macht er es nicht tausendmal sondern nur einen Intervall? | ||
![]() |
etlam |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm, so kannst du dir das ausgeben lassen:
Code: [AUSKLAPPEN] R# =Input ("Radikant") W# = Input ("Näherungswert") For I% = 0 To 999 S#= R#/W# ;Berechnen des 2. Werts M# = (S#+W#)/2 ; Berechnen des Mittelwerts W# = M# i% = i% + 1 ; i zählt immer eins hoch. Next Print (i% + " intervalle") ;i ausgeben Print M# so macht es sicher 1000 intervalle. etlam |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
oder eben so:
Code: [AUSKLAPPEN] R# = Input ("Radikant")
W# = Input ("Näherungswert") For I=1 To 1000 S# = R#/W# ;Berechnen des 2. Werts M# = (S#+W#)/2. ; Berechnen des Mittelwerts W# = M# Next Print M# WaitKey Aber da stellt sich das Problem, dass BB gerade mal 5 Nachkommastellen angibt. |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
COS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Auch wenn es eine exe ist? | ||
![]() |
etlam |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, auch wenn es eine exe ist.
etlam |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja auch dann.
Ich hab noch einen kürzeren Code um eine Wurzel zu ziehen: Code: [AUSKLAPPEN] R#=Input("Radikant ")
M#=R#^.5 Print M# waitkey |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Shark |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dein Code ist vielleicht kürzer StepTiger aber auch langsamer ![]() Ich habs mal getestet! Code: [AUSKLAPPEN] R#=Input("Radikant ") Start% = MilliSecs() For i = 1 To 100000 M#=R#^.5 Next Stopi% = MilliSecs() Print M# Print "Mit ^5" Ende% = Stopi% - Start% Print Ende + " ms." Start% = MilliSecs() For i = 1 To 100000 M# = Sqr#(R#) Next Print "Mit Sqr" Stopi% = MilliSecs() Ende = Stopi% - Start% Print Ende + " ms." WaitKey mfg Shark |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber schneller als der von COS
war nur ein Beispiel Mal ein kompletter Vergleich: Code: [AUSKLAPPEN] R# = Input ("Radikant")
W# = Input ("Näherungswert") t1=MilliSecs() For c=1 To 100000 For I=1 To 1000 S# = R#/W# ;Berechnen des 2. Werts M# = (S#+W#)/2. ; Berechnen des Mittelwerts W# = M# Next Next Print M# t1=MilliSecs()-t1 t2=MilliSecs() For c=1 To 100000 M#=R#^.5 Next Print M# t2=MilliSecs()-t2 t3=MilliSecs() For c=1 To 100000 M#=Sqr#(R#) Next Print M# t3=MilliSecs()-t3 Print "COS' Code: "+t1 Print "R^.5: "+t2 Print "SQR: "+t3 WaitKey |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group