Главная » Просмотр файлов » Шестаков В.С. Расчет на ЭВМ нефтегазового оборудования. Учебное пособие для МНГ-2015

Шестаков В.С. Расчет на ЭВМ нефтегазового оборудования. Учебное пособие для МНГ-2015 (811778), страница 18

Файл №811778 Шестаков В.С. Расчет на ЭВМ нефтегазового оборудования. Учебное пособие для МНГ-2015 (Шестаков В.С. Расчет на ЭВМ нефтегазового оборудования. Учебное пособие для МНГ-2015) 18 страницаШестаков В.С. Расчет на ЭВМ нефтегазового оборудования. Учебное пособие для МНГ-2015 (811778) страница 182020-09-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 18)

Константами в этойпроцедуре задаются координаты верхнего левого и правого нижнегоугла графика: Const Xn = 10 * 72 / djum. В константах обеспечиваетсяпересчет мм в пикселы, так как для рисования в Visual Basic должнызадаваться значения в пк, а пользователи привыкли оперировать мм(1 пк=72/дюйм). Из полученных процедур составлена программа длярешаемой задачи:Option Explicit.Sub График() 'Основная процедураDim Хн, Хк, Х1, А0, А1, А2, В0, В1, N, MinY,MaxY,X0,Y0, mashtabX, mashtabYCall Ввод(Хн, Хк, Х1, А0, А1, А2, В0, В1, N)Call Расчет1(Хн, Хк, Х1, А0, А1, А2, В0, В1, N, MinY, MaxY)Call Оси_Сетка(Хн, Хк, MaxY, MinY, X0, Y0, mashtabX, mashtabY)Call Вывод_графика(Хн,Хк,Х1,А0,А1,А2,В0,В1,N,X0,Y0,mashtabX, mashtabY)End Sub.Sub Ввод(Хн, Хк, Х1, А0, А1, А2, В0, В1, N) 'Процедура ввода данныхWith Worksheets("Функция") 'Вынесение в заголовок наименования листаХн = .Range("F5")'Ввод из ячейки F5 значения и занесение в ХнХк = .Range("F6")'Ввод из ячейки F6 значения и занесение в ХкХ1 = .Range("F7")If Х1 < Хн Or Хк < Х1 Or Хн > Хк Then 'Защита от неверных данныхMsgBox "Неверно заданы границы интервалов" ‘Вывод сообщенияEnd IfА0 = .Range("F8"): А1 = .Range("F9") : А2 = .Range("F10") :В0 = .Range("F11") : В1 = .Range("F12") : N = .Range("F13")If N <= 0 Then MsgBox "Неверно задано число вычислений аргумента"End WithEnd Sub.Sub Расчет1(Хн, Хк, Х1, А0, А1, А2, В0, В1, N, MinY, MaxY)Dim I, dx, X, Y, iviv = 16'Указание 1 строки табл.

для вывода Х и УMinY = 10 ^ 10'Первое значение для поиска минимумаMaxY = -10 ^ 10'Первое значение для поиска максимумаdx = (Х1 - Хн) / N'Шаг вывода в табл. по первому выражениюX = Хн'Начальное значение аргумента для первого выраженияWith Worksheets("Функция")97For I = 0 To N'Начало цикла расчета по первому выражениюY = А0 + А1 * X + А2 * X ^ 2 'Расчет функции по первому выражениюIf Y < MinY Then MinY = Y'Запоминание минимума функцииIf Y > MaxY Then MaxY = Y'Запоминание максимума функции.Cells(iv, 1) = X'Вывод аргумента в табл.

на лист "Функция".Cells(iv, 2) = Y'Вывод функции в табл. на лист "Функция"X = X + dx'Изменение аргумента на шагiv = iv + 1'Изменение строки вывода в таблицуNext I'Конец циклаX = Х1'Начальное значение аргумента для второго выраженияdx = (Хк - Х1) / N'Шаг вывода в табл. по второму выражениюFor I = 0 To N'Начало цикла расчета по второму выражениюY = В0 + В1 ^ X'Расчет функции по первому выражениюIf Y < MinY Then MinY = Y'Запоминание минимума функцииIf Y > MaxY Then MaxY = Y 'Запоминание максимума функции.Cells(iv, 1) = X'Вывод аргумента в табл.

