Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MP_VB-2.doc
Скачиваний:
20
Добавлен:
18.04.2015
Размер:
341.5 Кб
Скачать

Конкатенация строк

Если операндами в выражении являются строки, то операции (+)или(&)приводит к их "сцеплению" - конкатенации, позволяющей формировать из двух или более строк одну длинную. Результат конкатенации заносится в новую строку, а операнды при этом не меняются.

Функции

Рассмотрим функции необходимые для выполнения работы.

CSng(Выражение)- преобразует числовое выражение или строку в число типаSingle.

Val(Cтрока)-преобразует строку цифровых символов в число. Преобразование заканчивается на первом нецифровом символе в строке.

Ехр(Выражение)- вычисляет экспоненту от значения параметра.

Sqr(Выражение) -вычисляет корень квадратный от значения параметра.

Format(ЧисленноеВыражение, СтрокаФормата$) – формирует строку с изображением чисел по определенному шаблону. Шаблон можно задать следующим способом:

  • строкой символов "#", которые резервируют место для одной цифры - незначащие нули в начале или конце числа игнорируются,

  • строкой символов "0" - незначащие нули выводятся,

  • именованным форматом (например, Scientific, Fixed).

Условные операторы (ветвление по условию)

Под ветвлением по условию понимается программная структура, в которой код исполняется или не исполняется в зависимости от выполнения определенного условия.

Классической условной конструкцией является конструкция:

If Логическое выражение Then Оператор

В этой конструкции Операторвыполняется только при условии, чтоЛогическое выражение имеет значениеTrue.

Возможна и другая конструкция:

If Логическое выражение Then

Группа операторов

Else

Вторая группа операторов

End If

В этой конструкции Группа операторов выполняется только при условии, когдаЛогическое выражение имеет значениеTrue, а Вторая группа операторовкогдаFalse.

Комментарии

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

  • позволяют качественно документировать программу,

  • используются для того, чтобы «отключить» (не удаляя) фрагмент программного кода в целях отладки или тестирования программы.

