Приложение. Задания для расчетов




Создание полей

Описание полей

Поля таблицы описываются с помощью объекта Field, который содержит всю информацию о поле таблицы данных. Для каждого поля следует указать имя и тип. В зависимости типа поля описание других свойств может быть обязательным или нет. Существуют 17 свойств объекта Field. С их помощью можно определять размер и тип поля, и так же является это поле «родным» Microsoft Jet или это присоединенное поле внешней базы. Visual Basic распознает 14 различных типов полей данных.

Типы полей данных

Тип поля данных Размер Тип данных в VB Комментарии
BOOLEAN   Boolean Хранит только 0 или 1
BYTE   Integer Хранит только от 0 до 255
COUNTER   Long Автоматически наращиваемый тип Long
CURENCY   Curency 15 позиций слева от десятичной точки и 4 справа
DATETIME   Date/Time Дата хранится слева от деc. Точки, а время - справа
DOUBLE   Double  
GUID   (нет) Используется для хранения глобально уникальных идентификаторов
INTEGER   Integer  
LONG   Long  
LONGBINARY V (нет) Используется для OLE – объектов
MEMO V String Длина около 1,2 Гб
SINGLE   Single  
TEXT V String Ограничено 255 – ю байтами

Многие из типов полей данных понятны и поэтому чуть подробнее опишем только некоторые из них.

· Поля типа LONGBINARY предназначены для хранения изображений и OLE – объектов;

· Поле BOOLEAN чаще всего применяется для хранения результатов выбора в связанных флажках, где 1 – True, а 0 – False. Но будьте осторожны при вводе информации в эти поля, т.к. любое отличное от 0 число будет преобразовываться в 1;

· Поле типа BYTE воспринимает только числа от 0 до 255, любое другое значение вызовет ошибку 524;

· Тип поля COUNTER (счетчик) является автоматически наращиваемым и очень часто применяется в качестве уникального первичного ключа. Оно предназначено только для чтения;

· Поле типа GUID используется для хранения 128 – разрядного числа специального типа;

Поля создаются с помощью метода CreateField. Имеются два способа создания полей.

Первый способ

С помощью метода CreateField определяем имя поля, тип и размер.

'Объявляем переменные

Dim F1 As Field, F2 As Field, F3 As Field

'Устанавливаем имя, тип и размер поля

Set F1 = NewTbl.CreateField (“FirstName”, dbText, 20)

Set F2 = NewTbl.CreateField (“LastName”, dbText, 20)

Set F3 = NewTbl.CreateField (“Age”, dbInteger)

После того как поля, включаемые в таблицу, описаны, при помощи метода Append объекта TableDef, эти поля добавляются к таблице.

NewTbl.Fields.Append F1

NewTbl.Fields.Append F2

NewTbl.Fields.Append F3

Второй способ

Можно вызвать метод CreateField без всяких параметров, а имя, тип и размер установить потом при помощи оператора присваивания.

'Объявляем переменную

Dim F1 As Field

'Создаем поле

Set F1 = NewTbl.CreateField ()

'Свойства поля устанавливаем явно

F1.Name = “FirstName”

F1.Type = dbText

F1.Size = 20

После того как поле, включаемое в таблицу, описано, при помощи метода Append объекта TableDef, оно добавляется к таблице:

NewTbl.Fields.Append F1

Установка факультативных свойств полей

Кроме имени поля, типа хранимых в нем данных и размера поля, можно определить еще некоторые свойства поля влияющие на его работу.

Первым из этих свойств является Attributes. При создании полей используются два его основных значения. Первое – автоинкремент – задает приращение значения поля БД всякий раз, когда добавляется новая запись. С помощью данного свойства можно организовать счетчик записей, чтобы обеспечить уникальное значение этого поля. Тогда поле с автоинкрементом можно использовать, как поле первичного ключа (Primary Key).

Примечание. Автоинкремент можно установить только для полей с типом данных Long.

'Объявляем переменную

Dim F1 As Field

'Создаем поле

Set F1 = NewTbl.CreateField (“ID”, dbLong)

'Устанавливаем свойства автоинкремента

F1.Attributies = dbAuotoIncrField

'Добавляем к таблице

NewTbl.Fields.Append F1

Другое факультативное значение – updatable позволяет разрешать или запрещать изменение поля. Обычно эта установка не используется при начальном создании поля.

Другие константы, которые можно использовать вместе со свойством Attributes, приведены ниже. Этому свойству можно задавать сложные значения, для чего следует объединить значения отдельных констант и присвоить свойству их сумму.