на лист "Функция".Cells(iv, 2) = Y'Вывод функции в табл. на лист "Функция"X = X + dx'Изменение аргумента на шагiv = iv + 1'Изменение строки вывода в таблицуNext I'Конец циклаEnd WithEnd Sub.Sub Вывод_графика(Хн,Хк,Х1,А0,А1,А2,В0, В1, N, X0,Y0, mashtabX, mashtabY)Dim X11, Y11, X12, Y12, I, dx, X, Ydx = (Х1 - Хн) / N 'Шаг расчета при выводе графикаX = Хн'Начальное значение аргумента для первого выраженияFor I = 0 To N – 1 'Цикл расчета при выводе графика поY = А0 + А1 * X + А2 * X ^ 2'Расчет функцииX11 = X0 + mashtabX * X'Координата Х первой точки линииY11 = Y0 - mashtabY * Y'Координата У первой точки линииX = X + dx'Изменение аргумента на шагY = А0 + А1 * X + А2 * X ^ 2 'Расчет функцииX12 = X0 + mashtabX * X'Координата Х второй точки линииY12 = Y0 - mashtabY * Y'Координата У второй точки линииCall Линия(X11, Y11, X12, Y12) 'Линия соединения точекNext I'Конец циклаX = Х1'Начальное значение аргумента для 2-го выраженияdx = (Хк - Х1) / N 'Шаг расчета при выводе графика по 2-му выражениюFor I = 0 To N - 1 'Цикл расчета при выводе графика по 1-му выражениюY = В0 + В1 ^ X'Расчет функцииX11 = X0 + mashtabX * X'Координата Х первой точки линии98Y11 = Y0 - mashtabY * Y'Координата У первой точки линииX = X + dx'Изменение аргумента на шагY = В0 + В1 ^ X'Расчет функцииX12 = X0 + mashtabX * X'Координата Х второй точки линииY12 = Y0 - mashtabY * Y'Координата У второй точки линииCall Линия(X11, Y11, X12, Y12) 'Линия соединения точекNext I'Конец циклаEnd Sub.' Процедура вывода осей, линий сетки, надписейSub Оси_Сетка(Хн, Хк, MaxY, MinY, X0, Y0, mashtabX, mashtabY)'Задание координат окна вывода графикаConst djum = 25.4'Значение дюйма в ммConst Xn = 10 * 72 / djum'Начало области вывода по Х 10 ммConst Yn = 10 * 72 / djum'Начало области вывода по У 10 ммConst Xk = 100 * 72 / djum'Конец области вывода по Х 100 ммConst Yk = 100 * 72 / djum'Конец области вывода по У 100 ммDim dy, dx, X1, Y1, X2, Y2, I, TxtОбразовать_лист'Вызов процедуры удаления старого и‘образования нового листаdx = Xk - Xn'Ширина окна под вывод графикаdy = Yk - Yn'Высота окна под вывод графика'Расчет масштабов, координат начала выводимого графикаIf Хк >= 0 And Хн >= 0 ThenmashtabX = dx / Хк'Масштаб при выводе по оси ХX0 = Xn'Координата начала графика по ХEnd IfIf Хк < 0 And Хн < 0 ThenmashtabX = dx / Abs(Хн)'Масштаб при выводе по оси ХX0 = Xk'Координата начала графика по ХEnd IfIf Хк > 0 And Хн < 0 ThenIf Xk > Abs(Xn) Then mashtabX = dx / Xk'Масштаб по оси ХIf Xk < Abs(Xn) Then mashtabX = dx / Abs(Xn) 'Масштаб по оси ХX0 = (Xk + Xn) / 2'Координата начала графикаEnd IfIf MaxY >= 0 And MinY >= 0 ThenmashtabY = dy / MaxY'Масштаб при выводе по оси У99Y0 = Yk'Координата начала графикаEnd IfIf MaxY < 0 And MinY < 0 ThenmashtabY = dy / Abs(MinY)'Масштаб при выводе по оси УY0 = Yn'Координата начала графикаEnd IfIf MaxY > 0 And MinY < 0 ThenIf MaxY > Abs(MinY) Then mashtabY = 0.5 * dy / MaxY 'Масштаб по оси УIf MaxY < Abs(MinY) Then mashtabY = 0.5 * dy / Abs(MinY)Y0 = (Yn + Yk) / 2'Координата начала графика по УEnd IfCall Линия(X0, Yn - 10, X0, Yk + 10)' Осевая вертикальная линияCall Линия(X0 - 10, Y0, Xk + 10, Y0)' Осевая горизонтальная линияX1 = Xn'Вывод вертикальных линий сеткиFor I = 1 To 11Call Линия_Пунктирная(X1, Yn, X1, Yk)'Пунктирная линияX1 = X1 + dx / 10Next IY1 = Yn'Вывод горизонтальных линий сеткиFor I = 1 To 11Call Линия_Пунктирная(Xn, Y1, Xk, Y1) 'Пунктирная линияY1 = Y1 + dy / 10Next I' Вывод текстовых надписейTxt = " График зависимости "Call Текст((Xn + Xk) / 3, Yn - 20, Xk - Xn - 40, 20, Txt)Call Текст(Xk + 10, Y0, 30, 20, "Х")Call Текст(X0 - 15, Yn, 30, 20, "Y")Txt = " Максим.