В языке Visual Basic предусмотрены два способа ввода комментариев:

  • применение апострофа (') в любом месте строки (в том числе и в начале),

  • использование зарезервированного слова Rem.

Перенос строк в окне кода

Иногда строка кода Visual Basic получается слишком длинной. Для таких случаев в Visual Basic предусмотрен символ переноса строки (_). При этом необходимо учитывать следующее:

  • символу (_) должен предшествовать пробел,

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

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

2.1 Откройте проект satm2, разработанный в предыдущей работе.

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

2.2.1 Объявите переменные, в которых будут храниться результаты расчета, как глобальные, чтобы обеспечить доступ к ним из других форм проекта. С учетом правил составления имен, задайте для переменных следующие имена:

Переменная

Имя переменной

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

gsngH_r

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

gsngP_h

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

gsngR_h

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

gsngT_h

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

gsngA_h

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

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

Option Explicit,

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

  • объявите переменную gsngH_rкак глобальную, введя в поле кода текст

Public gsngH_r As Single

  • аналогичным образом объявите переменные: gsngR_h, gsngP_h, gsngT_h, gsngA_h.

2.2.2 Объявите в процедуре cmdOK_Click()константы как локальные. На основе анализа расчетных формул и с учетом правил составления имен, примите для констант следующие имена:

Константа

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

Имя константы

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

101325

sngP0

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

133,322

sngCfnP

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

1.225

sngR0

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

9,80665

sngCfnR

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

288.15

sngT0

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

216,7

sngTh11000

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

  • выделите все операторы тела процедуры и удалите их, нажав клавишу Del (Delete),

  • дайте соответствующий комментарий - введите после строки Private Sub cmdOK_Click()следующий текст

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

  • объявите давление у земли как константу - введите следующий текст

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

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

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

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

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

  • для градиента температуры по высоте используйте имя sngGradTempH– введите

Dim sngGradTempH As Single

  • с целью упрощения кода расчетных формул выделите как отдельную переменную показатель степени (имя sngStpn) – введите

Dim sngStpn As Single

  • для объявления переменных и констант, используемых в информационной панели об ошибке ввода высоты - введите

Dim Msg1, Msg2, Msg3, Style, Title, vbYesOnly, vbDefaultButton1, vbCritical

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

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

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

sngGradTempH = 0.0065

Msg1 = "1. Значение высоты выходит за допустимые пределы "

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

Title = “Ошибка ввода”

  • организуйте ввод переменной gsngH_r(для преобразования типа переменной используйте функциюVal) - введите

gsngH_r = Val(txtHn.Text)

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

  • введите перед строкой End Subследующий текст

if gsngH_r < 0 OR gsngH_r > 15000 Then

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

Else

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

End If

2.6 Создайте код для информационной панели, которая будет выводиться на экран при вводе значения высоты с ошибкой

  • для формирования текста сообщения в две строки (переменная Msg3) введите после комментария“Вывод сообщения об ошибке ввода высоты”текст

Msg3 = Msg1 & vbCrLf & Msg2

  • задайте вид информационной панели, присвоив переменной Styleнеобходимые константы - введите

Style = vbYesOnly + vbDefaultButton1 + vbCritical

  • задайте команду для вызова информационной панели – введите

MsgBox Msg3, Style, Title

  • подготовьте текстовое окно к новой попытке ввода - введите

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

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

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

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

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

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

  • введите в поле ввода значение -10,

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

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

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

2.8 Создайте код для расчета параметров стандартной атмосферы

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

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

If gsngH_r< 11000 Then

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

End if

If gsngH_r > 11000 Then

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

End if

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

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

gsngP_h = sngP0*(1- gsngH_r / 44300)^5.256

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

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

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

sngStpn = -(gsngH_r - 11000)/6340

  • для расчета давления в стратосфере (переменная gsngP_h) введите

gsngP_h = 169.4*Exp(sngStpn)*sngCfnP

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

2.9 В процедуре cmdOK_Click()организуйте вывод результатов расчета с использованием различных форматов вывода

  • введите в процедуру перед последней строкой End ifсоответствующий комментарий‘Вывод результатов

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

txtHr.Text = Str(gsngH_r)

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

txtP.Text = Format(gsngP_h, "Scientific")

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

txtRo.Text = Format(gsngR_h, "0.000")

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

txtT.Text = Format(gsngT_h, "###.#")

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

txtA.Text = CSng (gsngA_h)

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

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

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

  • нажмите клавишу Enter. В полях вывода должны выводиться результаты расчета, совпадающие со значениями констант – значениями параметров атмосферы у земли. Обратите внимание на особенности вывода расчетных значений давления (в научном формате) и скорости звука.

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

  • нажмите клавишу Enter. Сравните результаты с табличными значениями. Обратите внимание на то, что все расчетные значения не совпадают с табличными,

Высота

Давление

Плотность

Температура

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

0

101325

1,225

288

340,28

11000

22690

0,364

216,6

294,3

15000

12107

0,194

216,6

294,3

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

  • установите курсор на кнопку OK,

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

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

2.11 Проведите отладку программы и устраните замеченные ошибки

2.11.1 Проверьте работу управляющей структуры

  • запустите программу на исполнение в пошаговом режиме для чего в меню Debug выберите командуStep Into(или нажмитеF8),

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

  • нажмите клавишу Enter.Система программирования выводит код с подсветкой той строки кода, которая готова к выполнению,

  • нажимайте F8до момента окончания работы процедурыcmdOK_Click(). Обратите внимание на то, что выражения для расчета параметров атмосферы управляющей структурой не используются.

2.11.2 Проведите поиск ошибки

  • откройте окно кода,

  • установите курсор в строку If gsngH_r < 11000 Then

  • в меню Debug выберите командуToggle Breakpoint(или нажмитеF9). Цвет фона строки изменяется,

  • запустите программу,

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

  • нажмите клавишу Enter. Выполнение программы приостановится в отмеченной строке кода – точке останова,

  • установите курсор на переменную gsngH_rи задержите его на некоторое время – появляется сообщение о величине переменной:

gsngH_r =11000.

Проведите анализ логического отношения в данной строке кода. Обратите вниманние на то, что в логическом отношении имеется ошибка – проводится проверка строго на меньше, когда значение высоты равно 11000,

  • отредактируйте строку кода – введите в логическое отношение проверку на “меньше или равно”

If gsngH_r <= 11000 Then

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

  • завершите выполнение программы, дав команду End из менюRun,

  • запустите программу,

  • введите значение высоты 11000,

  • нажмите клавишу Enter. Убедитесь в правильности расчета,

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

2.12 Предъявите результаты работы преподавателю.

2.13 Сохраните разработанный проект в файлах с именем satm3.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]