Константа Функция
dbFixedField Длина поля – фиксирована
dbVariebleField Длина поля может изменяться (только для текстовых)
dbAuotoIncrField Ядро БД автоматически увеличивает значение поля
dbUpdatableField Значение поля может изменяться

 

Кроме свойств Attributes для отдельных полей можно определять некоторые другие свойства. Для изменения значений этих свойств, также как и для свойства Attributes, используются операторы присваивания; эти значения нельзя установить при вызове метода CreateField.

Свойство Комментарии
AllowZeroLenght Определяет, может ли поле Text или Memo иметь нулевую длину. Значение True – разрешает ввод пустых строк.
DefaulValue Позволяет задавать значение поля по умолчанию
Required Определяет, обязательно ли поле должно иметь значение
ValidationRule Устанавливает условие, которому должно отвечать поле для того, чтобы запись можно было обновить
ValidationText Определяет сообщение об ошибке, выводимое в том случае, когда нарушается правило проверки достоверности поля(ValidationRule)

'Объявляем переменные

Dim F3 As Field

'Устанавливаем имя, тип и размер поля

Set F3 = NewTbl.CreateField (“Age”, dbInteger)

'Устанавливаем факультативные свойства

F3.ValidationRule = “Age” > 0

F3.ValidationText = “Возраст должен быть больше 0”

'Добавляем к таблице

NewTbl.Fields.Append F3

Удаление полей

Для удаления поля используется метод Delete.

'Удаляем из таблицы NewTbl поле Age

NewTbl.Fields.Delete “Age”

или

'Удаляем из БД NewDB, таблицы с имене Name поле Age

NewDB.TableDefs(Name).Fields.Delete “Age”

Итак, вы создали БД, затем таблицу (или таблицы), описали и присоединили поля к таблице и кажется БД готова. Но нет! БД еще немного сыровата. Есть еще один ключевой момент – индексы. Индексами или индексными полями, как их иногда называют, являются знакомые вам ключевые поля. Необходимо отметить, что почти во всех БД индексы используются только для ускорения обработки больших файлов и выполняют небольшую роль в поддержке отношений между таблицами. В используемых Visual Basic БД (mdb -файлы), ключевые поля используют и для установки ограничения целостности, и для ускорения поиска и для выборки информации.

Создание индексов

Способ создания индексов тесно связан с созданием самой таблицы. Для каждого индекса нужно определить имя, описать поля, включаемые в индекс, и указать, будет ли данный индекс первичным и допускаются ли повторяющиеся значения в полях образующих индексный ключ.

Создание первичного ключа (PrimaryKey)

Главной задачей первичного ключа является поддержка внутренней целостности таблицы и поэтому в ней не может быть две одинаковой записи. Обычно первичный ключ используют в полях, где содержатся номера телефонов, счета фактур и т.д. Для создания индекса нужно выполнить следующие действия

(считаем, что БД и Таблица уже созданы, поля описаны и добавлены к таблице):

· При помощи метода CreateIndex объекта TableDef, создаем объект Index;

· Устанавливаем свойства индекса;

· Добавляем индекс к таблице;

Здесь приводится код создания индекса:

Dim Idx1 As Index

'Создаем объект индекс

Set Idx1 = NewTbl.CreateIndex("PrimaryKey")

'Устанавливаем его свойства

Idx1.Name = "PrimaryKey"

Idx1.Primary = True

'Свойство Fields должно быть таким же, как имя поля, которое становится индексным

Idx1.Fields = "ID"

'Прибавляем индекс к таблице

NewTbl.Indexes.Append Idx1

После выполнения всех этих процедур можно добавить таблицу к БД.

NewDB.TableDefs.Append NewTbl

После этого созданную БД лучше закрыть

NewDB.Close

 

Теперь нужно занести данные в базу.

'Открываем БД

Set NewDB = OpenDatabase(strDBPath, False, False)

'Открываем recordset

Set rs = NewDB.OpenRecordset("ttt", dbOpenDynaset)

Теперь в цикле выполняем такие команды:

'Подготавливаем recordset к введению новой

записи

rs.AddNew

rs("Field_X") = X 'записываем X в БД

rs("Field_Y") = Y 'записываем Y в БД

 

'С помощью Update обновляем данные в БД

rs.Update

 

Порядок выполнения работы

1. Создайте форму, на которой разместите 2 кнопки: “Запуск” и “Выход из программы”, и таблицу MSFlexGrid

