Roztwory chemiczne (Java)
Roztwór to jednorodna mieszanina dwu lub więcej rodzajów cząsteczek nie reagujących z sobą. Stężenie roztworu to ilość substancji, wyrażonej w jednostkach masy lub objętości, rozpuszczonej w określonej liczbie jednostek objętości lub masy roztworu bądź rozpuszczalnika.
%(w/o) oznacza procent wagowo objętościowy tzn. liczbę gramów substancji rozpuszczonej w 100g roztworu.
Do obliczeń użyjemy klasy Solution. Obliczenia wykonamy w klasie Main
.
Klasy
Klasa Solution
package solutions; public class Solution { private Solution() { } /** * Sporządzanie roztworów przez rozpuszczanie substancji w wodzie * * @param substG - masa substancji rozpuszczonej w gramach * @param waterM - objętość wody w ml * @param solM - końcowa objêtość roztworu w ml * @param solP - koñcowe stężenie % roztworu * @return - ile gram danej substancji trzeba aby uzyskac roztwór */ public static double rozpuszczanie(double substG, double waterM, double solM, double solP) { double gram = 0; if ((substG == 0) && (waterM == 0)) { gram = solP * solM / 100; } return gram; } /** * Rozcieñczanie roztworów przez dodanie wody * * @param substM- objêtość roztworu substancji w ml * @param substP - stężenie % (%w/o) roztworu * @param solM - końcowa objętość roztworu w ml * @param solP - końcowe stężenie % roztworu * @return - objętość roztworu wejściowego w ml */ public static double rozcienczanie(double substM, double substP, double solM, double solP) { double ml = 0; if (substM == 0) { ml = solM * solP / substP; } if (solM == 0) { ml = substM * substP / solP; } return ml; } /** * Mieszanie roztworów o różnych stężeniach * * @param substP - stężenie % (%w/o) roztworu 1 * @param substP2 - stężenie % (%w/o) roztworu * @param solM - końcowa objęość roztworu * @param solP - końcowe stężenie roztworu * @return x - objętość pierwszego roztworu, y - objętość * drugiego roztworu */ public static double[] mieszanie(double substP, double substP2, double solM, double solP) { double ml = 0; double ml2 = 0; double[] temp = new double[2]; double temp1 = Math.abs(substP2 - solP); double temp2 = Math.abs(substP - solP); double temp3 = temp1 + temp2; ml = solM * temp1 / temp3; ml2 = solM - ml; temp[0] = ml; temp[1] = ml2; return temp; } }
Klasa Main
package solutions; public class Main{ public static void main(String[] args) { double nacl = Solution.rozpuszczanie(0, 0, 300, 15); System.out.println(nacl); double gluk = Solution.rozpuszczanie(0, 0, 400, 20); System.out.println(gluk); double ml = Solution.rozcienczanie(0, 27, 3000, 0.9); System.out.println(ml); double ml3 = Solution.rozcienczanie(0, 30, 600, 4); System.out.println(ml3); double ml2 = Solution.rozcienczanie(40, 25, 0, 3); System.out.println(ml2); double[] miesz = Solution.mieszanie(20, 3, 500, 9); System.out.println(miesz[0] + " " + miesz[1]); } }
Zadania
Rozpuszczanie
Zadanie 1
Ile gram NaCl potrzeba aby uzyskać 300 ml 15% (%w/o) roztwór.
Rozwiązanie: użyjemy metody Solution.rozpuszczanie()
.
Solution.rozpuszczanie(0, 0, 300, 15);
Otrzymaną liczbę gramów (45.0g) należy rozpuścić w pewnej niewielkiej ilości wody, a następnie dopełnić wodą do objętości 300 ml.
Zadanie 2
Potrzebne jest 400 ml 20% roztworu glukozy. Ile glukozy należy użyć?
Rozwiązanie: użyjemy metody Solution.rozpuszczanie()
.
Solution.rozpuszczanie(0,0,400, 20);
Otrzymaną liczbę gramów glukozy (80.0g) należy rozpuścić w pewnej ilości wody i dopełnić wodą do 400 ml.
Rozcieńczanie
Zadanie 3
Ile ml 27% roztworu (% w/o) NaCl potrzeba aby sporządzić 3000 ml 0.9% roztworu tej substancji?
Rozwiązanie: użyjemy metody Solution.rozcienczanie()
.
Solution.rozcienczanie(0, 27, 3000, 0.9);
Otrzymaną liczbę (100.0) ml 27% roztworu uzupełnić wodą do objętości 3000 ml.
Zadanie 4
Ile ml 30% roztworu NaOH potrzeba do sporządzenia 600 ml 4% roztworu?
Rozwiązanie: użyjemy metody Solution.rozcienczanie().
Solution.rozcienczanie(0,30, 600, 4);
Otrzymaną objętość (80.0) ml 30% roztworu należy uzupełnić wodą do objętości 600 ml.
Mieszanie
Zadanie 5
Do jakiej objętości należy rozcieńczyć 40 ml 25% roztworu, aby uzyskać stężenie 3%.
Rozwiązanie: użyjemy metody Solution.rozcienczanie()
.
Solution.rozcienczanie(40, 25, 0, 3);
Roztwór należy uzupełnić do otrzymanej objętości (333.33) ml
Zadanie 6
Ile ml 20% i 3% roztworu NaCl należy zmieszać ze sobą aby otrzymać 500 ml 9% roztworu?
Rozwiązanie: użyjemy metody Solution.mieszanie()
.
Solution.mieszanie(20, 3, 500, 9);
Należy zmieszać 176.47 ml roztworu o stęeniu 20% i 323.529 ml roztworu 3%.
Wyniki
Wszystkie odpowiedzi na zadania, które podaliśmy w tekście otrzymasz uruchamiając klasę Main
.
1) 45.0 2) 80.0 3) 100.0 40 80.0 5) 333.3333333333333 6) 176.47058823529412 323.52941176470586