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 prefissati
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