значение функции равно " + Str(Int(MaxY))Call Текст(Xn, Yk + 10, Xk - Xn, 20, Txt)Txt = " Миним. значение функции равно " + Str(Int(MinY))Call Текст(Xn, Yk + 25, Xk - Xn, 20, Txt)End Sub.Sub Образовать_лист() ‘Процедура удаления и образования листаSheets("Схема").Select'Обращение к листу "Схема"100ActiveWindow.SelectedSheets.Delete'Удаление листаSheets("Лист2").Select'Обращение к листу "Лист2"Sheets("Лист2").Copy Before:=Sheets(2)'Копирование листаSheets("Лист2 (2)").Select'Обращение к копии лист "Лист2"Sheets("Лист2 (2)").Name = "Схема" 'Изменение имени листаRange("A1").Select'Обращение к ячейке "A1"With ActiveWindow.DisplayGridlines = False'Установить линии ячеек невидимыми.DisplayHeadings = FalseEnd WithEnd SubSub Линия(X1, Y1, X2, Y2)'Убрать с экрана заголовки листа.'Вывода сплошной линии толщиной 1 пкActiveSheet.Shapes.AddLine(X1, Y1, X2, Y2).SelectSelection.ShapeRange.Line.Weight = 1#Selection.ShapeRange.Line.Visible = msoTrueSelection.ShapeRange.Line.Style = msoLineSingleEnd Sub.Sub Линия_Пунктирная(X1, Y1, X2, Y2) ‘Вывод пунктирной линииActiveSheet.Shapes.AddLine(X1, Y1, X2, Y2).SelectSelection.ShapeRange.Line.DashStyle = msoLineDashEnd Sub.Sub Текст(X, Y, dx, dy, Txt) 'Вывод на рисунок текстовых надписейActiveSheet.Shapes.AddTextbox (msoTextOrientationHorizontal, X, Y, dx, dy).SelectSelection.Characters.Text = TxtWith Selection.Characters(Start:=1, Length:=6).Font.Name = "Times New Roman".FontStyle = "обычный" : .Size = 10 : .Strikethrough = False.Superscript = False : .Subscript = False: .OutlineFont = False.Underline = xlUnderlineStyleNone.ColorIndex = xlAutomaticEnd WithSelection.ShapeRange.Line.Visible = msoFalseSelection.ShapeRange.Fill.Visible = msoFalseEnd Sub.10112345678910111213141516171819202122232425262728293031323334353637ABCDEFПример вывода изображения средствами Visual BasicФункция Y=A0+A1*X+A2*X2, при Xн<Х<=X1;Y=B0+B1X,при X1<=Х<=XкИсходные данные1.

Начальное значение переменной, Хн02. Конечное значение переменной, Хк123. Граница первого интервала, Х184. Коэффициент А0 первого выражения125. Коэффициент А1 первого выражения-1006. Коэффициент А2 первого выражения0.17. Коэффициент В0 второго выражения208. Коэффициент В1 второго выражения29. Количество вычислений функции на каждом интервале10Результаты расчетовАргумент Х0.000.801.602.403.204.004.805.606.407.208.008.008.408.809.209.6010.0010.4010.8011.2011.6012.00Функция Y12.0-67.9-147.7-227.4-307.0-386.4-465.7-544.9-623.9-702.8-781.6276.0357.8465.7608.1796.01044.01371.21802.92372.53124.24116.0График зависимостиYХМаксим. значение функции равно 4116Миним.

значение функции равно -7821024. РЕШЕНИЕ ЗАДАЧ РАСЧЕТА ДЛИТЕЛЬНОСТИ ЦИКЛАИ УСИЛИЙЛучше всего осваивается программирование и составление алгоритмов на конкретных реальных примерах. В данном пособии подобраны примеры задач, решить которые без ЭВМ просто невозможно. Вкаждой задаче подробно рассмотрены все этапы решения, поэтомуможете использовать их в качестве образцов при решении других подобных задач.4.1. Общие сведенияПодобные задачи приходится достаточно часто решать в процессепроектирования и эксплуатации нефтегазопромысловых машин: прирасчете производительности, мощности привода.Используемые в настоящее время в практике проектирования методики расчета продолжительности рабочих движений основаны наиспользовании достаточно простых выражений, типа "время =путь/номинальная скорость". Такие выражения не учитывают изменение скорости при изменении нагрузки на рабочем органе в течениерабочего цикла.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6551
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее