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

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

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

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

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

процессов

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

Страницы: 1, 2



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.