РефератыОстальные рефератыКуКурс I группа 517 Дисциплина: информатика. работа

Курс I группа 517 Дисциплина: информатика. работа

Санкт-Петербургский государственный технологический институт


( Технический университет)


Кафедра Математического моделирования и оптимизации химико-технологических процессов


Факультет 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) расч.


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); относительную погрешность.


(2)


Для вычисления коэффициента A необходимо решить систему уравнений:


(3)


Для этого следует решить уравнения:


(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


For I = 1 To 7


Input #1, V(I), Q(I)


MSFlexGrid1.TextMatrix(I, 1) = V(I)


MSFlexGrid1.TextMatrix(I, 2) = Q(I)


Next I


Close #1


End If


‘ВВОД ЭЛЕМЕНТОВ МАССИВОВ ВРУЧНУЮ


If Проверка1.Value = 0 Then


For I = 1 To 7


MSFlexGrid1.TextMatrix(I, 1) = InputBox(“ВВЕДИТЕ ЭЛЕМЕНТ МАССИВА V(I)”)


Next I


For I = 1 To 7


MSFlexGrid1.TextMatrix(I, 2) = InputBox(“ВВЕДИТЕ ЭЛЕМЕНТ МАССИВА Q(I)”)


Next I


End If


End Sub


'РЕШЕНИЕ A=V/Q, НАХОЖДЕНИЕ MIN (MAX),СУММЫ ЭЛЕМЕНТОВ МАССИВОВ


Private Sub Комманда2_Click()


Список1.Clear


For I = 1 To 7


Список1.AddItem (CCur(MSFlexGrid1.TextMatrix(I, 1) / MSFlexGrid1.TextMatrix(I, 2)))


Next I


Dim Summ As Single


Summ = 0


For I = 1 To 7


Summ = Summ + MSFlexGrid1.TextMatrix(I, 1)


Next I


Текст1.Text = CSng(Summ)


Dim Summa As Single


For I = 1 To 7


Summa = Summa + MSFlexGrid1.TextMatrix(I, 2)


Next I


Текст2.Text = CSng(Summa)


‘РАСЧЕТ КОЭФФИЦИЕНТА “А”


Dim a As Single


a = Текст1.Text / Текст2.Text


Текст3.Text = CSng(a)


End Sub


‘V(I)РАСЧЕТНАЯ


Private Sub Комманда3_Click()


For I = 1 To 7


MSFlexGrid1.TextMatrix(I, 3) = Текст3.Text * MSFlexGrid1.TextMatrix(I, 2)


Next I


End Sub


‘ПОГРЕШНОСТЬ


Private Sub Комманда4_Click()


For I = 1 To 7


MSFlexGrid1.TextMatrix(I, 4) = Ccur(Sqr((((MSFlexGrid1.TextMatrix(I, 3) – MSFlexGrid1.TextMatrix(I, 1)) / MSFlexGrid1.TextMatrix(I, 1)) * 100) ^ 2))


Next I


‘СОРТИРОВКА


Dim min As Single


Dim max As Single


min = MSFlexGrid1.TextMatrix(7, 4)


‘НАХОЖДЕНИЕ MIN


For I = 1 To 7


If MSFlexGrid1.TextMatrix(I, 4) < min Then min = MSFlexGrid1.TextMatrix(I, 4)


Next I


Текст4.Text = CSng(min)


max = MSFlexGrid1.TextMatrix(1, 4)


‘НАХОЖДЕНИЕ MAX


For I = 1 To 7


If MSFlexGrid1.TextMatrix(I, 4) > max Then max = MSFlexGrid1.TextMatrix(I, 4)


Next I


Текст6.Text = CSng(max)


End Sub


Private Sub Комманда5_Click()


'ЗАКОН СТЕФАНА-БОЛЬЦМАНА


'V=k*Q^4, где k-постоянная Стефана-Больцмана: k = 5.67 * 10 ^ -8


Dim z(7) As Single, V(7) As Single


For I = 1 To 7


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)))


