Gå til innhold

Matematikk i VB.NET


Gjest Slettet-aNZFa3

Anbefalte innlegg

Gjest Slettet-aNZFa3

Her er koden min:

 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim A As Int64 = Int(Rnd() * 1000) + 1000

        Dim B As Int64 = Int(Rnd() * 2000) + 2000

    End Sub

 

    Private Sub btCalculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btCalculate.Click

        txtAnswer.Text = A + B

    End Sub

 

Blir da svaret et random tall mellom 3000 og 6000 uten desimaler? Eller er jeg helt på jordet nå?

 

Mod: hvis denne paser bedre et sted hvor det omhandler matte, så flytt den :)

Lenke til kommentar
Videoannonse
Annonse

Ettersom Rnd() ikke er en ekte funksjon i den matematiske betydning (det er mer en tilstandsmaskin da den gir ulike verdier på samme inndata til ulike TIDER), kan vi kalle det første kallet for X og det andre kallet for Y, der de begge har et intervall [0, 1]. Således blir A + B = Floor(1000X) + Floor(2000Y) + 2000 + 1000.

 

Av det kan vi resonnere at minimumsverdien inntreffer når både X og Y er null, som gir 3000, mens maksimumsverdien finner sted når X og Y er 1, som gir 1000 + 2000 + 3000 = 6000. Uttrykket gir et tall uten desimaler fordi funksjonen Floor (eller INT(), som er en smule annerledes for negative verdier), ettersom dens verdimengde er heltall.

 

Hva tilfeldighetsgeneratorer i VB .NET angår, bør du helst bruke Random.Next(min, max) for å returnere et heltall mellom to verdier. Det er langt enklere å arbeide med, etter min mening, samtidig som en da unngår å basere seg på kompatibilitetsfunksjoner som kun forefinnes for å lette overgangen fra VB6.

Endret av aadnk
Lenke til kommentar
Gjest Slettet-aNZFa3
Dim A As Int64 = Random.Next(1000,2000)

 

Det er vel helt feil det her også?

 

jeg er ikke så veldig god, derfor har jeg spurt om VB.NET bok.

Lenke til kommentar
Tråden er ryddet for off topic snakk. Ønsker dere å snakke om fordeler/ulemper ved et språk kan dere ta det i en egen tråd.

9335386[/snapback]

Igjen så diskuterte vi ikke fordeler og ulemper med et språk, men i en namespace, altså en samling av funksjoner. Vi må da kunne få lov til å diskutere hvilke funksjoner som er mest hensiktsmessig å bruke eller ikke?

Lenke til kommentar

Da har undertegnede tatt en titt på denne saken, og kommet fram til følgende:

 

Selvsagt er det lov å diskutere hvilke funksjoner som er hensiktsmessige å bruke. Ingen problemer med det. Har dere et forslag til en bedre løsning enn den trådstarter strir med så si for all del fra. Men det var ikke det som skjedde her, så vidt jeg kan se. Det opprinnelige innlegget som ble slettet lød som følger:

 

Jeg ser fortsatt frem til den dagen når alle slutter å bruke møkkafunksjonene fra VisualBasic-namespacet.

Her er ingen diskusjon eller anbefalinger, bare et subjektivt (den kan godt være riktig, men subjektivt uansett) uttrykk for posterens mening. Hvordan hjelper dette trådstarter med hans problem? "Du har brukt en møkkafunksjon og mer gidder jeg ikke si om saken..."

 

Det hjelper ham selvsagt ikke, det svarer ikke på spørsmålet han stiller, og er derfor off topic. En diskusjon om ulike funksjoner og namespaces må dere mer enn gjerne ta her i VB-forumet, om den føres saklig, men i denne tråden var og er det off topic. Det er sikkert bedre å bruke nye dotnet-funksjoner enn wrapperfunksjoner, men så si det da, og forklar hvorfor og hvordan. Da hjelper dere trådstarter.

 

Videre henvises til retningslinjenes punkt 1 og 2, som sier blant annet:

Brukere av forumet bes om å holde en høflig tone. Poster kan bli delvis eller fullstendig sensurert av moderatorer hvis de inneholder upassende språk som blant annet banning, flaming og/eller innlegg ment for å skape dårlig stemning.
Vær saklig og høflig når du argumenterer for noe. Dette gjør at andre oppfatter deg mer seriøst.

Å buse ut i en tråd uten tegn til å hjelpe for å fortelle at andre folk som prøver å skrive et program bruker møkkafunksjoner er ikke hverken saklig eller høflig. Alt man oppnår er skape dårlig stemmning.

 

Tråden fortsetter så med referanser til en "maktsyk moderator". Reaksjoner på moderering skal tas på PM med angjeldende moderator, det fremgår klart og tydelig av retningslinjene. I dette tilfelle skjedde moderators kontakt via PM, og da var det ingen grunn til å besvare det i tråden. Det er off topic og i strid med reglene.

 

De slettede posten fortsatte så med poster som diskuterte moderering og poster av typen "Gode grunner til å IKKE bruke Microsoft.VisualBasic.*" Igjen, off topic i denne tråden.

 

Dette fører helt korrekt til at de postene som er beskrevet blir slettet. Dere må gjerne være uenig, men det er i tråd med reglene for forumet.

 

Det dere derimot ikke skal gjøre er å nok en gang begynne å diskutere modereringen i tråden. Føler dere at en moderator trenger et lynkurs i forskjellene på et språk og et namespace så ta det på PM. Det hjelper ikke trådstarter at dere diskuterer våre avgjørelser i hans tråd.

 

Igjen, ingen nekter dere å diskutere hvilke funksjoner som er hensiktsmessige, i en dertil egnet tråd. Men i andre brukeres tråder forutsetter det at det faktisk svarer på trådstarters problemstilling.

 

Denne posten skal ikke kommenteres her i tråden. Send meg gjerne en PM om dere har lyst til å diskutere dette med meg.

 

Og så ser jeg fram til at dere lager en ny tråd om fordeler og ulemper med ulike namespaces, hvor dere tar dere bryet med å begrunne deres påstander. I mellomtiden setter sikkert trådstarter pris på svar som forteller ham det han trenger og vite. Gjerne i form av en alternativ funksjon om dere mener det er en bedre løsning.

 

Geir :)

Endret av tom waits for alice
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...