Скачиваний:
13
Добавлен:
30.09.2018
Размер:
356.86 Кб
Скачать

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

2.1 Откройте новый проект:

  • запуститe среду программирования Visual Basic, появится окно среды с диалоговым окном нового проекта (New Project), в котором указан установленный по умолчанию тип проектаStandard.exe.

  • в диалоговом окне New Projectнажать кнопкуOpen. После запуска среды программирования появляется форма, которая по умолчанию называетсяForm1,

  • выведите на экране окна Properties Window и Project Explorer, если они невидимы. Обратите внимание на то, что в окне Project Explorer в папке Forms имеется одна форма Form1 с именем (Form1).

2.3 Добавьте в проект новую форму – форму 2:

  • выберите в строке меню системы программирования пункт Project,

  • выполните команду Add Form. В появившемся окне Add Form на закладке New предлагается по умолчанию Form,

  • в окне Add Form нажмите кнопку Open. Появляется окно проекта с новой формой, которая по умолчанию называется Form2. Обратите внимание на то, что в окне Project Explorer в папке Forms появилась новая форма Form2 с именем по умолчанию (Form2).

2.4 Задайте свойства Form1и Form2 согласно таблице 2.1. Переход от одной форме к другой осуществляется двойным щелчком на пиктограмме формы в окнеProject Explorer.

Таблица 2.1

Объект

Свойство

Значение

Form1

Name

frmSa

Caption

Исходные данные

Height

6000

Width

3000

Top

10

BoderStyle

1- Fixed Single

BackColor

Светло-желтый

Form2

Name

frmTabl

Caption

Параметры стандартной атмосферы

Height

6000

Width

6000

Left

3000

Top

10

BoderStyle

1- Fixed Single

2.5 Задайте пути для сохранения проекта в своей личной папке:

  • перейдите в окно Project Explorer и убедитесь в том, что активна форма с именемfrmSa,

  • откройте меню File,

  • в открывшемся диалоговом окне Save File As :

  • убедитесь, что открыта ваша личная папка на диске Z:,

  • укажите имя файла satm4-1, нажмите на кнопку“Save“,

  • перейдите в окно Project Explorerи сделайте активной форму с именемfrmTabl,

  • откройте меню File,

  • в открывшемся диалоговом окне Save File As :

  • убедитесь, что открыта ваша личная папка на диске Z:,

  • укажите имя файла satm4-2, нажмите на кнопку“Save“,

  • откройте меню File,

  • выполните команду Save Project As,

  • в открывшемся диалоговом окне Save Project As :

  • убедитесь, что открыта ваша личная папка на диске Z:,

  • введите имя файла satm4(по умолчанию оно будетProject1) и нажмите на кнопку“Save“

2.6 Расположите ЭУ на форме 1 (frmSa)

  • перейдите в окно Project Explorer и сделайте активной форму с именемfrmSa,

  • расположите на форме командные кнопки Command1, Command2, Command3, Command4и текстовые поляText1, Text2, Text3,

  • задайте им свойства согласно таблице 2.2 и 2.3:

Таблица 2.2

Объект

Свойство

Значение

Группа командных кнопок

Font**

Arial, (полужирный) Bold,12

MousePoiter

NoDrop

Command1

Name

CmdCnl

Caption

&Cancel

Cancel

True

TabIndex

5

Command2

Name

CmdHlp

Caption

&Help

TabIndex

4

Command3

Name

CmdOk

Caption

&OK

TabIndex

3

Default

True

Command4

Name

CmdTbl

Caption

&Table

Enabled

False

Таблица 2.3

Объект

Свойство

Значение

Группа текстовых полей

Font**

Arial, (полужирный) Bold,12

ForeColor

синий

MaxLenght

5

Text1

Name**

TxtHn

Text

(пустая строка)

TabIndex

0

Text2

Name

TxtHpr

TabIndex

1

Text

(пустая строка)

Text3

Name

TxtHk

TabIndex

2

Text

