Санкт-Петербургский государственный технологический институт
( Технический университет)
Кафедра Математического моделирования и оптимизации химико-технологических
процессов
Факультет 5
Курс I
Группа 517
Дисциплина: информатика.
КУРСОВАЯ РАБОТА
Тема: Создание программных продуктов для решения задач.
Студент: Хохленко Сергей Дмитриевич
Научный руководитель:
Гайков Андрей Владимирович
Санкт-Петербург
2002
Содержание
Введение…………………………………………………………………………3
Задание на работу……………………………………………………………….4
Описание метода………………………………………………………………...5
Алгоритм построения решения задачи……………………………………...…6
Глава I…………………………………………………………………………….7
Проект. Рабочая форма Visual Basic…………………………………………8
Программный код……………………………………………………………..9
Свойства объектов……………………………………………………………10
Рабочая форма с данными……………………………………………………11
Глава II……………………………………………………………………….......12
Решение в MathCad’е…………………………………………………………13
Графики №1 и
№2..........................................................................
...................14
Глава
III.........................................................................
.........................................15
Решение задачи в
Excei’е.....................................................................
............16
Графики
зависимостей................................................................
......................17
Заключение..................................................................
...........................................18
Аннотация...................................................................
...........................................19
Аннотация
В данной курсовой работе рассмотрен Метод наименьших квадратов,
позволяющий вести расчеты в различных физико-химических задачах.
Главными законами, необходимыми для решения поставленной задачи, являются:
Закон Ньютона и Закон Стефана-Больцмана.
Работа выполнена в трех программных средах: Visual Basic, Excel и Math-Cad.
Программный код, написанный на языке программирования Visual Basic,
читается с легкостью и прост в понимании. Построенные графики позволяют
выбрать наиболее подходящий закон для расчета скорости охлаждения.
Введение
Современное программирование развивается и широко используется для
решения таких задач, как программирование баз данных, реализация обмена
между приложениями, использование сетевых технологий и т.д.; современ-ные
системы программирования обеспечивают генерацию кода.
Большинство компьютеров в рамках всего мира работают под управлением
операционной системы Windows корпорации Microsoft. Каждый пользователь хотя
бы раз в жизни работал с приложениями Word, Excel или Access. Практические
задачи иногда требуют обмена данными между прило-жениями; пусть, например,
имеется база данных, нужно сделать запрос к ней, а затем – математическую
обработку результатов запроса, которую, можно выполнить только с
использованием Excel; здесь следует передать резуль-таты запроса в
приложение Excel и для этого нужно использовать язык про-граммирования.
Базовым языком программирования корпорации Microsoft является Visual
Basic. Современные его версии позволяют, и реализовать в программе SQL-
запрос к базе данных и выполнить вышеупомянутую передачу данных.
Особенность языка Visual Basic заключается в репликации и синхронизации баз
данных.
Курсовая работа включает в себя три различных варианта ввода данных
значений: автоматический (наиболее простой) и два ручных: открытие файла и
самостоятельный ввод каждого отдельного числа (значения). Кроме этого,
работа включает в себя универсальный инженерный калькулятор, необходи-мый
для каких либо вычислений. Построенные графики зависимостей в про-граммах
позволяют выбрать наиболее приемлемый закон, а также сам язык
программирования.
Задание №7
Закон Ньютона имеет вид: V=AQ (1)
где V- скорость охлаждения, а Q- избыток температуры.
По данным наблюдений, представляемым в таблице:
|№ Опыта |V(I) |Q(I) |V(I) расч. | [pic]V(I) |
|1 |8.81 |220 | | |
|2 |7.40 |200 | | |
|3 |6.10 |180 | | |
|4 |4.89 |160 | | |
|5 |3.88 |140 | | |
|6 |3.02 |120 | | |
|7 |2.30 |100 | | |
Найти значения коэффициента A; скорость охлаждения, вычисляемую по формуле
(1); относительную погрешность.
[pic] (2)
Для вычисления коэффициента A необходимо решить систему уравнений:
[pic] (3)
Для этого следует решить уравнения:
[pic] (4)
Если максимальная относительная погрешность (2) окажется больше 5%,
проверить, согласуется ли с данными опыта закон Стефана: V=k((Q+273)^4-
273^4) (5).
Обозначив Z=k((Q+273)^4-273^4), где k=5,67*10^(-9), подобрать коэффи-циент
A, скорость охлаждения, относительную погрешность, решить сле-дующую
систему уравнений:
V=AZ (6)
План решения задачи
1. Составить алгоритм и программу вычисления коэффициента А,
V(I) расчетного и относительную погрешность.
2. Вычисление А оформить в виде подпрограммы общего вида.
3. Напечатать таблицы.
4. Построить графики зависимостей V(I) расчетного и V(I) от Q(I).
5. Выбрать закон, по которому расчетные значения V(I) расчетные лучше
согласуются с данными опыта.
Проект. Рабочая форма Visual Basic:
Программный код в среде Visual Basic:
Option Explicit
Dim I As Integer
Dim a(7) As Single
‘ВВОД ЭЛЕМЕНТОВ МАССИВОВ
Private Sub Комманда1_Click()
Dim V(7) As Single, Q(7) As Single
MSFlexGrid1.TextMatrix(0, 0) = “№ Опыта”
MSFlexGrid1.TextMatrix(0, 1) = “ V(I) “
MSFlexGrid1.TextMatrix(0, 2) = “ Q(I) “
MSFlexGrid1.TextMatrix(0, 3) = “ V(I)расч.”
MSFlexGrid1.TextMatrix(0, 4) = “V(I), %”
For I = 1 To 7
MSFlexGrid1.TextMatrix(I, 0) = I
Next I
'АВТОМАТИЧЕСКИЙ ВВОД
If Проверка1.Value = 1 Then
Open “A:\Данные.txt” For Input As #1
Input #1, V(I), Q(I)
MSFlexGrid1.TextMatrix(I, 1) = V(I)
MSFlexGrid1.TextMatrix(I, 2) = Q(I)
Close #1
End If
‘ВВОД ЭЛЕМЕНТОВ МАССИВОВ ВРУЧНУЮ
If Проверка1.Value = 0 Then
MSFlexGrid1.TextMatrix(I, 1) = InputBox(“ВВЕДИТЕ ЭЛЕМЕНТ МАССИВА V(I)”)
MSFlexGrid1.TextMatrix(I, 2) = InputBox(“ВВЕДИТЕ ЭЛЕМЕНТ МАССИВА Q(I)”)
End Sub
'РЕШЕНИЕ A=V/Q, НАХОЖДЕНИЕ MIN (MAX),СУММЫ ЭЛЕМЕНТОВ МАССИВОВ
Private Sub Комманда2_Click()
Список1.Clear
Список1.AddItem (CCur(MSFlexGrid1.TextMatrix(I, 1) /
MSFlexGrid1.TextMatrix(I, 2)))
Dim Summ As Single
Summ = 0
Summ = Summ + MSFlexGrid1.TextMatrix(I, 1)
Текст1.Text = CSng(Summ)
Dim Summa As Single
Summa = Summa + MSFlexGrid1.TextMatrix(I, 2)
Текст2.Text = CSng(Summa)
‘РАСЧЕТ КОЭФФИЦИЕНТА “А”
Dim a As Single
a = Текст1.Text / Текст2.Text
Текст3.Text = CSng(a)
‘V(I)РАСЧЕТНАЯ
Private Sub Комманда3_Click()
MSFlexGrid1.TextMatrix(I, 3) = Текст3.Text * MSFlexGrid1.TextMatrix(I, 2)
‘ПОГРЕШНОСТЬ
Private Sub Комманда4_Click()
MSFlexGrid1.TextMatrix(I, 4) = Ccur(Sqr((((MSFlexGrid1.TextMatrix(I, 3) –
MSFlexGrid1.TextMatrix(I, 1)) / MSFlexGrid1.TextMatrix(I, 1)) * 100) ^ 2))
‘СОРТИРОВКА
Dim min As Single
Dim max As Single
min = MSFlexGrid1.TextMatrix(7, 4)
‘НАХОЖДЕНИЕ MIN
If MSFlexGrid1.TextMatrix(I, 4) < min Then min = MSFlexGrid1.TextMatrix(I,
4)
Текст4.Text = CSng(min)
max = MSFlexGrid1.TextMatrix(1, 4)
‘НАХОЖДЕНИЕ MAX
If MSFlexGrid1.TextMatrix(I, 4) > max Then max = MSFlexGrid1.TextMatrix(I,
Текст6.Text = CSng(max)
Private Sub Комманда5_Click()
'ЗАКОН СТЕФАНА-БОЛЬЦМАНА
'V=k*Q^4, где k-постоянная Стефана-Больцмана: k = 5.67 * 10 ^ -8
Dim z(7) As Single, V(7) As Single
z(I) = 0.0000000567 * ((MSFlexGrid1.TextMatrix(I, 2) + 273) ^ 4 – 273 ^ 4)
‘V=AZ
V(I) = 0.1 * Текст3.Text * z(I)
'ВЫВОД СКОРОСТИ ОХЛАЖДЕНИЯ
Список2.AddItem (Ccur(V(I)))
Private Sub Комманда6_Click()
End
Private Sub Command7_Click()
Страницы: 1, 2