stechiometria

soluzioni di problemi di stechiometria con reazione bilanciate , a tre-quattro componenti
inserire pesi molecolari e numero di molecole dei vari componenti
inserire massa di un reagente :viene calcolata massa del secondo reagente e dei prodotti ottenuti
inserire massa di un prodotto da ottenere :viene calcolata la massa dei reagenti necessari
e dell'altro prodotto, se esiste, ottenuto nella reazione

 

Private Sub calcola(r1, r2, p1, p2, mr1, mr2, mp1, mp2, x)
Rem calcoli stechiometrici con quattro composti
Rem due reattivi e un prodotto

pr1 = r1 * mr1 'peso stechiometrico
pr2 = r2 * mr2
pp1 = p1 * mp1
pp2 = p2 * mp2
xr1 = x
xr2 = xr1 * pr2 / pr1 'massa r2 necessaria
xp1 = xr1 * pp1 / pr1 'massa p1 prodotta
xp2 = xr1 * pp2 / pr1 'massa p2 prodotta
reazione = (mr1 & "r1 + " & mr2 & " r2 = " & mp1 & " p1 + " & mp2 & " p2")
pratica = (xr1 & " : reattivo2 = " & " prodotto1 :prodotto2")
ListBox1.AddItem ("calcolare massa del reagente r2 e dei prodotti p1,p2 ")
ListBox1.AddItem (reazione)
ListBox1.AddItem ("rapporti stechiometrici della reazione bilanciata")
ListBox1.AddItem (pr1 & " : " & pr2 & " = " & pp1 & " : " & pp2)
ListBox1.AddItem ("grammi di sostanze interessate nella reazione bilanciata")
ListBox1.AddItem ("reattivo1 = " & pr1)
ListBox1.AddItem ("reattivo2 = " & pr2)
ListBox1.AddItem ("prodotto1 = " & pp1)
ListBox1.AddItem ("prodotto1 = " & pp2)
ListBox1.AddItem ("rapporti delle sostanze nella reazione con grammi di reagente r1 nota")
ListBox1.AddItem (pratica)
ListBox1.AddItem ("proporzioni da impostare per trovare r2,p1,p2")
ListBox1.AddItem ("xr2 = xr1*pr2/pr1")
ListBox1.AddItem ("xp1 = xr1*pp1/pr1")
ListBox1.AddItem ("xp2 = xr1*pp2/pr1")
ListBox1.AddItem ("-----------------------")
ListBox1.AddItem ("massa r1 assegnata che reagisce = " & xr1)
ListBox1.AddItem ("grammi r2 necessari per la reazione= " & xr2)
ListBox1.AddItem ("grammi p1 prodotti nella reazione= " & xp1)
ListBox1.AddItem ("grammi p2 prodotti nella reazione= " & xp2)
ListBox1.AddItem ("-------------------")
ListBox1.AddItem ("reattivi=" & xr1 + xr2 & " = prodotti " & xp1 + xp2)
ListBox1.AddItem ("---------------------------------")


End Sub

Private Sub CommandButton1_Click()
Rem calcolo reagente2 e prodotti pi,p2 essendo noto reagente1
Rem dati prefissat
i
ListBox1.AddItem ("2NaOH + H2SO4 >>> Na2SO4 + 2 H2O ")
Call calcola(40, 98, 142, 18, 2, 1, 1, 2, 160)
MsgBox ("clicca per altro esempio")
ListBox1.AddItem ("NaOH + HCl >>> NaCl + H2O ")
Call calcola(40, 36, 58, 18, 1, 1, 1, 1, 80)
MsgBox ("clicca per altro esempio")
ListBox1.AddItem ("H2SO4+2NaOH >>> Na2SO4 + 2 H2O")
ListBox1.AddItem ("98,40,142,18,1,2,1,2,49")
Call calcola(98, 40, 142, 18, 1, 2, 1, 2, 49)
MsgBox ("clicca per altro esempio")
End Sub

Private Sub CommandButton2_Click()
Rem noto prodotto p1 da ottenere calcolare reagenti e p2
Rem calcolare reagente r2 necessario e prodotti ottenuti p1 ,p2

