1. program stezenia;
  2. uses crt;
  3. var
  4. Cm,d,n1,n2,ms,mr,mrr,Cmol,Cp,M,x1,x2:real;
  5. const V=1;
  6.  
  7. begin
  8. ClrScr;
  9. writeln('Podaj st©ľenie molowe:');
  10. readln(Cm);
  11. Cm:=Cm;
  12. while Cm<0 do
  13. begin
  14. writeln;
  15. writeln('St©ľenie nie moľe by† ujemne! Podaj poprawnĄ warto˜†:');
  16. readln(Cm);
  17. Cm:=Cm;
  18. end;
  19. writeln;
  20. writeln('Podaj g©sto˜† w jednostce [g/dm^3]:');
  21. read(d);
  22. d:=d;
  23. while d<0 do
  24. begin
  25. writeln;
  26. writeln('Gesto˜† nie moľe by† ujemna! Podaj poprawnĄ warto˜†: ');
  27. readln(d);
  28. d:=d;
  29. end;
  30.  
  31. writeln;
  32. writeln('podaj mas© molowĄ:');
  33. read(M);
  34. M:=M;
  35. while M<0 do
  36. begin
  37. writeln;
  38. writeln('Masa molowa nie moľe by† ujemna! Podaj poprawnĄ warto˜†: ');
  39. readln(M);
  40. M:=M;
  41. end;
  42. writeln;
  43. n1:=Cm*V;
  44. writeln;
  45. writeln('liczba moli wynosi: ', n1:3:3,'[mol]');
  46. writeln;
  47. ms:=n1*M;
  48. writeln('masa substancji wynosi: ', ms:3:2,'[g]');
  49. writeln;
  50. Cp:=(Cm*M*100/d);
  51.  
  52. if Cp>100 then
  53. writeln('Masa substancji jest wieksza od masy roztworu! Wprowadziles bledne dane.')
  54. else
  55. begin
  56. writeln('stezenie procentowe wynosi: ', Cp:3:2,'[%]');
  57. writeln;
  58. mrr:=(ms*100/Cp);
  59. writeln('masa roztworu wynosi: ', mrr:3:2,'[g]');
  60. writeln;
  61.  
  62. mr:=mrr-ms;
  63. writeln('masa rozpuszczalnika wynosi: ', mr:3:2,'[g]');
  64. writeln;
  65. Cmol:=n1/mr;
  66. writeln('stezenie molalne wynosi: ', Cmol:3:4,'[mol/kg]');
  67. writeln;
  68. n2:=mr/18;
  69.  
  70. x1:=(n1/(n1+n2));
  71. writeln('ulamek molowy substancji wynosi: ', x1:3:2);
  72. writeln;
  73. x2:=1-x1;
  74. writeln('ulamek molowy rozpuszczalnika wynosi: ', x2:3:2);
  75. readln;
  76.  
  77. writeln;
  78. writeln('stezenie molowe to: ',Cm:4:3);
  79. writeln;
  80. writeln('gestosc to: ',d:2:4);
  81. writeln;
  82. writeln('masa molowa wynosi: ',M:4:2);
  83. end ;
  84.  
  85. readln;
  86. end.