(пустая строка)

  • расположите на форме метки Label1, Label2, Label3и задайте им свойства согласно таблице 2.4:

Таблица 2.4

Объект

Свойство

Значение

Группа меток

AutoSize

True

Label1

Caption

Начальная высота (м)

Label2

Caption

Приращение высоты (м)

Label3

Caption

Конечная высота (м)

2.7 Расположите ЭУ на форме 2 (frmTabl)

  • перейдите в окно Project Explorer и сделайте активной форму с именемfrmTabl,

  • расположите на форме 2 командную кнопку Command1и задайте ей свойства согласно таблице 2.5:

Таблица 2.5

Объект

Свойство

Значение

Command1

Name

CmdExt

Caption

&Exit

  • расположите на форме 2 текстовое поле Text1(с размерами на всю форму) и задайте ему свойства согласно таблице 2.6:

Таблица 2.6

Объект

Свойство

Значение

Text1

Name**

TxtTbSa

Font**

Arial, (полужирный) Bold,12

ForeColor

синий

ScrollBars

2-Vertical

MultiLine

True

Text

(пустая строка)

2.8 Создайте код для обработки события нажатие кнопки Cancel(как в работе №2)

2.9 Создайте код для обработки события нажатие кнопки Table.

  • перейдите в окно Project Explorerи сделайте активной форму с именемfrmSa,

  • введите в тело процедуры Private Sub cmdTbl_Click() текст

rmTabl.Show

frmSa.CmdTbl.Enabled = False

2.10 Создайте код для обработки события нажатие кнопки Ok.

  • перейдите в окно Project Explorerи сделайте активной форму с именемfrmSa,

  • введите в тело процедуры Private Sub cmdOk_Click() текст

cmdTbl. Enabled = True

2.11 Создайте код для обработки события нажатие кнопки Exit.

  • перейдите в окно Project Explorerи сделайте активной форму с именемfrmTabl,

  • введите в тело процедуры Private Sub cmdExt_Click() текст

frmSa.Show

Me.Hide

2.12 Сохраните проект в своей личной папке.

  • перейдите в окно Project Explorerи убедитесь в том что активна форма с именемfrmSa,

  • откройте меню Fileи выполните командуSave satm4-1.frm,

  • перейдите в окно Project Explorerи сделайте активной форму с именемfrmTabl,

  • откройте меню Fileи выполните командуSave satm4-2.frm,

  • откройте меню File и выполните командуSave Project .

2.13 Протестируйте программу

  • запустите программу на выполнение в среде VB5.0,

  • установите курсор на кнопку Okи нажмите клавишуEnter.КнопкаTableстановится доступной,

  • установите курсор на кнопку Tableи нажмите левую клавишу мыши. На экран выводится форма 2,

  • установите курсор на кнопку Tableи нажмите клавишуEnter. Форма 1 становится активной.

  • нажмите клавишу Esc. Обратите внимание на то, что происходит выход из программы с удалением обеих форм с экрана.

2.14 Создайте код обработки события при нажатии кнопки Help, который обеспечивает вывод информационной панели

  • с текстом заголовка "Ввод исходных данных",

  • с пунктами сообщения:

"1. Допустимый диапазон высот от 0 до 15000 м”

“2. Значение начальной высоты должно быть меньше значения конечной высоты"

"3. Приращение высоты должно быть меньше значения конечной высоты

“4. Для запуска - нажать клавишу Enter "

2.15 Протестируйте программу и убедитесь в правильности вывода информационной панели.

2.16 Объедините результаты расчета в двумерный массив gsngSa(1, 100), состоящий из 5 строк и ста колонок, и объявите его глобальным.

Переменная

Имя массива

Расчетные значения высот

gsngSa(1, 100)

Значение давлений для высот

gsngSa(2, 100)

Значение плотности для высот

gsngSa(3, 100)

Значение температуры для высот

gsngSa(4, 100)

Значение скорости звука для высот

