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


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

Санкт-Петербургский государственный технологический институт
( Технический университет)
Кафедра Математического моделирования и оптимизации химико-технологических процессов
Факультет 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 мильонов к студенческой карме :

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

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

Сейчас смотрят :

Реферат Торговый маркетинг сущность основы и содержание
Реферат Криминологическая характеристика личности преступника
Реферат Экономико-географическое и политическое устройство государства Новая Зеландия
Реферат Арголанд страна из мира фантастики. Однако жизнь ее обитателей, мастерски изображенная польским писателем Янушем Зайделем, настолько понятна нам, что роман воспринимается как реалистическое произведение
Реферат Привлечение организациями физических лиц к выполнению работ по оказанию услуг на основе гражданско-правовых договоров
Реферат Глухие испанские художники: Франсиско Хосе де Гойя и Роберто Готье Прадес
Реферат А. П. Анисимов, Ю. Ю. Ветютнев Новый вид юридической ответственности?
Реферат Матэрыалы справаводства переяду Вялікага Літойскага(ХІV-XVIII ст.). "Літойськая метрыка"
Реферат 00 Фән һәм мәдәниятнең гомуми мәсьәләләре Общие вопросы науки и культуры
Реферат Взаимодействие Агентства Республики Казахстан по регулированию и надзору финансового рынка и финансовых 2
Реферат Путешествие к трансцендентному впечатления от философской книги Николая Бердяева Самознание
Реферат Митрофан Воронежский
Реферат Творческое мышление причины возникновения и способы достижения
Реферат Долгие годы астрономы разных стран мира наблюдали на Луне непонятную активность
Реферат Аналитический обзор книги Л. А. Левенталь, У. Сэйвилл "Программирование на языке ассемблера для микропроцессоров 8080 и 8085"