Вход

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

Курсовая работа по информатике и информационным технологиям
Дата добавления: 23 июля 2008
Язык курсовой: Русский
Word, rtf, 2 Мб (архив zip, 107 кб)
Курсовую можно скачать бесплатно
Скачать
Данная работа не подходит - план Б:
Создаете заказ
Выбираете исполнителя
Готовый результат
Исполнители предлагают свои условия
Автор работает
Заказать
Не подходит данная работа?
Вы можете заказать написание любой учебной работы на любую тему.
Заказать новую работу


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

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



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




Факультет 5

Курс I

Группа 517




Дисциплина: информатика.




КУРСОВАЯ РАБОТА



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





Студент: Хохленко Сергей Дмитриевич






Научный руководитель:


Содержание


Введение…………………………………………………………………………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) расчетного и относительную погрешность.


  1. Вычисление А оформить в виде подпрограммы общего вида.


  1. Напечатать таблицы.


  1. Построить графики зависимостей V(I) расчетного и V(I) от Q(I).


  1. Выбрать закон, по которому расчетные значения 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:\WINDOWS\CALC.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:\WINDOWS\CALC.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, а закон наиболее точно дающий схожие результаты с данными опыта является закон Стефана.







© Рефератбанк, 2002 - 2017