• Главная
  • Блог
  • Пользователи
  • Форум
  • Литературное творчество
  • Музыкальное творчество
  • Научно-техническое творчество
  • Художественно-прикладное творчество

Вычисление объёма жидкости в цистерне цилиндрической формы по горизонтальному замеру глубины

Опубликовано Садчикова Леокадия Александровна вкл 01.10.2016 - 13:54
Садчикова Леокадия Александровна
Автор: 
Марданов Тимур, Куренов Антон

В работе приводится программа рассчёта объёма жидкости в цилиндрическом резервуаре, расположенном горизонтально.

Скачать:

ВложениеРазмер
Файл tezisy_k_nauchno_issl._rabote_mardanov_kurenov_almetevsk.docx55.62 КБ

Предварительный просмотр:

Вычисление объёма жидкости в цистерне цилиндрической формы

по горизонтальному замеру глубины

                                                                          Марданов Тимур Рустемович,

                                                                                                            Куренов Антон Юрьевич,

                                                                                            г. Альметьевск,

                                                                                                                 МАОУ – лицей №2, 10 класс

Рук. Садчикова Л.А.                          

Введение. Задача возникла перед работниками АЗС в связи с необходимостью вычислять объём остатка бензина в резервуаре в форме цилиндра, установленном горизонтально.

Один из сотрудников является выпускником нашего лицея и обратился к нам за помощью в создании(как вариант в написании) программы, с помощью которой можно будет легко производить сложные расчёты по нахождению объема оставшейся жидкости в цистерне с закругленным дном. Т.е данная  имеет прикладной характер.

Основная часть. Итак, , посмотрим на цилиндр в разрезе (см. рисунок) и сформулируем наглядно.

Сначала необходимо найти объем всего цилиндра. Формула объема всего цилиндра известна - площадь основания, помноженная на высоту. Если уровень жидкости m больше половины  необходимо  найти объем  части цилиндра, не заполненной жидкостью, а потом вычесть из общего объема. Составим формулу для вычисления объёма части цилиндра, отсекаемой плоскостью, параллельной оси (образующей) цилиндра,  по площади основания части цилиндра и высоте сегмента. Т.е. найдем площадь фигуры, залитой синей жидкостью.

V=·L, где L-длина образующей, - площадь основания части круга – сегмента.

C:\Users\User\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Word\Безымянный.png 

Видим, что площадь фигуры, залитой синей жидкостью, получается при вычитании из площади  сектора площади верхнего треугольника и тогда: 
S_x=S_{sect}-S{\Delta} , где S-сектора:  http://rudocs.exdat.com/pars_docs/tw_refs/3/2640/2640_html_1f1f43fa.gif(α- угол в радианах), S-треугольника, лежащего в этом секторе: C:\Users\User\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Word\Безымянный.png. Найдем   угол α как 2arctg(h/y), где h= После чего вычислим площадь  сектора, площадь треугольника и найдем разницу.

Справочно : в ходе написания программы мы столкнулись с невозможностью применения в выбранном языке программирования вычисления угла по его синусу. Применив тригонометрические преобразования, для написания программы вывели данную формулу.

S = (2arctg( /y)*/2)-2yb

Программа была написана на языке Паскаль.

Исходный код:

Program cisterna;

 Var v, l, a, x, m, c, n, w, h, r, f, t, kg, j : real;

 a1 : array [1..10000] of string;

b, g: array [1..10000] of integer;

i, n1 : longint;

s : string;

 Begin

 writeln('Введите длину цистерны');

 readln(l);

 Writeln('Введите радиус цистерны');

 Readln(r);

 Writeln('Введите высоту столба жидкости в цистерне');

 readln(h);

 if h < r then begin

  m := sqrt( 2 * h * r - sqr(h));

  a := 2 * m;

  c := m/(r - h);

  x := 2 * arctan(c);

  n := (x * sqr(r))/2;

  w := ((r - h) * a)/2;

  v := (n - w) * l;

  writeln('Oбъём жидкости равен ',v:6:3);

 End;

 if h > r then begin

  m := sqrt(2 * h * r - sqr(h));

  a := 2 * m;

  c := m/(h - r);

  x := 2 * arctan(c);

  n := (x * sqr(r))/2;

  w := ((h - r) * a)/2;

  f := n - w;

  t := (pi * sqr(r)) - f;

  v := t * l;

  writeln ('Oбъём жидкости равен: ',v:6:3);

 End;

 if h = r then begin

  a := (pi * sqr(r))/2;

  v := a * l;

 writeln('Oбъём жидкости равен: ',v:6:3);

 end;

Задачу можно расширить. Добавив в вычисления плотность жидкости и цену 1 литра бензина, можно будет определять массу и стоимость остатка бензина

 writeln('Узнать вес жидкости? ');

 read(s);

 if (s=('yes'))or (s=('да')) then begin

  a1[1]:='1)Hg';

  a1[2]:= '2)H2S';

  a1[3]:='3)H2O';

  a1[4]:='4)Молоко';

  a1[5]:='5)Машинное масло';

  a1[6]:='6)Керосин';

  a1[7]:='7)Спирт';

  a1[8]:='8)Нефть';

  a1[9]:='9)Ацетон';

  a1[10]:='10)Бензин';

  for i:=1 to 10 do

    writeln(a1[i]);

  b[1]:=13600;

  b[2]:=1800;

  b[3]:=1000;

  b[4]:=1030;

  b[5]:=930;

  b[6]:=800;

  b[7]:=800;

  b[8]:=800;

  b[9]:=790;

  b[10]:=710;

  writeln;

  writeln('Введите номер предложенного вещества: ');

  read(n1);

  kg:=b[n1]*v;

  writeln('Вес жидкости:');

  writeln(kg:6:3,' кг');

end;

End.        

Заключение. Программа апробирована на практике и может применяться для быстрых расчётов остатка жидкости в цистернах цилиндрической формы, т.е. имеет прикладное значение.

Также работа может быть продолжена в целях определения остатка жидкости в резервуарах иных форм, например, с эллипсом в основании.


Поделиться:

Свадьба в Малиновке

Зимняя сказка

Сказка об одной Тайне

Тигрёнок на подсолнухе

Растрёпанный воробей