07. november 2003 - 00:19
Der er
9 kommentarer og 1 løsning
program kan ikke se forskel på 1 og 0,1
Hej Exp´s
Jeg har lavet et lille program der kan arbejde med trigonometriske begræber som cos, sin og tan. Jeg har fundet ud af at programmet ikke kan se forskel på 1 og 0,1.
Hvorfor??
\\themaster
p.s.: her er sourcen:
www.themaster.dk/trigtool.rar
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
07. november 2003 - 00:29
#1
i programmering er der ik noget der hedder 0,1 .. det hedder 0.1 ..
07. november 2003 - 00:31
#2
jo.....du kan bare lave et replace statement: talsin = Str$(Replace(sinx.Text, ",", "."))
07. november 2003 - 04:07
#3
hmm.. men så har du også lavet dit tal om til tekst .. og er du sikker på at du regner i rigtige enheder... grader/radianer osv... ?
07. november 2003 - 07:55
#4
Prøv at vis noget af din kode
07. november 2003 - 09:04
#5
Private Sub cos_exe_Click() Dim talcos As Double Dim cos_res As Double If cosx.Text = "" Then MsgBox ("Husk at skrive en værdi.....") Else talcos = Str$(Replace(cosx.Text, ",", ".")) cosx_res.Caption = "Cos(x) = " & Cos(talcos) End If End Sub Private Sub Form_Load() vælg.AddItem "sin(x)", 0 vælg.AddItem "cos(x)", 1 vælg.AddItem "tan(x)", 2 vælg.AddItem "Tilbage til start", 3 Label1.Caption = "Velkommen til TrigTool. Dette lille program er udviklet til at regne med trigonomeriske grundligninger." & vbCrLf & "Programmet inhaolder alle trigonomeriske begræber: " & vbCrLf & vbCrLf & "Sin(x)" & vbCrLf & "Cos(x)" & vbCrLf & "Tan(x)" & vbCrLf & vbCrLf & "Hilsen THEMASTER.DK" sin_frame.Visible = False cos_frame.Visible = False tan_frame.Visible = False End Sub Private Sub sin_exe_Click() Dim talsin As Single If sinx.Text = "" Then MsgBox ("Husk at skrive en værdi.....") Else talsin = Str$(Replace(sinx.Text, ",", ".")) sinx_res.Caption = "Sin = " & Sin(talsin) End If End Sub Private Sub tan_exe_Click() Dim tan_12 As Single If tan_x.Text = "" Or tan_y.Text = "" Then MsgBox ("Husk at srive en værdi.......") ElseIf tan_x.Text = "0" Then MsgBox ("Du må sku da ikke dele med 0.....dumrian....") Else tan_1 = Str$(Replace(tan_x.Text, ",", ".")) tan_2 = Str$(Replace(tan_y.Text, ",", ".")) tan_12 = tan_2 / tan_1 tan_res.Caption = "Tan(x) = " & tan_12 End If End Sub Private Sub vælg_Click() If vælg.Text = "sin(x)" Then tan_frame.Visible = False cos_frame.Visible = False sin_frame.Visible = True start_frame.Visible = False ElseIf vælg.Text = "cos(x)" Then tan_frame.Visible = False cos_frame.Visible = True sin_frame.Visible = False start_frame.Visible = False ElseIf vælg.Text = "tan(x)" Then tan_frame.Visible = True cos_frame.Visible = False sin_frame.Visible = False start_frame.Visible = False Else tan_frame.Visible = False cos_frame.Visible = False sin_frame.Visible = False start_frame.Visible = True End If End Sub
07. november 2003 - 10:09
#6
Og prøv så at komme med et eksempel på hvad der går galt hvorhenne... PS: der er masser af andre trigonomeriske begræber end cos, sin og tan, fx. arctan, hyperbolsk sinus og så videre - derfor skal du nok ikke bruge ordet "alle" i din lille tekst :o)
07. november 2003 - 16:43
#7
Her går det galt: (det samme med cos-afsnittet) talsin = Str$(Replace(sinx.Text, ",", ".")) sinx_res.Caption = "Sin = " & Sin(talsin) Hvis jeg tager sin(1) giver den det samme som hvis jeg tager sin(0,1). Det passer jo langt fra...
07. november 2003 - 16:51
#8
Hvis du nu regnede efter, ville du se, at svaret ikke passer på nogen af udregningerne - de giver begge det samme forkerte resultat! Og det er jo fordi du tager sin af en string - de følgende eksempler giver det samme sin("1") = sin("0,1) = sin("Hej") = sin(0) Værdien af en string er altid 0! Så du skal bruge sinx_res.Caption = "Sin = " & Sin(Val(talsin)) Prøv at væn dig til at lave kontrolberegninger - det ville have hjulpet dig til at se, at du altid får taget sin og cos af værdien nul...
07. november 2003 - 16:54
#9
Bemærk i øvrigt også, at dawin_dk i sit svar 07/11-2003 04:07:37 gjorde opmærksom på problemet! Husk at ret teksten så du sikke antyder, at sin, con og tan er alle de trigonometriske funktioner der findes ;o)
09. november 2003 - 10:58
#10
'Programmet inhaolder alle trigonomeriske begræber' inhaolder... indeholder ?? - Mikker
Kurser inden for grundlæggende programmering