gsngSa(5, 100)

  • вызовите окно кода,

  • выберите в списке объектов элемент (General), в списке процедур появится один элементDeclarations,

  • установите режим проверки объявления всех переменных, введя в поле кода следующий текст

Option Explicit,

  • установите нумерацию индексов массива с единицы, введя в поле кода следующий текст

Option Base 1

  • объявите массив gsngSa(5, 100), введя в поле кода текст

Dim gsngSa(5, 100) As Single

2.17 Объявите в процедуре cmdOK_Click()константы как локальные.

Константа

Значение константы

Имя костанты

Давление у земли

101325

sngP0

Коэффициент перевода давления из мм.рт.ст. в н/м2

133.322

sngCfnP

Плотность у земли

1.225

sngR0

Коэффициент перевода плотности из кгс*c24в кг/м3

9.0665

sngCfnR

Температура у земли

288.15

sngT0

Температура на высоте 11000 метров

216.7

sngTh11000

  • выберите в поле кода процедуру cmdOK_Click(),

  • введите перед строкой cmdTbl. Enabled = True следующий текст

Rem Описание констант

Const sngP0 As Single = 101325 ‘Значение давления у земли

  • аналогичным образом объявите остальные константы.

2.18 Объявите другие переменные как локальные

  • введите в процедуру cmdOK_Click()после блока описания констант следующий текст

Rem Описание локальных переменных

Dim sngGradTempH As Single

Dim gsngH_n As Single ‘ Начальное значение высоты

Dim gsngH_pr As Single ’ Приращение значения высоты

Dim gsngH_k As Single ’Конечное значение высоты

Dim sngStpn As Single

Dim j As Integer

Dim k As Integer

Dim m As Integer

2.19 Присвойте переменным начальные значения и организуйте ввод исходных данных

  • введите в процедуру cmdOK_Click()после блока описания локальных переменных следующий текст

Rem Присвоение и ввод переменных

sngGradTempH = 0.0065

  • организуйте ввод переменных - введите

gsngH_n = Val(txtHn.Text)

gsngH_k = Val(txtHk.Text)

gsngH_pr = Val(txtHpr.Text)

  • присвойте значения переменным - введите

j = 1

2.20 Сформируйте в процедуре cmdOK_Click()управляющую структуру

  • введите пред строкой cmdTbl.Enabled = Trueследующий текст

If gsngH_n < 0 Or gsngH_n > 15000 Or gsngH_k < 0 Or gsngH_k > 15000 Then

Rem Вывод сообщения об ошибке ввода высоты

MsgBox "1. Значение высоты или приращения высоты выходят за допустимые пределы " + vbCrLf _

+ "2. Введите значение высоты от 0 до 15000 метров "

Else If gsngH_k <= gsngH_n Then

MsgBox "1. Значение конечной высоты меньше начальной высоты"

TxtHn.Text = "" 'Вывод пустой строки в поле ввода

TxtHk.Text = ""

TxtHpr.Text = ""

Else

gsngSa(1, j) = gsngH_n ‘ Начальное значение высоты присваивается элементу массива с индексом 1.

Rem Расчет параметров атмосферы

End If

2.21 Протестируйте программу

  • запустите программу на выполнение в среде VB5.0,

  • введите в поле ввода начальной высоты значение 1000,

  • введите в поле ввода приращение высоты значение 1000,

  • введите в поле ввода конечной высоты значение 1000,

  • нажмите клавишу Enter. Должна выводиться информационная панель с сообщением об ошибке ввода,

  • закройте информационную панель,

  • введите в поле ввода другие ошибочные значения высот,

  • нажмите клавишу Enter,

  • закройте информационную панель,

  • завершите выполнение программы, нажав значок [X]в заголовке формы.

2.22 Организуйте цикл вычислений с включением управляющей структуры для выбора расчетных зависимостей в зависимости от высоты.

  • после строки “Rem Расчет параметров атмосферы”введите следующие строки

Do While gsngSa(1, j) <= gsngH_k

If gsngSa(1, j) <= 11000 Then

