Scheikundig evenwicht programmeren

Status
Niet open voor verdere reacties.

Hugo1007

Gebruiker
Lid geworden
24 sep 2008
Berichten
62
Beste,

Ik moet voor het vak informatica een programma programmeren over een chemisch evenwicht.
Dit is de opdracht:

Je ontwerpt en bouwt in Visual Basic een model voor het chemisch evenwicht.
CO(g) + H2O(g) <> CH3OH(g)

De volgende gegevens moeten worden ingevoerd

o Begin hoeveelheid CO en H2O
o Volume van reactievat
o Reactiesnelheid van de vorming van methanol
o Reactiesnelheid van de ontleding van methanol

En vervolgens moet er na een knop BEREKENEN getoond worden hoeveel stof er van de drie genoemde stoffen is,
nadat het evenwicht is ingesteld.

Nou kan ik best knoppen maken en simpele dingen etc.
Maar welke berekening moet hier in godsnaam achter? Ik heb geen flauw idee!

Kan iemand mij helpen?


Groeten!
 
Wat heb je al? Hoe denk je dit aan te gaan pakken?

Denk daar eerst over na. Het heeft geen zin om te beginnen met programmeren als je nog geen idee hebt hoe je dit moet aanpakken.
Aangezien het hier over chemisch evenwicht gaat, neem ik aan dat je ook scheikunde hebt (gehad) en dat je dus wel weet wat dit is... Dan moet je vervolgens bedenken welke formules je moet gebruiken, en hoe je die moet gebruiken. Die kan je dan vervolgens gebruiken.

Succes! MartinJM



PS: Wat voor studie doe je nu/welk jaar?
 
De interface heb ik, ik heb een PSD gemaakt en ik heb inderdaad scheikunde.
Vroeg me alleen af of iemand de berekening achter het knopje BEREKEN kon bedenken, want zover was ik nog niet.

6VWO, informatica ;)
 
Ik neem dan toch wel aan dat dit iets is wat je zelf zou moeten kunnen bedenken... Helaas kan ik je er ook niet mee verder helpen... Wij hebben het nog niet gehad over scheikundig evenwicht (4 VWO)...

Dus ik denk dat je toch zelf eerst moet bedenken welke berekeningen je moet uitvoeren. Dan kan (/kunnen) ik (/wij) je eventueel helpen om die te realiseren in Visual Basic.


Dus sorry, maar helpen met de formules gaat mij in ieder geval niet lukken :confused:

Succes!
 
Als je scheikunde beheerst dan weet je toch welke formule je moet opstellen om eea te berekenen?
Daarna moet je deze formule vertalen naar VB code.
Dat zul je toch echt eerst zelf moeten proberen.

Tardis
 
Okee, voor de scheikundigen hier dan.
Ik heb het scherm in 3 delen opgedeeld. Zie screen:

Evenwicht.jpg

Nou lijkt het me duidelijk dat bij de textboxen bij I een hoeveelheid kan worden ingevuld,
vervolgens kan met de schuiver de inhoud van het volumevat veranderd worden en wordt
door de middelste labels de concentratie gegeven.

Moet ik vervolgens bij de snelheden heengaande/teruggaande reactie uitgaan van een snijpunt?
Grafisch voorgesteld waar de twee snelheden elkaar snijden? Of zie ik dat helemaal verkeerd?

Excuses voor het vele vragen, maar ik heb een leraar die niets uitlegt en dit ons allemaal
maar helemaal zelf laat uitvogelen..


Groeten!
 
Is er niet toevallig nog een andere leraar die het je kan uitleggen, of een andere leerling?

Het is namelijk vaak makkelijker de theorie van iemand te begrijpen als diegene het probleem ook net zelf heeft opgelost.


Dan is er nog een praktisch punt: Snijpunten van formules laten berekenen door visual basic is niet echt het makkelijkst... Je zal het dan eerst zo moeten vereenvoudigen dat je aan de linker kant van het '='-teken alleen nog maar een 'x' hebt staan en dat er aan de andere kant getallen (of variablen) staan. Het is namelijk (bij mijn weten) niet mogelijk om wiskundige variablen te gebruiken.
Dat, tenzij je natuurlijk een loop gebruikt die de wiskundige variable steeds iets aanpast totdat het antwoord eruit is gekomen... (Met wiskundige variable bedoel ik in bijv. deze formule de 'x': "f(x) = 2x". Daarbij noem ik dan dus 'x' de wiskundige variable. Dit om het niet te verwarren met Visual Basic variablen...)


Ik hoop dat het een beetje te begrijpen is....

MartinJM


*EDIT*
Als je niet wilt dat een textbox aangepast kan worden, dan zou ik de 'ReadOnly'-property op 'true' zetten (-> Klik op textbox -> Kijk bij properties -> ReadOnly -> True). Dat voorkomt dat de waarde aangepast word. Kopiëren van de waarde gaat dan nog wel.
 
Laatst bewerkt:
Maak ik het mezelf misschien wat makkelijker als ik VB6 gebruik ipv 2010?
Op school hebben we VB6 en dat zag er toch wat makkelijker uit dan VB2010..
 
Ik weet niet hoeveel mensen hier nog met VB6 werken, maar VB.NET is toch meer gebruikelijk.

Dus... Je weet hoe je dit op papier zou moeten berekenen? Of niet?
 
Oh, voorbeeld over hoe mijn docent is:
Ik kwam erachter dat de evenwichtsvoorwaarde fout is en hij antwoord doodleuk: Klopt.
Evenwicht moet zijn

CO(g) + 2 H2(g) <> CH3OH(g)
 
Is het hetzelfde als zorgen dat er aan beide kanten evenveel atomen zijn, of begrijp ik het nu verkeerd?

MartinJM

*EDIT*
Ik heb nooit problemen gehad met vb 2008/2010... Maar het is natuurlijk maar net wat je gewend bent...
 
Laatst bewerkt:
Is het hetzelfde als zorgen dat er aan beide kanten evenveel atomen zijn, of begrijp ik het nu verkeerd?

Jup!

Nog een simpel vraagje:
Hoe kan ik een label realtime laten veranderen als een waarde op de trackbar veranderd?
Ik wil een label laten fungeren als een display voor wat je met de trackbar kan aangeven.
 
[CPP] Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
Label1.Text = sender.Value
End Sub[/CPP]

:)
 
Doordat de hoeveelheid ingegeven wordt, weet je dus ook hoeveel C-tjes, O-tjes en H-tjes er toegevoegd worden.

Dan kan je vervolgens bekijken hoeveel er reageren en dan nog eens kijken hoeveel er nog overblijft. Hierbij moet je zelf toch ook nog wel bedenken hoe dat precies moet. Dat is voor mij (/ons) toch waarschijnlijk wel moeilijker aangezien jij het toch wel gehad moet hebben. Ik heb het (nog) niet zo gehad, dus voor mij zal dit in ieder geval toch behoorlijk moeilijk zijn.... Ook kan ik me voorstellen dat er meerdere mensen hier zijn die niet weten hoe ze dit zouden moeten aanpakken. Of omdat ze het niet gehad hebben, of omdat ze het nog moeten krijgen.

Daarom zou ik zeggen: Kijk nog eens goed naar wat je moet doen. Schrijf eventueel alle gegevens op een rij en kijk dan nog eens goed naar wat er precies uitgevoerd moet worden. Probeer het misschien ook eens met getallen in plaats van variablen. Dat kan het ook makkelijker maken.


Het is ook niet zo dat ik (/wij) je niet wil(len) helpen, maar het is alleen een beetje moeilijk om te helpen als we het zelf ook niet helemaal snappen....


Succes!



*EDIT*
Het komt er uiteindelijk wel op neer dat er 2x zoveel H2's in moeten zitten als CO's. Dan kan je dus kijken wat kleiner is (2x H2 of 1x CO). Daaraan kan je dan zien hoeveel er van CH3OH gemaakt kan worden...
 
Laatst bewerkt:
MartinJM, je hebt gelijk.
Mijn vraag is inderdaad niet echt over het programmeren, maar over de scheikundige kant.

Ik zou het gehad moeten hebben, maar ben geen ster in scheikunde...
In ieder geval al bedankt voor het meedenken!

Ik heb maandag weer les, dus dan zal ik het scheikundige deel vragen, komt goed ;)
 
Ja, opgelost. Bleken nog meer fouten in de opdracht te zitten en inmiddels heb ik mijn programma ingeleverd.
Bedankt voor het meedenken allen!
 
Kan je ook even posten hoe het dan wel moet? Als er dan meer mensen met hetzelfde probleem zijn, dan hebben zij ook nog wat aan deze post...

Fijn dat het is gelukt! :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan