на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


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


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

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

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

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

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



на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.