23
КУРСОВАЯ РАБОТА
на тему
«Расчет удержания наполнителя в бумажном полотне»
Содержание
Введение
Реферат
Инструкция пользователю
Список переменных
Вид форм и коды к ним
Алгоритм расчёта концентрации
Алгоритм работы приложения
Заключение
Введение
Цель работы: разработать приложение с удобным и понятным пользователю интерфейсом.
Приложению необходимо осуществлять расчёт удержания наполнителя в бумажном полотне U по модели следующего вида:
Где S — зольность готовой бумаги, %;
M — масса одного квадратного метра бумажного полотна, г/м^2;
V — скорость бумагоделательная машины, м/мин;
B — ширина бумажного полотна,м ;
Gk — расход каолина, л/мин;
Ck — концентрация каолина, г/л
Реферат
Юркевич П.М. Расчёт удержания наполнителя в бумажном полотне. Курс. работа /СПбГТУРП, каф. ИИТСУ; рук. И.В. Бондаренкова. — Санкт-Петербург, 2009. ПЗ 19 с., 6 рис., 2 табл., текст программы 9 л.
АЛГОРИТМ, УДЕРЖАНИЕ НАПОЛНИТЕЛЯ, ПРОГРАММА, ПРИЛОЖЕНИЕ, РАСЧЁТ, КОД, ПЕРЕМЕННАЯ.
Объект исследования и разработки — бумажное полотно.
Цель работы — разработать блок, осуществляющий расчет удержания наполнителя в бумажном полотне. Разработан алгоритм работы приложения для расчёта удержания наполнителя в бумажном полотне. Разработана программа расчёта удержания наполнителя при различных параметрах: показании измерителя удержания наполнителя, зольность готовой бумаги, масса одного квадратного метра бумажного полотна, скорость бумагоделательной машины, расход каолина, концентрация каолина. Разработан удобный и понятный пользовательский интерфейс приложения.
Инструкция пользователю
программа алгоритм наполнитель бумага
Окно «Титульный лист»
Работа с программой начинается с титульного листа, где указан автор работы и преподаватель, проверивший выполнение задания.
На форме также имеются две кнопки: «Выход» и «Далее».
— При нажатии «Выход» появляется окно, с подтверждением выхода, при подтверждении происходит выход из программы.
— При нажатии «Далее» переходите на форму «Расчёт».
Окно «Расчет»
Основная форма, на которой осуществляются все операции по вычислению.
В меню формы имеются следующие пункты:
I. Пункт меню «Файл»:
1) «Сохранить» — сохранение полученных результатов в текстовый файл, который находится в: «»F:Raschet.dat»».
2) «Загрузить» — загрузка сохранённых данных.
3) «Выход» — при нажатии появляется окно, с подтверждением выхода, при подтверждении происходит выход из программы. Также можно выйти, нажав горячие клавиши Ctrl + Е.
II. Пункт меню «Инструменты»:
1) «Ввод данных»- при нажатии этой кнопки появляется окно, в котором необходимо ввести значение параметра, находящееся в указанном диапазоне. При ошибке ввода (нарушение регламента или ввод текстовых данных) появляется сообщение об ошибке. При нажатии «ОК» предлагается ввести данные заново. При правильном вводе всех данных на форме появляются значения, которые Вы ввели.
2) «Очистить» — После нажатия этой кнопки все данные убираются с формы.
3) «Расчёт» — при нажатии этой кнопки происходит расчёт удержания наполнителя в бумажном полотне по формуле указанной в задании. Но только при условии, что все параметры введены верно и значение удержания наполнителя не превышает допустимые нормы. Если значение удержания наполнителя вышло за допустимые границы, то предлагается ввести новые значения всех параметров.
4) «Другое» — В этом пункте меню два подпункта:
1)«День рождения» — программа, рассчитывающая количество времени, прошедшее с Вашего дня рождения (или с любой другой даты).
2)«Калькулятор» — при нажатии открывается форма с калькулятором.
III. Пункт меню «Справка»:
1)«Обо мне»- при нажатии открывается форма с информацией об авторе.
2)«О программе»- общая информация о программе.
Так же на форме имеется меню, всплывающее при нажатии правой кнопки мыши.
«Back»- переход к предыдущей форме «Титульный лист»
«Exit»- при нажатии появляется окно, с подтверждением выхода, при подтверждении происходит выход из программы.
Окно «День рождения»
Рис 1. “Окно «День рождения»”
Программа, рассчитывающая количество времени, прошедшее с Вашего дня рождения (или с любой другой даты).(рис1.)
Справа от поля «День рождения» (1) вводится дата Вашего дня рождения (или любая дата по вашему желанию).
Справа от поля «Сегодня» (2) отображается системная дата, то есть та дата, которая установлена в Windows (сюда, опять же, можно ввести любую другую конечную дату)
Справа от «Интервал» (3) находится поле для ввода параметров, согласно которым ведётся счёт прошедшего времени.
Параметр |
Вывод |
|
Yyyy |
год |
|
q |
квартал |
|
m |
месяц |
|
w |
неделя |
|
h |
час |
|
n |
минута |
|
s |
секунда |
При нажатии кнопки «Расчет» (4) результаты расчёта выводятся под полем «Прожито:» (5).
При нажатии кнопки «Назад» (6) происходит выход из «День рождения» в окно «Расчет».
Окно «Калькулятор»
Рис 2. “Окно «Калькулятор»”
Форма, для проведения простых математических действий: умножение, деление, вычитание, сложение. (Рис 2.)
Поле для ввода, напротив «1-е число» (1) — это значение X
Поле для ввода, напротив «2-е число» (2) — это значение Y
Справа (3) выбирается одна из математических операций.
Операции производятся по следующему принципу:
«Сложение»- X+Y
«Вычитание»- X-Y
«Умножение»- X*Y
«Деление»- X/Y
При нажатии кнопки «Расчёт» (4) результат выводится в поле, напротив «Результат»
При нажатии кнопки «Назад» (5) происходит выход из калькулятора в окно «Расчет».
Список переменных.
В данной работе использованы следующие переменные:
Имя переменной |
Тип данных |
Назначение |
|
k |
String |
Содержит в себе информацию окна сообщения о подтверждении сохранения данных |
|
a |
String |
Содержит в себе информацию окна сообщения о подтверждении выхода из программы |
|
u |
Double |
Содержит в себе рассчитанное значение удержания наполнителя в бумажном полотне |
|
s |
Variant |
Содержит в себе введенное показание измерителя зольности готовой бумаги |
|
m |
Variant |
Содержит в себе введенную массу одного квадратного метра бумажного полотна |
|
v |
Variant |
Содержит в себе введённый скорость бумагоделательной машины |
|
gk |
Variant |
Содержит в себе введенные значение расхода каолина |
|
сk |
Variant |
Содержит в себе введенные значение концентрации каолина |
Тип переменных String означает, что в них может храниться строка переменной длины (до 231 символов).
Тип переменных Double означает, что в них может храниться числа с плавающей запятой.
Тип переменных Variant означает, что в них может храниться любой из типов данных.
4.Вид форм и коды к ним
Окно «Заставка»
Коды
Option Explicit
`Объявление переменных
Dim a As String
Private Sub CmdC1_Click()
`Запрос подтверждения выхода из программы
a = MsgBox(«Вы действительно хотите выйти?», vbQuestion + vbYesNo + vbDefaultButton2, «Выход»)
If a = vbYes Then
End
End If
End Sub
Private Sub CmdC2_Click()
`Переход к блоку расчёта
FrmF1.Hide
FrmF2.Show
End Sub
Private Sub Form_Load()
`Отображение на форме надписей откорректированных с помощью символа перевода строки
LblL1.Caption = «Министерство образования Российской Федерации» & Chr(10) & «Санкт-Петербургский Государственный Технологический» & Chr(10) & «Университет Растительных Полимеров»
LblL3 = «Проверила:» & Chr(10) & «Бондаренкова И.В.»
LblL2 = «Выполнил:» & Chr(10) & «Студент гр.536» & Chr(10) & «Юркевич П.М.»
End Sub
Окно «Расчет»:
Коды
Option Explicit
`Объявление переменных
Dim a As String
Dim s As Variant
Dim m As Variant
Dim v As Variant
Dim g As Variant
Dim c As Variant
Dim u As Double
Dim k As String
Const B0 = 5.1
Private Sub mnuFExit_Click()
`Запрос подтверждения выхода из программы
a = MsgBox(«Вы действительно хотите выйти?», vbQuestion + vbYesNo + vbDefaultButton2, «Выход»)
If a = vbYes Then
End
End If
End Sub
Private Sub mnuFLoad_Click()
`Загрузка данных из сохранённого файла
Open «F:Raschet.dat» For Input As 1
Input #1, s, m, v, g, c, u
Close #1
‘Показать данные из сохранённого файла
LblL9.Caption = s
LblL10.Caption = m
LblL11.Caption = v
LblL17.Caption = g
LblL18.Caption = c
LblL20.Caption = u
FraF1.Visible = True
LblL1.Visible = True
LblL3.Visible = True
LblL5.Visible = True
LblL7.Visible = True
LblL9.Visible = True
LblL10.Visible = True
LblL11.Visible = True
LblL12.Visible = True
LblL20.Caption = Format(u, «#0.000»)
End Sub
Private Sub mnuFSave_Click()
`Запрос на сохранение расчёта
k = MsgBox(«Вы действительно хотите сохранить результат? Внимание сохранение уничтожит предыдущие данные в файле!», vbQuestion + vbYesNo + vbDefaultButton2, «Сохранение»)
If k = vbYes Then
‘Сохранение расчёта
Open «F:Raschet.dat» For Output As 1
Write #1, s, m, v, g, c, u
Close #1
End If
End Sub
Private Sub mnuHelpAM_Click()
`Открыть форму с информацией о создателе программы
FrmF2.Hide
FrmF5.Show
End Sub
Private Sub mnuHelpAP_Click()
‘Открыть сообщение содержащее в себе информацию о программе
MsgBox «Программа для расчёта удержания наполнителя в бумажном полотне .», vbInformation, «О программе»
End Sub
Private Sub mnuTCalc_Click()
‘Расчёт по заданной мат. модели
If LblL1.Visible = True And LblL3.Visible = True And LblL5.Visible = True Then
u = (s * m * v * B0) / (g * c * 100)
If u > 100 Then
MsgBox «Значение удержания наполнителя вышло за допустимые пределы, введите новые данные», vbCritical, «Превышение регламента»
Else
‘Вывод полученного числа в формате трёх чисел после запятой
LblL7.Visible = True
LblL19.Visible = True
LblL19.Caption = Format(u, «#0.000»)
mnuFSave.Enabled = True
End If
Else
MsgBox «Сначала введите исходные данные ( Инструменты—>Ввод данных )», vbExclamation, «Внимание»
End If
End Sub
Private Sub mnuTInput_Click()
LblL4.Visible = False
‘Ввод данных в заданных интервалах
Do
s = InputBox(«Введите зольность готовой бумаги, %, в пределе от 35,5 до 61,5 включительно «, «Ввод данных»)
‘При нажатии на «Cancel» в переменную вводится пустая строка и программа вылетает, защита от этого:
If s = «» Then Exit Sub
‘Защита от текстовой информации
If IsNumeric(s) = False Then
MsgBox «Вводите только цифровые данные, ввод десятичной части осуществляется через запятую», vbCritical, «Внимание»
Else
‘Проверка лежат ли числа в заданном интервале
If s < 35.5 Or s > 61.5 Then
MsgBox «Нарушен диапазон», vbCritical, «Внимание»
Else
‘Преобразование и вывод данных
s = CDbl(s)
LblL4.Caption = s
LblL4.Visible = True
LblL1.Visible = True
Exit Do
End If
End If
Loop
LblL6.Visible = False
Do
m = InputBox(«Введите массу олного квадратного метра бумажного полотна, г/м^2, в пределе от 50,0 до 90,0», «Ввод данных»)
If m = «» Then Exit Sub
If IsNumeric(m) = False Then
MsgBox «Вводите только цифровые данные, ввод десятичной части осуществляется через запятую», vbCritical, «Внимание»
Else
If m < 50 Or m > 90 Then
MsgBox «Нарушен диапазон», vbCritical, «Внимание»
Else
m = CDbl(m)
LblL6.Caption = m
LblL3.Visible = True
LblL6.Visible = True
Exit Do
End If
End If
Loop
LblL8.Visible = False
Do
v = InputBox(«Введите скорость бумагоделательной машины, м/мин, в пределе от 280,0 до 350,0», «Ввод данных»)
If v = «» Then Exit Sub
If IsNumeric(v) = False Then
MsgBox «Вводите только цифровые данные, ввод десятичной части осуществляется через запятую», vbCritical, «Внимание»
Else
If v < 280 Or v > 350 Then
MsgBox «Нарушен диапазон», vbCritical, «Внимание»
Else
v = CDbl(v)
LblL8.Caption = v
LblL8.Visible = True
LblL5.Visible = True
Exit Do
End If
End If
Loop
LblL15.Visible = False
Do
g = InputBox(«Введите расход каолина, г/мин, в пределе от 9,5 до 26,5», «Ввод данных»)
If g = «» Then Exit Sub
If IsNumeric(g) = False Then
MsgBox «Вводите только цифровые данные, ввод десятичной части осуществляется через запятую», vbCritical, «Внимание»
Else
If g < 9.5 Or g > 26.5 Then
MsgBox «Нарушен диапазон», vbCritical, «Внимание»
Else
g = CDbl(g)
LblL15.Caption = g
LblL13.Visible = True
LblL15.Visible = True
Exit Do
End If
End If
Loop
LblL16.Visible = False
Do
c = InputBox(«Введите концентрацию каолина, г/л, в пределе от 180,0 до 220,5», «Ввод данных»)
If c = «» Then Exit Sub
If IsNumeric(c) = False Then
MsgBox «Вводите только цифровые данные, ввод десятичной части осуществляется через запятую», vbCritical, «Внимание»
Else
If c < 180 Or c > 220.5 Then
MsgBox «Нарушен диапазон», vbCritical, «Внимание»
Else
c = CDbl(c)
LblL16.Caption = c
LblL16.Visible = True
LblL14.Visible = True
Exit Do
End If
End If
Loop
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
‘Всплывающее меню на 2-ю кнопку мыши
If Button = 2 Then
PopupMenu pMenu
End If
End Sub
Private Sub nmuTDelete_Click()
`Очистка формы от всех данных
LblL1.Visible = False
LblL2.Visible = False
LblL3.Visible = False
LblL4.Visible = False
LblL5.Visible = False
LblL6.Visible = False
LblL7.Visible = False
LblL8.Visible = False
LblL9.Visible = False
LblL10.Visible = False
LblL11.Visible = False
LblL12.Visible = False
LblL13.Visible = False
LblL14.Visible = False
LblL15.Visible = False
LblL16.Visible = False
FraF1.Visible = False
LblL19.Visible = False
End Sub
Private Sub pBack_Click()
`Переход к титульному листу
FrmF2.Hide
FrmF1.Show
End Sub
Private Sub pExit_Click()
`Запрос подтверждения выхода из программы
a = MsgBox(«Вы действительно хотите выйти?», vbQuestion + vbYesNo + vbDefaultButton2, «Выход»)
If a = vbYes Then
End
End If
End Sub
Окно «День рождения»:
Коды
Option Explicit
`Объявление переменной
Dim Res As Long
Private Sub CmdC1_Click()
`Расчёт временного промежутка между указанными датами
Res = DateDiff(CStr(TxtT3.Text), CDate(TxtT1.Text), CDate(TxtT2.Text))
LblL5.Caption = Res
`Отображение размерности временного промежутка
If TxtT3.Text = «yyyy» Then LblL6.Caption = «Лет»
If TxtT3.Text = «q» Then LblL6.Caption = «Кварталов»
If TxtT3.Text = «m» Then LblL6.Caption = «Месяцев»
If TxtT3.Text = «w» Then LblL6.Caption = «Недель»
If TxtT3.Text = «d» Then LblL6.Caption = «Дней»
If TxtT3.Text = «h» Then LblL6.Caption = «Часов»
If TxtT3.Text = «n» Then LblL6.Caption = «Минут»
If TxtT3.Text = «s» Then LblL6.Caption = «Секунд»
End Sub
Private Sub CmdC2_Click()
`Переход к окну «Расчёт»
FrmF4.Hide
FrmF2.Show
End Sub
Private Sub Form_Load()
`Отображение системной даты
TxtT2.Text = Date
End Sub
Окно «Калькулятор»
Коды
Option Explicit
`Объявление переменных
Dim Z As Double
Dim x As Double
Dim y As Double
Private Sub CmdC1_Click()
`Занесение данных в переменные
x = TxtT1.Text
y = TxtT2.Text
`Выполнение выбранного действия
If OptO1.Value = False And OptO2.Value = False And OptO3.Value = False And OptO4.Value = False Then MsgBox «Тип действия не выбран!», vbCritical, «Ошибка»
If OptO1.Value = True Then Z = x + y
If OptO2.Value = True Then Z = x — y
If OptO3.Value = True Then Z = x * y
If OptO4.Value = True Then
If y <> 0 Then
Z = x / y
Else
MsgBox «На ноль делить нельзя», vbCritical, «Внимание»
End If
End If
LblL4.Caption = Format(Z, «#0.00»)
End Sub
Private Sub CmdC2_Click()
`Переход к окну «Расчёт»
FrmF3.Hide
FrmF2.Show
End Sub
Алгоритм расчёта удержания наполнителя
Вводим показания зольности
готовой бумаги,%
Проверяем лежит ли значение S в пределах Нет
наложенных ограничений
Вводим показания масса одного Да
Квадратного метра бумажного полотна,г/м^2
Проверяем лежит ли значение M в пределах Нет
наложенных ограничений
Вводим показания скорости бумагодела Да
тельной машины,м/мин
Проверяем лежит ли значение M в пределах Нет
наложенных ограничений
Да
Вводим показания расхода каолина,л/мин
Проверяем лежит ли значение Gk в пределах Нет
наложенных ограничений
Вводим показания концентрации каолина,г/л Да
Нет
Проверяем лежит ли значение Ck в пределах
наложенных ограничений
Рассчитываем удержания наполнителя Да
по формуле указанной в задание
Проверяем лежит ли значение
удержания наполнителя в пределах Нет
регламента
Да
Выводим рассчитанное значение
6. Алгоритм работы приложения.
Заключение
Разработанное приложение имеет понятный и удобный интерфейс. Позволяет осуществлять ввод исходных данных с проверкой существующих ограничений. При нарушении регламента, приложение выдаёт сообщение с указанием ошибки. Данное приложение может быть использовано в производственных лабораториях.