pesomr1 = Val(TextBox1.Text)
molir1 = Val(TextBox2.Text)
pesosr1 = pesomr1 * molir1
pesomr2 = Val(TextBox3.Text)
molir2 = Val(TextBox4.Text)
pesosr2 = pesomr2 * molir2
pesomp1 = Val(TextBox5.Text)
molip1 = Val(TextBox6.Text)
pesospp1 = pesomp1 * molip1
pesomp2 = Val(TextBox7.Text)
molip2 = Val(TextBox8.Text)
pesospp2 = pesomp2 * molip2
xp1 = Val(TextBox9.Text) ' grammi noti prodotto p1
xr2 = xp1 * pesosr2 / pesospp1 'massa r2 necessaria
xp2 = xp1 * pesospp2 / pesospp1 'massa p2 prodotta
xr1 = xp1 * pesosr1 / pesospp1 'massa r1 necessaria
reazione = (molir1 & "r1 + " & molir2 & " r2 = " & molip1 & " p1 + " & molip2 & " p2")
pratica = ("reagente1 " & " : reagente2 = " & xp1 & " :prodotto2")
ListBox1.AddItem ("calcolare massa del reagente r2 e dei prodotti p1,p2 ")
ListBox1.AddItem (reazione)
ListBox1.AddItem ("rapporti stechiometrici della reazione bilanciata")
ListBox1.AddItem (pesosr1 & " : " & pesosr2 & " = " & pesospp1 & " : " & pesospp2)
ListBox1.AddItem ("grammi di sostanze interessate nella reazione bilanciata")
ListBox1.AddItem ("reagente1 = " & pesosr1)
ListBox1.AddItem ("reagente2 = " & pesosr2)
ListBox1.AddItem ("prodotto1 = " & pesospp1)
ListBox1.AddItem ("prodotto1 = " & pesospp2)
ListBox1.AddItem ("rapporti delle sostanze nella reazione con grammi di reagente r1 nota")
ListBox1.AddItem (pratica)
ListBox1.AddItem ("proporzioni da impostare per trovare r2,p1,p2")
ListBox1.AddItem ("xr1 = xp1*pesosr1/pesosp1")
ListBox1.AddItem ("xr2 = xp1*pesosr2/pesosp1")
ListBox1.AddItem ("xp2 = xp1*pesosp2/pesosp1")
ListBox1.AddItem ("-----------------------")
ListBox1.AddItem ("massa p1 assegnata da produrre = " & xp1)
ListBox1.AddItem ("grammi r1 necessari per la reazione= " & xr1)
ListBox1.AddItem ("grammi r2 necessari per la reazione= " & xr2)
ListBox1.AddItem ("grammi p2 prodotti nella reazione= " & xp2)
ListBox1.AddItem ("-------------------")
ListBox1.AddItem ("reattivi=" & xr1 + xr2 & " = prodotti " & xp1 + xp2)
ListBox1.AddItem ("---------------------------------")
End Sub




Private Sub CommandButton3_Click()
Label13.Visible = True
End Sub

Private Sub CommandButton4_Click()
Label3.Visible = False
End Sub

Private Sub CommandButton5_Click()
ListBox1.Clear
End Sub

Private Sub CommandButton6_Click()
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
TextBox9 = ""
End Sub

Private Sub CommandButton7_Click()
Rem calcolare reagente r2 necessario e prodotti ottenuti p1 ,p2
Rem essendo noti i grammi di reagente r1

r1 = Val(TextBox1.Text)
mr1 = Val(TextBox2.Text)
pr1 = r1 * mr1
r2 = Val(TextBox3.Text)
mr2 = Val(TextBox4.Text)
pr2 = r2 * mr2
p1 = Val(TextBox5.Text)
mp1 = Val(TextBox6.Text)
pp1 = p1 * mp1
p2 = Val(TextBox7.Text)
mp2 = Val(TextBox8.Text)
pp2 = p2 * mp2
xr1 = Val(TextBox9.Text) ' grammi noti ragente r1
xr2 = xr1 * pr2 / pr1 'massa r2 necessaria
xp1 = xr1 * pp1 / pr1 'massa p1 prodotta
xp2 = xr1 * pp2 / pr1 'massa p2 prodotta
reazione = (mr1 & "r1 + " & mr2 & " r2 = " & mp1 & " p1 + " & mp2 & " p2")
pratica = (xr1 & " : reattivo2 = " & " prodotto1 :prodotto2")
ListBox1.AddItem ("calcolare massa del reagente r2 e dei prodotti p1,p2 ")
ListBox1.AddItem (reazione)
ListBox1.AddItem ("rapporti stechiometrici della reazione bilanciata")
ListBox1.AddItem (pr1 & " : " & pr2 & " = " & pp1 & " : " & pp2)
ListBox1.AddItem ("grammi di sostanze interessate nella reazione bilanciata")
ListBox1.AddItem ("reattivo1 = " & pr1)
ListBox1.AddItem ("reattivo2 = " & pr2)
ListBox1.AddItem ("prodotto1 = " & pp1)
ListBox1.AddItem ("prodotto1 = " & pp2)
ListBox1.AddItem ("rapporti delle sostanze nella reazione con grammi di reagente r1 nota")
ListBox1.AddItem (pratica)
ListBox1.AddItem ("proporzioni da impostare per trovare r2,p1,p2")
ListBox1.AddItem ("xr2 = xr1*pr2/pr1")
ListBox1.AddItem ("xp1 = xr1*pp1/pr1")
ListBox1.AddItem ("xp2 = xr1*pp2/pr1")
ListBox1.AddItem ("-----------------------")
ListBox1.AddItem ("massa r1 assegnata che reagisce = " & xr1)
ListBox1.AddItem ("grammi r2 necessari per la reazione= " & xr2)
ListBox1.AddItem ("grammi p1 prodotti nella reazione= " & xp1)
ListBox1.AddItem ("grammi p2 prodotti nella reazione= " & xp2)
ListBox1.AddItem ("-------------------")
ListBox1.AddItem ("reattivi=" & xr1 + xr2 & " = prodotti " & xp1 + xp2)
ListBox1.AddItem ("---------------------------------")

End Sub

Private Sub CommandButton8_Click()
ListBox2.Visible = True
ListBox2.AddItem ("il programma permette di calcolare le masse ")
ListBox2.AddItem ("dei diversi componenti partecipanti alla reazione")
ListBox2.AddItem ("1-noti i grammi del reagente 1")
ListBox2.AddItem ("calcolare i grammi necessari del reagente 2")
ListBox2.AddItem ("calcolare i grammi dei prodotti ottenuti")
ListBox2.AddItem ("nota:si deve disporre sempre come reagente 1")
ListBox2.AddItem ("il reagente del quale si fornisce la massa")
ListBox2.AddItem ("es. NaOH + HCl >>> NaCl + H2O se fornita massa di NaOH")
ListBox2.AddItem ("es. HCl + NaOH >>> NaCl + H2O se fornita massa di HCl")
ListBox2.AddItem ("----------------------------------------------------")
ListBox2.AddItem ("2-noti i grammi del prodotto 1 da ottenere ")
ListBox2.AddItem ("calcolare i grammi dei ragenti necessari")
ListBox2.AddItem ("calcolare i grammi del secondo prodotto ottenuto")
ListBox2.AddItem ("nota:si deve disporre sempre come prodotto 1")
ListBox2.AddItem ("il prodotto del quale si fornisce la massa da ottenere")
ListBox2.AddItem ("es.NaOH + HCl >>> NaCl + H2O se fornita massa di NaCl")
ListBox2.AddItem ("es.NaOH + HCl >>> H2O + NaCl se fornita massa di H2O")
ListBox2.AddItem ("----------------------------------------------------")
ListBox2.AddItem ("nota:se alcuni componenti non interessano,inserire 0")
ListBox2.AddItem ("nelle caselle dei dati in entrata")
ListBox2.AddItem ("-----------------------------------------------------")
ListBox2.AddItem ("vengono forniti alcuni esempi con dati prefissati")
ListBox2.AddItem ("vengono proposte due possibilità di inserimento dati")
ListBox2.AddItem ("con noto reagente 1 , con noto prodotto 1")
ListBox2.AddItem ("si devono inserire in ordine pesi molecolari e numero")
ListBox2.AddItem ("intero,di molecole della reazione bilanciata, ")
ListBox2.AddItem ("e come ultimo dato i grammi del reagente 1 o prodotto 1")
ListBox2.AddItem ("-------------------------------------------------------")
ListBox2.AddItem ("")

End Sub

Private Sub CommandButton9_Click()
ListBox2.Visible = False
End Sub

vedi stechio4.ppt