SHARE
TWEET

Untitled

a guest Feb 18th, 2020 82 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class GasHolder
  2. {
  3. private:
  4.     float v, t;
  5.     const float r = (const float) 8.31;
  6.     float* n = new float;
  7. public:
  8.     // Создать газгольдер заданного объёма.
  9.     // Температура созданного термостата равна 273 К.
  10.     GasHolder(float v) {
  11.         this->v = v;
  12.         t = 273;
  13.         *n = 0;
  14.     };
  15.  
  16.     // Уничтожить газгольдер.
  17.     ~GasHolder() {
  18.         delete this->n;
  19.     };
  20.  
  21.     // Впрыск порции газа массой m и молярной массой M.
  22.     // Считать, что газ принимает текущую температуру газгольдера за пренебрежимо малое время.
  23.     void inject(float m, float M) {
  24.         *n += m / M;
  25.     };
  26.  
  27.     // Подогреть газгольдер на dT градусов.
  28.     // Считать, что нагрев возможен до любых значений температуры.
  29.     void heat(float dT) {
  30.         t += dT;
  31.     };
  32.  
  33.     // Охладить газгольдер на dT градусов.
  34.     // При попытке охладить ниже 0 К температура становится ровно 0 К.
  35.     void cool(float dT) {
  36.         t > dT ? t -= dT : t = 0;
  37.     };
  38.  
  39.     // Получить текущее давление в газгольдере.
  40.     // Считать, что для газа верно уравнение состояния PV = (m/M)RT.
  41.     // Значение постоянной R принять 8.31 Дж/(моль*К).
  42.     float getPressure() {
  43.         return t * r * (*n) / v;
  44.     };
  45. };
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top