Next I


End Sub


Private Sub Комманда6_Click()


End


End Sub


Private Sub Command7_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


For I = 1 To 7


Input #1, V(I), Q(I)


MSFlexGrid1.TextMatrix(I, 1) = V(I)


MSFlexGrid1.TextMatrix(I, 2) = Q(I)


Next I


Close #1


End If


‘ВВОД ЭЛЕМЕНТОВ МАССИВОВ ВРУЧНУЮ


If Проверка1.Value = 0 Then


For I = 1 To 7


MSFlexGrid1.TextMatrix(I, 1) = InputBox(“ВВЕДИТЕ ЭЛЕМЕНТ МАССИВА V(I)”)


Next I


For I = 1 To 7


MSFlexGrid1.TextMatrix(I, 2) = InputBox(“ВВЕДИТЕ ЭЛЕМЕНТ МАССИВА Q(I)”)


Next I


End If


Список1.Clear


For I = 1 To 7


Список1.AddItem (Ccur(MSFlexGrid1.TextMatrix(I, 1) / MSFlexGrid1.TextMatrix(I, 2)))


Next I


Dim Summ As Single


Summ = 0


For I = 1 To 7


Summ = Summ + MSFlexGrid1.TextMatrix(I, 1)


Next I


Текст1.Text = CSng(Summ)


Dim Summa As Single


For I = 1 To 7


Summa = Summa + MSFlexGrid1.TextMatrix(I, 2)


Next I


Текст2.Text = CSng(Summa)


‘РАСЧЕТ КОЭФФИЦИЕНТА “А”


Dim a As Single


a = Текст1.Text / Текст2.Text


Текст3.Text = CSng(a)


For I = 1 To 7


MSFlexGrid1.TextMatrix(I, 3) = Текст3.Text * MSFlexGrid1.TextMatrix(I, 2)


Next I


For I = 1 To 7


MSFlexGrid1.TextMatrix(I, 4) = Ccur(Sqr((((MSFlexGrid1.TextMatrix(I, 3) – MSFlexGrid1.TextMatrix(I, 1)) / MSFlexGrid1.TextMatrix(I, 1)) * 100) ^ 2))


Next I


‘СОРТИРОВКА


Dim min As Single


Dim max As Single


min = MSFlexGrid1.TextMatrix(7, 4)


‘НАХОЖДЕНИЕ MIN


For I = 1 To 7


If MSFlexGrid1.TextMatrix(I, 4) < min Then min = MSFlexGrid1.TextMatrix(I, 4)


Next I


Текст4.Text = CSng(min)


max = MSFlexGrid1.TextMatrix(1, 4)


‘НАХОЖДЕНИЕ MAX


For I = 1 To 7


If MSFlexGrid1.TextMatrix(I, 4) > max Then max = MSFlexGrid1.TextMatrix(I, 4)


Next I


Текст6.Text = CSng(max)


'ЗАКОН СТЕФАНА-БОЛЬЦМАНА


'V=k*Q^4, где k-постоянная Стефана-Больцмана: k = 5.67 * 10 ^ -8


Dim z(7) As Single, W(7) As Single


For I = 1 To 7


z(I) = 0.0000000567 * ((MSFlexGrid1.TextMatrix(I, 2) + 273) ^ 4 – 273 ^ 4)


‘V=AZ


W(I) = 0.1 * Текст3.Text * z(I)


'ВЫВОД СКОРОСТИ ОХЛАЖДЕНИЯ


Список2.AddItem (Ccur(W(I)))


Next I


End Sub


Private Sub mnuВключить_Click()


'ВКЛЮЧЕНИЕ КАЛЬКУЛЯТОРА


‘OLE1.SourceDoc = “C:WINDOWSCALC.EXE”


OLE1.Action = 7


End Sub


Private Sub mnuВыход_Click()


End


End Sub


Private Sub mnuОткрыть_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


‘АВТОМАТИЧЕСКИЙ ВВОД