'Формулы расчета для тропосферы

End If

If gsngSa(1, j) > 11000 Then

'Формулы расчета для стратосферы

End If

Rem Расчет параметров цикла

gsngSa(1, j + 1) = gsngSa(1, j) + gsngH_pr ‘ Определение высоты для нового шага цикла

j = j + 1’ Увеличение счетчика количества циклов

Loop

2.23 Закодируйте формулы расчета параметров атмосферы в тропосфере

  • введите в процедуру после строки комментария “Формулы расчета для тропосферы”выражение для расчета давления

gsngSa(2, j) = sngP0 * (1 - gsngSa(1, j) / 44300) ^ 5.256

  • аналогичным образом введите выражения для расчета плотности, температуры и скорости звука.

2.24 Закодируйте формулы расчета параметров стандартной атмосферы в стратосфере

  • после строки комментария “Формулы расчета для стратосферы”введите выражение для расчета пременной sngStpn

sngStpn = -(gsngSa(1, j) - 11000) / 6340

  • для расчета давления в стратосфере введите

gsngSa(2, j) = 169.4 * Exp(sngStpn) * sngCfnP

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

2.25 Подготовьте текстовые поля ввода для ввода новых значений

  • в процедуре cmdOK_Click()перед строкойCmdTbl.Enabled = True- введите

TxtHn.Text = "" 'Вывод пустой строки в поле ввода

TxtHk.Text = ""

TxtHpr.Text = ""

Rem Формирование строк вывода результатов расчета

2.26 Сформируйте строку вывода результатов расчета переменной gstrP_sa

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

Public gstrP_sa As String

  • в процедуре cmdOK_Click()после строки “Rem Формирование строк вывода результатов расчета”сформируйте строку вывода значения высоты – введя

For m = 1 To i

For k = 1 To 5

gstrP_sa = gstrP_sa + Format(gsngSa(k, m), "Scientific") + Space$(2)

Next k

gstrP_sa = gstrP_sa + vbCrLf

Next m

gstrP_sa = "Высота " + " Давление" + " Плотность" + "Температура" _ + "Скорость звука" + vbCrLf + gstrP_sa

2.27 Организуйте вывод строки результатов в форме 2

  • в процедуре Private Sub Form_Activate()после строки введите текст

frmTabl.TxtTbSa.Text = frmSa.gstrP_sa

2.28 Протестируйте программу. При тестировании в первую очередь проверяют правильность расчета при граничных условиях и в характерных точках.

  • запустите программу на выполнение в среде VB5.0,

  • введите в поле ввода начальной высоты значение 0,

  • введите в поле ввода приращенния высоты значение 1000,

  • введите в поле ввода конечной высоты значение 15000,

  • нажмите клавишу Enter. КнопкаTableстановится доступной,

  • нажмите кнопку Table. На экран выводится форма 2. Сравните результаты с табличными значениями

    Высота

    Давление

    Плотность

    Температура

    Скорость звука

    0

    101325

    1,225

    288

    340,28

    11000

    22690

    0,364

    216,6

    294,3

    15000

    12107

    0,194

    216,6

    294,3

  • завершите выполнение программы, нажав значок [X]в заголовке формы.

2.29 Протестируйте программу.

  • запустите программу на выполнение в среде VB5.0,

  • введите в поле ввода начальной высоты значение 0,

  • введите в поле ввода приращенния высоты значение 10,

  • введите в поле ввода конечной высоты значение 15000,

  • нажмите клавишу Enter. Программа не работает. Обьясните причину.

2.30 Устраните ошибку для чего

  • в необходимых местах кода программы вставьте следующие операторы

Dim gsngSa() As Single

Dim i As Integer

i = (gsngH_k - gsngH_n) \ gsngH_pr + 1

ReDim gsngSa(5, i + 1)

  • повторите пунк 2.29 и убедитесь в нормальной работе программы.

2.30 Сохраните разработанный проект.

2.31 Закройте среду программирования

Соседние файлы в папке Лаб_2часть