(рис.1)

 

 

 
 

рис.1

2. При нажатии на кнопку “Запуск” должен производиться расчет нескольких значений формулы, занесение этих значений в таблицу MSFlexGrid, а также – в таблицу созданной Вами базы данных. Свой вариант возьмите в заданиях к лабораторной работе №8 по VB (cм. в приложении).

3. В процедуру Command1_Click() вставьте команды создания базы данных, в ней – таблицы с полями. В этих полях выводите результаты расчета.

4.

Приложение. Задания для расчетов

ВАРИАНТЫЗАДАНИЙ

1. В сферическом треугольнике даны два угла и сторона между ними: a = 14027,3¢; В = 100013,5¢; С = 56044,7¢. Составить программу для нахождения А, b и С, используя расчетные формулы:

 

2. Определить (20 + n) значений сопротивления L воздуховода при одновременном изменении скорости воздуха V в трубопроводе от 2 до 18 м/c и диаметра трубопровода от 0,2 до 0,6 м по формуле:

 

3. Определить (15 + n) значений угла d отклонения струи пара в косом срезе сопла при одновременном изменении давления перед соплами P 0 от 1,2*105 до 4,8*105 Па и изменении давления за соплами P 1 от 0,5*105 до 1,0*105 Па. Ось сопла наклонена под углом a = 160, показатель адиабаты расширения k = 1,3.

 

4. Определить (25 - n) значений температуры в конце сжатия Т с при одновременном изменении температуры в начале сжатия Т а от 353 до 373 0К и степени сжатия e от 10 до 12 (показатель политропы сжатия m = 1,6): .

 

5. Выполнить расчет и вывести на печать значения действительной X(w) и мнимой Y(w) частей амплитудно-фазовой частотной характеристики разомкнутой системы автоматического регулирования частоты вращения вала дизеля в диапазоне частот от 0 до (5 + 0б2 n) с -1 с шагом 0б05 по выражениям:

; .

 

6. Определить и вывести на печать значения термического к.п.д. рабочего цикла двигателя внутреннего сгорания со смешанным подводом тепла (цикл Тринклера):

ht ,

где: e - степень сжатия изменяется от (13 - 0,1 n) до 11,0 с шагом 0,2; l = 1,3 - степень повышения давления; r = 1,4 - степень предварительного расширения; k = 1,3 - показатель адиабаты сжатия и расширения.

 

7. Составить программу расчета и вывода на экран давления насыщения Р н и скрытой теплоты парообразования r для фреона-22 при изменении температуры от - 40 0С до +(70 - n) 0С с интервалов в 5 0С, используя эмпирическую зависимость:

;

.

 

8. Рассчитать и вывести на экран (25 + n) значений коэффициентов гармонической линеаризации h S и h c нелинейного звена типа «зона люфт» в зависимости от отношения амплитуды колебаний а к величине люфта b (а/b изменяется от 1 до 100) по формулам:

h S(a/b) ;

h c(a/b) .

 

9. Рассчитать и вывести на экран (35 + n) значений функции yb истечения газов из цилиндра двигателя внутреннего сгорания в период принужденного выпуска в диапазоне изменения перепада давлений от 0,5 до 1,0 с шагом 0,05:

yb

где: Р m - давление в выпускном коллекторе; Р н - давление в цилиндре в начале продувки; k = 1,3 - показатель адиабаты расширения.

 

10. Рассчитать и вывести на экран (30 + n) значений коэффициента синхронизирующего момента М S синхронного генератора в зависимости от угла Q выбега ротора относительно поля статора по формуле:

,

где: E q = 2,2 - ЭДС по поперечной оси, соответствующая установившемуся режиму, относительно которого происходят колебания; u = 1 - напряжение; x d = 1,5, x q = 0,705 - реактивные сопротивления по продольной и поперечной осям. Угол Q изменяется от0 до 300.

 

11. Определить и вывести на печать коэффициенты a и b зависимости по формулам:

; ;

где x i и y i - произвольная выборка значений аргумента и функции соответственно, размерностью k = (n +20).

 

12. Определить (30 + n) значений температуры воздуха Т н после первой ступени центробежного нагнетателя в диапазоне изменения перепада давления от 1,5 до 2,0:

где Т 0 = 295 0 К - температура воздуха на входе в нагнетатель; Р н и Р 0 - давление воздуха на выходе и на входе в нагнетатель соответственно; m = 1,7 - показатель политропы.

 