Open “A:Данные.txt” For Input As #1


For I = 1 To 7


Input #1, V(I), Q(I)


MSFlexGrid1.TextMatrix(I, 1) = V(I)


MSFlexGrid1.TextMatrix(I, 2) = Q(I)


Next I


Close #1


End Sub


Private Sub mnuСкрыть_Click()


‘СКРЫТЬ ВРЕМЯ


Часы1.Enabled = False


Текст5.Text = “”


End Sub


Private Sub mnuПоказать_Click()


‘ПОКАЗАТЬ ВРЕМЯ


Часы1.Enabled = True


Часы1.Interval = 250


End Sub


Private Sub Часы1_Timer()


'ВЫВОД ВРЕМЕНИ


Текст5.Text = CStr(Time)


End Sub


Значения свойств объектов:


VERSION 5.00


Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"


Begin VB.Form Форма1


Caption = "КУРСОВАЯ РАБОТА"


ClientHeight = 4905


ClientLeft = 165


ClientTop = 735


ClientWidth = 6660


LinkTopic = "Form1"


ScaleHeight = 4905


ScaleWidth = 6660


StartUpPosition = 3 'Windows Default


Begin VB.ListBox Список2


Height = 1425


ItemData = "КУРСОВАЯ РАБОТА.frx":0000


Left = 3600


List = "КУРСОВАЯ РАБОТА.frx":0002


TabIndex = 16


Top = 3240


Width = 1095


End


Begin VB.ListBox Список1


Height = 1425


ItemData = "КУРСОВАЯ РАБОТА.frx":0004


Left = 2400


List = "КУРСОВАЯ РАБОТА.frx":0006


TabIndex = 15


Top = 3240


Width = 1095


End


Begin VB.TextBox Текст6


Height = 285


Left = 5040


TabIndex = 14


Top = 3480


Width = 1095


End


Begin VB.TextBox Текст5


Height = 285


Left = 5280


TabIndex = 13


Top = 360


Width = 855


End


Begin VB.TextBox Текст 4


Height = 285


Left = 5040


TabIndex = 12


Top = 2880


Width = 1095


End


Begin VB.TextBox Текст 3


Height = 285


Left = 5040


TabIndex = 11


Top = 2280


Width = 1095


End


Begin VB.TextBox Текст 2


Height = 285


Left = 5040


TabIndex = 10


Top = 1680


Width = 1095


End


Begin VB.TextBox Текст 1


Height = 285


Left = 5040


TabIndex = 9


Top = 1080


Width = 1095


End


Begin VB.Timer Часы1


Interval = 250


Left = 4800


Top = 3840


End


Begin VB.CommandButton Комманда6


Caption = "ВЫХОД"


Height = 195


Left = 240


TabIndex = 7


Top = 4440


Width = 1575


End


Begin VB.CommandButton Комманда 5


Caption = "ПРОВЕРКА"


Height = 195


Left = 240


TabIndex = 6


Top = 4200


Width = 1575


End


Begin VB.CommandButton Комманда 4


Caption = "ПОГРЕШНОСТЬ"


Height = 195


Left = 240


TabIndex = 5


Top = 3960


Width = 1575


End


Begin VB.CommandButton Комманда 3


Caption = "Vрасч.=AQ"


Height = 195


Left = 240


TabIndex = 4


Top = 3720


Width = 1575


End


Begin VB.CommandButton Комманда 2


Caption = "РЕШЕНИЕ"


Height = 195


Left = 240


TabIndex = 3


Top = 3480


Width = 1575


End


Begin VB.CommandButton Комманда 1


Caption = "ВВЕСТИ"


Height = 195


Left = 240


TabIndex = 2


Top = 3240


Width = 1575


End


Begin VB.CheckBox Проверка1


Caption = " АВТОМАТИЧЕСКИЙ ВВОД"


Height = 375


Left = 120


TabIndex = 1


Top = 240


Width = 2775


End


Begin MSFlexGridLib.MSFlexGrid MSFlexGrid1


