Автоматизация технологических процессов и производств в нефтегазовой отрасли
Определение изменения уровня жидкости в сосуде при поочередном открывании кранов. Разработка программы на языке высокого уровня Паскаль, позволяющую проводить расчёт давления на дно сосуда, заполненного водой на заданную высоту. Проверка работы программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 24.05.2023 |
Размер файла | 189,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.Allbest.Ru/
Министерство науки и высшего образования Российской Федерации
Федеральное государственное автономное образовательное учреждение высшего образования
Национальный исследовательский Томский политехнический университет
Инженерная школа информационных технологий и робототехники
Отделение автоматизации и робототехники
15.03.04 Автоматизация технологических процессов и производств
Индивидуальное домашнее задание
Автоматизация технологических процессов и производств в нефтегазовой отрасли
(Теоретические выкладки, листинг программы, файлы программы)
Томск - 2020
Задание
1. Сосуд и трубка заполнены одной и той же жидкостью (рисунок 1). Определить, как изменится уровень жидкости в сосуде при открывании крана А, крана В, крана С, крана D?
Рисунок 1 - Сосуд и трубка
2. Составить на языке программирования высокого уровня (Паскаль, Си, Бейсик…) программу, позволяющую проводить расчёт давления на дно сосуда, заполненного водой на высоту h.
Теоретические сведения, на основании которых было решено задание
Давление жидкости во всех точках горизонтальной плоскости одно и то же, но возрастает при переходе от одной горизонтальной плоскости к другой, расположенной ниже. Горизонтальные плоскости - это поверхности равного давления, их иногда называют ещё поверхностями уровня [1].
По закону Паскаля давление, создаваемое поверхностными силами, передаётся без изменения в каждую точку жидкости. Это означает: если на свободную поверхность жидкости действует атмосферное давление , оно действует в каждой точке этой жидкости.
В этой формулировке закон Паскаля остаётся верным и для общего случая, то есть для случая, когда мы учитываем также силу тяжести. Если сила тяжести создаёт внутри покоящейся жидкости определённое давление (вообще говоря, различное в разных точках), то приложенные поверхностные силы увеличивают давление в каждой точке жидкости на одну и ту же величину.
Рассмотрим равновесие жидкости с учётом действия силы тяжести [2]. Выделим мысленно вертикальный цилиндр сечением и высотой и рассмотрим условие его равновесия вдоль вертикали (рисунок 2). Пусть на уровне верхней грани цилиндра давление равно , а на уровне нижней грани . Силы давления, действующие на боковую поверхность, дают вдоль вертикали проекцию, равную нулю.
Следовательно, вдоль вертикали действуют только три силы:
- сила давления на верхнее основание, направлена вниз;
- сила давления на нижнее основание, направлена вверх;
- сила тяжести, действующая на жидкость в объёме цилиндра, направлена вниз.
Рисунок 2 - К расчёту давления столба жидкости
Если высота цилиндра , то его объём равен , масса жидкости в нём и вес жидкости соответственно будет равен:
,
где - плотность жидкости;
- ускорение свободного падения.
Условие равновесия цилиндра выразится уравнением:
,
откуда получаем
,
.
Для однородной несжимаемой жидкости и сокращения на после интегрирования получим:
Величина равна весу столба жидкости высоты с поперечным сечением, равным единице. Таким образом, полученная формула говорит о том, что разность давлений в двух точках жидкости равна весу столба жидкости с площадью, равной единице, и с высотой , равной разности глубин погружения точек.
Давление, вызванное силой тяжести, действующей на жидкость, называют гидростатическим давлением.
Давление на дно сосуда, заполненного водой на высоту с учётом атмосферного давления на его свободную поверхность, будет составлять:
Логическое обоснование и необходимые расчёты, подтверждающие правильность полученного решения
программа паскаль давление сосуд
Поверхность уровня всегда есть горизонтальная плоскость, даже если отдельные участки этой плоскости разделены стенками сосуда. Таким образом, распределение давления по глубине совершенно не зависит от формы сосуда. Если взять ряд сосудов различной формы, соединённых в нижней части трубками (сообщающиеся сосуды) и наливать жидкость в один из них, жидкость перетечет по трубкам в остальные сосуды и установится во всех сосудах на одном уровне.
В нашем случае при открывании кранов давление на свободные поверхности должно быть одинаковым и равным атмосферному. Вытекание жидкости будет продолжаться до тех пор, пока уровни в сосуде и вертикальной трубке с открытым краном не выровняются.
Если открыть кран А, вытечет жидкость из верхней части трубки (рисунок 3). При малом сечении и длине горизонтального участка трубки объём вытекшей через кран А жидкости настолько мал, что это не приведёт к заметному изменению уровня жидкости в сосуде.
Рисунок 3 - Открыт кран А
Если открыть кран В, уровень жидкости в сосуде понизится до уровня отверстия трубки этого крана (рисунок 4).
Рисунок 4 - Открыт кран В
Кран С находится ниже уровня дна сосуда. Если его открыть, в сосуде не может оставаться вода, уровень которой будет выше крана, поэтому из сосуда вытечет вся вода (рисунок 5).
Рисунок 5 - Открыт кран С
Если открыть кран D, уровень жидкости в сосуде понизится до уровня отверстия трубки этого крана (рисунок 6).
Рисунок 6 - Открыт кран D
Выводы по решению задания и полученным результатам
Гидростатическое давление на дно сосуда, заполненного водой на высоту , определяется по формуле:
C учётом атмосферного давления на свободную поверхность жидкости давление будет составлять:
Поверхность уровня жидкости всегда есть горизонтальная плоскость, даже если отдельные участки этой плоскости разделены стенками сосуда.
Если сосуд широк, а трубки узкие и короткие, то при открывании крана А уровень воды в сосуде практически не изменится. При открывании крана С вся вода из сосуда вытечет. В случае открывания кранов В и D вода в сосуде установится на уровне отверстий трубок этих кранов.
Краткое описание программы
Программа разработана на языке программирования высокого уровня Паскаль. Давление на дно сосуда, заполненного водой на высоту h, в программе вычисляется по двум формулам:
· гидростатического давления на дно сосуда, заполненного водой на высоту :
;
· с учётом атмосферного давления на свободную поверхность жидкости:
Листинг программы
const
ro = 1000;//плотность воды (кг/куб.м)
g = 9.8;//ускорение свободного падения (Н/кг)
pa = 101325;//нормальное атмосферное давление (Па)
begin
var h := ReadReal ('Введите высоту, на которую сосуд заполнен водой (в
метрах)');
Println;
Println ('Гидростатическое давление на дно сосуда, заполненного водой
на', h, 'м:');
Println ('p1 = ', ro * g * h, 'Па = ', ro * g * h / 1000, 'кПа');
Println ('C учётом атмосферного давления на свободную поверхность
воды:');
Println ('p2 = ', ro * g * h + pa, 'Па = ', (ro * g * h + pa) / 1000, 'кПа');
Println;
end.
Проверка работы программы
Результаты, полученные в разработанной программе (рисунок 7) и в Mathcad (рисунок 8), совпадают.
Рисунок 7 - Работа программы
Рисунок 8 - Проверка результатов в Mathcad
Список литературы и интернет-источников
1. Ландсберг Г.С. Элементарный учебник физики: в 3-х т. Том 1. Механика. Теплота. Молекулярная физика. - М.: Физматлит, 2010. - 612 с.
2. Савельев И.В. Курс общей физики: учебное пособие: в 3 т. Т. 1: Механика. Молекулярная физика. - 10-е изд. - СПб.: Лань, 2008.- 432 с.
3. Перминов О.Н. Программирование на языке Паскаль - М.: Радио и связь, 1988.
4. Электронный учебник «Современное программирование с нуля»
Размещено на allbest.ru
...Подобные документы
Сравнительный анализ языков программирования высокого уровня Си и Паскаль. Реализация алгоритма обработки данных. Тестирование и отладка программы или пакета программ. Структура программы на языке Турбо Паскаль. Указатели и векторные типы данных.
курсовая работа [233,5 K], добавлен 14.12.2012Создание транслятора, обрабатывающего код программы на языке Паскаль и за счет эквивалентных операторов генерирующего программу на Си. Особенности внешней спецификации и работы лексического анализатора. Структура программы, вывод результатов на экран.
курсовая работа [254,0 K], добавлен 02.07.2011Разработка комплекса алгоритмов. Кодирование и компиляция. Тестирование, отладка, испытание и сдача программы. Минимальные системные требования для использования Delphi 7. Написание программы с использованием инструментального языка высокого уровня.
курсовая работа [2,7 M], добавлен 21.02.2011Сравнительный анализ языков программирования высокого уровня Си и Паскаль: структура программы, типы данных, арифметические операции, операторы ветвления и циклы. Создание программы поиска подпоследовательностей одинаковых элементов в множественном виде.
курсовая работа [78,9 K], добавлен 28.12.2012Изучение основных конструкций и способов написания программ на языке Паскаль. Обзор принципов работы и интерфейса написанной программы. Обработка и модификация двумерных массивов. Файловые структуры данных. Текстовые файлы. Элементы машинной графики.
курсовая работа [761,7 K], добавлен 11.03.2015Методы численного интегрирования. Характеристика основных составляющих структурного программирования. Решение задания на языке высокого уровня Паскаль. Построение графического решения задачи в пакете Matlab. Решение задания на языке высокого уровня C.
курсовая работа [381,7 K], добавлен 10.05.2018Выбор метода проектирования транслятора с языка Паскаль на язык Си, разработка и кодирование алгоритма программы. Использование допустимых операторов в исходном тексте, определение типов переменных и синтаксиса логических и арифметических выражений.
курсовая работа [1,0 M], добавлен 03.07.2011Изучение организации диалоговой программы и закрепления основных элементов программирования на языке Паскаль и Си (Delphi, C++ Builder). Описание представления информации в программах на языках высокого уровня. Сравнительная характеристика Delphi и C++.
курсовая работа [3,1 M], добавлен 27.02.2015Понятие и цель применения текстовых данных. Принцип кодирования азбуки Морзе. Основные методы языка высокого уровня C#. Алгоритм работы, листинг, тестирование программы для перевода текста в последовательность кодов азбуки Морзе. Руководство пользователя.
курсовая работа [1,4 M], добавлен 15.01.2013Исследование классификации компьютерных игр, двигателей прогресса индустрии для персональных компьютеров. Характеристика общей структуры, протокола и текста программы, сценария и процесса игры. Изучение алгоритмизации и программирования на языке Паскаль.
реферат [2,1 M], добавлен 16.09.2011Особенности вывода на экран содержимого файла BAZA.txt. Анализ функций вывода информации о количестве каждой марки машин. Рассмотрение способов проектирования тестов программы методами черного ящика. Проблемы программирования на языке высокого уровня.
контрольная работа [1,6 M], добавлен 04.01.2015Программный комплекс для разработки программы транслирующей программу с языка Pascal на язык С++. Построение логической и арифметической модели решения. Разработка компилятора для программы. Методы отладки программы и создание для нее документации.
курсовая работа [742,6 K], добавлен 03.07.2011Ознакомление с возможностями языка Си как средой программирования высокого уровня. Циклы программирования параметрического оператора for и функции форматированного ввода. Разработка программы средствами Си: блок-схема, текст и тестирование программы.
контрольная работа [204,4 K], добавлен 26.01.2013Программирование на языке Паскаль: алфавит, решение задач, простейшие программы, разветвляющие программы, циклические программы, ввод-вывод, массивы, подпрограммы, строковые данные, записи, файлы, использование библиотеки CRT, графика в Паскале.
учебное пособие [211,1 K], добавлен 30.03.2008Выбор алгоритма решения задачи. Разработка программы, обеспечивающую эффективную обработку и хранение информации с использованием линейных списков. Написание программы на псевдокоде и на языке программирования высокого уровня. Результаты работы программы.
курсовая работа [2,1 M], добавлен 21.04.2012Создание приложения, исполняющего трансляцию программы из языка Паскаль в язык Си: разработка алгоритма реализации задачи, описание необходимых констант, переменных, функций и операторов, представление листинга программы и распечатка результатов.
курсовая работа [305,9 K], добавлен 03.07.2011Разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Класс программы, инструкция по использованию программы.
курсовая работа [1,0 M], добавлен 26.12.2013Составление оптимального расписания, где критерием оптимальности служит минимальное значение функции штрафа. Описание алгоритма и разработка программы на языке программирования высокого уровня Java в среде BlueJ. Проверка решения и построение графика.
курсовая работа [67,1 K], добавлен 04.12.2012Схема разбора арифметического и логического выражения. Внешняя спецификация конвертора и алгоритм перевода программ на языке Паскаль в текст на языке Си. Назначение подпрограмм, особенности констант и переменных. Код программы и ее тестирование.
курсовая работа [567,5 K], добавлен 03.07.2011Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.
курсовая работа [500,4 K], добавлен 13.01.2015