Реферат по предмету "Кибернетика"


Создание программных продуктов для решения задач

Санкт-Петербургский государственный технологический институт
( Технический университет)
Кафедра Математического моделирования и оптимизации химико-технологических процессов
Факультет 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 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) 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) 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
Рабочая форма с данными:
[pic]
Решение задачи с помощью MathCad.
[pic] Вычисление суммы элементов массивов:
[pic] [pic] [pic] [pic]
Относительная погрешность:
[pic] [pic] [pic]
[pic] [pic] [pic] [pic] [pic]
Расчет скорости охлаждения по закону Стефана: V=kT^4
[pic] [pic] Постоянная Стефана-Больцмана:
[pic]
[pic] [pic]
[pic] [pic]
График №1 построен по данным, а №2- по расчетам.
Решение задачи в Excel
| | | V(I) расч | V(I), % | |V(I) |Q(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 |
Графики зависимостей:
[pic]
[pic]
Заключение:
На основании полученных в программах данных: расчетов и графиков, можно сделать вывод, что наиболее прие-млемым языком программирования является Visual Basic, а закон наиболее точно дающий схожие результаты с данными опыта является закон Стефана.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.