Height = 2055


Left = 0


TabIndex = 0


Top = 840


Width = 4935


_ExtentX = 8705


_ExtentY = 3625


_Version = 393216


Rows = 8


Cols = 5


End


Begin VB.OLE OLE1


Class = "Package"


Height = 495


Left = 5280


OleObjectBlob = "КУРСОВАЯ РАБОТА.frx":0008


SourceDoc = "C:WINDOWSCALC.EXE"


TabIndex = 24


Top = 3840


Width = 855


End


Begin VB.Label Метка8


Caption = " ПРОВЕРКА"


Height = 255


Left = 3600


TabIndex = 23


Top = 3000


Width = 1095


End


Begin VB.Label Метка 7


Caption = " A=V/Q"


Height = 255


Left = 2280


TabIndex = 22


Top = 3000


Width = 1095


End


Begin VB.Label Метка 6


Caption = " Max V(I), %"


Height = 255


Left = 5040


TabIndex = 21


Top = 2640


Width = 1095


End


Begin VB.Label Метка 5


Caption = " Min V(I), %"


Height = 255


Left = 5040


TabIndex = 20


Top = 3240


Width = 1095


End


Begin VB.Label Метка 4


Caption = " Коэфф-нт А"


Height = 255


Left = 5040


TabIndex = 19


Top = 2040


Width = 1095


End


Begin VB.Label Метка 3


Caption = " Сумма Q(I)"


Height = 255


Left = 5040


TabIndex = 18


Top = 1440


Width = 1095


End


Begin VB.Label Метка 2


Caption = " Сумма V(I)"


Height = 255


Left = 5040


TabIndex = 17


Top = 840


Width = 1095


End


Begin VB.Label Метка 1


Caption = "ТЕКУЩЕЕ ВРЕМЯ"


Height = 255


Left = 3720


TabIndex = 8


Top = 360


Width = 1575


End


Begin VB.Menu mnuФайл


Caption = "Файл"


Begin VB.Menu mnuОткрыть


Caption = "Открыть"


End


Begin VB.Menu mnuВыход


Caption = "Выход"


End


End


Begin VB.Menu mnuВремя


Caption = "Время"


Begin VB.Menu mnuПоказать


Caption = "Показать"


End


Begin VB.Menu mnuСкрыть


Caption = "Скрыть"


End


End


Begin VB.Menu mnuКалькулятор


Caption = "Калькулятор"


Begin VB.Menu mnuВключить


Caption = "Включить"


End


End


End


Attribute VB_Name = "Форма1"


Attribute VB_GlobalNameSpace = False


Attribute VB_Creatable = False


Attribute VB_PredeclaredId = True


Attribute VB_Exposed = False


Рабочая форма с данными:



Решение задачи с помощью MathCad.


Вычисление суммы элементов массивов:



Относительная погрешность:




Расчет скорости охлаждения по закону Стефана: V=kT^4


Постоянная Стефана-Больцмана:





График №1 построен по данным, а №2- по расчетам.


Решение задачи в Excel
















































































V(I)


Q(I)


V(I) расч


V(I), %


8,81


220


7,15


18,84222


7,4


200


6,5


12,16216


6,1


180


5,85


4,098361


4,89


160


5,2


6,339468


3,88


140


4,55


17,26804


3,02


120


3,9


29,13907


2,3


100


3,25


41,30435


36,4


1120


A=V/Q


КОЭФ. А


Z


СТЕФАНА


0,040045


0,0325


303,4484467


9,862075


0,037


252,3155307


8,200255


0,033889


207,2734376


6,736387


0,030563


167,8181271


5,454089


0,027714


133,4673316


4,337688


0,025167


103,7605564


3,372218


0,023


78,25907956


2,54342



Графики зависимостей:




Заключение:


На основании полученных в программах данных:


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

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Курс I группа 517 Дисциплина: информатика. работа

Слов:3000
Символов:29630
Размер:57.87 Кб.