13. Определить (25 + n) значений критерия Нуссельта Nu придвижении воздуха в шахматных пучках труб котла в диапазоне изменения числа Рейнольдса Re от 100 до 2000:

 

14. Рассчитать и вывести на экран (28 + 2 n) значений кривых D - разбиения t(w) и æ(w) параллельно работающих дизель-генераторов в диапазоне частот w от 0 до 100 с -1:

t ;

 

æ ;

где t и æ - соответственно тепловое запаздывание и коэффициент усиления прииводного двигателя.

 

15. Определить координаты центра тяжести системы из k = (19 + n) материальных точек заданных произвольно, с массами mi (i =1,2,3,..., k) также заданными произвольно по формулам:

 

16. Рассчитать и вывести на экран (40 + n) значений коэффициента трения x для прямых труб в диапазоне изменения числа Рейнольдса Re от 103 до 104:

x

 

17. Рассчитать и вывести на экран в диапазоне частот w от 0 до 60 с -1 (45 + n) значений амплитудно-частотной характеристики А (w) асинхронного генератора, работающего параллельно с сетью большой мощности, по формуле:

А(w)

где k r = 25,6; T r = 0,021 c - соответственно коэффициент усиления и постоянная времени асинхронного генератора.

 

18. Определить и вывести на печать коэффициенты a и b зависимости по формулам:

;

где x i и y i - произвольная выборка значений аргумента и функции соответственно, размерностью k = (n +25).

 

19. Рассчитать и вывести на экран (25 + n) значений логарифмической амплитудно-частотной характеристики L (w) ротора параллельно работающего синхронного дизель-генератора в диапазоне частот w от 0 до 50 с -1:

;

где: kr = 0,55; wr = 19,6; er = 0,3 - соответственно коэффициент усиления, резонансная частота и декремент затухания ротора генератора.

 

20. Определить и вывести на печать (50 - n) значений КПД hк винтового компрессора в диапазоне изменения степени повышения давления e от 2 до 20 по формуле:

 

hк

 

21. Определить и вывести на печать статистические показатели произвольно заданного массива чисел х размерностью k = (30 + n):

математическое ожидание: ;

среднеквадратическое отклонение: d ;

коэффициент асимметрии: А ;

коэффициент эксцесса: Е .

 

22. В сферическом треугольнике даны три стороны: a = 123047,2¢; b = 7102,7¢; c = 161018,4¢. Написать программу для определения А, B и С, используя расчетные формулы:

 

23. Определить и вывести на экран (20 + n) значений коэффициента теплоотдачи a при кипении воды в большом объеме, в зависимости от изменения давления РS от 60 до 100 бар:

a ;

где q = 20*104 Вт/м 2.

 

24. Рассчитать и вывести на экран (25 + n) значений тепла, проходящего через 1 м 2 "чистой" стенки котла, при изменении температуры t 1 от 290 0 С до 230 0 С:

;

где t2 = 200 0 С; d1 = 20 мм; d2 =2 мм; l1 = 50 ккал /(м*ч* 0С); l2 = 1,0 ккал /(м*ч* 0С).

 

25. Определить координаты центра тяжести системы из k = (25 + n) материальных точек заданных произвольно, с массами mi (i =1,2,3,..., k) также заданными произвольно по формулам:

 

26. Определить ориентированную площадь S многоугольника с вершинами в точках P1,...,P(15 - n), координаты которых на плоскости заданы произвольно:

 

27. Определить с точностью до e = 10- 6 длину эллипса по формуле:

где: l = ; а и b задать произвольно.

 

28. Определить и вывести на экран (12 + n) значений средней логарифмической разности температур холодильного агента и забортной воды:

если температура забортной воды, выходящей из конденсатора t зв2 всегда выше на 5 0С температуры забортной воды на входе в конденсатор t зв1, которая изменяется в диапазоне (14...26) 0С. Температуру конденсации tк принять постоянной для стандартных условий 30 0С.

 

29. Определить и вывести на экран (12 + n) значений коэффициента объемных потерь фреонового компрессора при одновременном изменении величины относительного мертвого пространства с от 2 до 6% и степени сжатия компрессора Р к/ Р 0 от 5 до 8. Показатель политропы расширения для фреоновых машин n принять равным 1:

lс

 

30. Составить программу для определения суммы квадратов максимального и минимального элементов двухмерной матрицы размерностью 6х9. Численные значения элементов матрицы задать произвольно.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: