|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Порядок выполнения работы. 1. Открыть в бригадной папке созданный на предыдущей лабораторной работе Excel – документ с именем “max2_my” и подготовить для текущей работы копию этого1. Открыть в бригадной папке созданный на предыдущей лабораторной работе Excel – документ с именем “max2_my” и подготовить для текущей работы копию этого документа по команде Файл/Сохранить как, задав для копии имя “max3_my”. 2. Запустить редактор VBA. Результат: открытие окон и формы ранее созданного проекта. 3. Оставить имя проекта «Проба_If», но изменить свойством “Caption” заголовок формы на «Выбор максимума из трех чисел». 4. Дополнить форму надписью «Ввод с» (с – латинская буква) и текстовым полем для ввода значения переменной «с» с именем «Text4». Задать в этом поле, например, значение 15. Примечание. Если в форме свободного места для дополнительных объектов нет, то следует сместить ранее созданные объекты, возможно уменьшив их размеры. 5. Дополнить текст подпрограммы, используя возможность копирования фрагментов текста: - в инструкцию Dim вставить описание переменной «с» и изменить в этой инструкции и далее по тексту имя результата на “max3”; - вставить строку с оператором присваивания переменной «с» числового значения из поля “Text4”; - вставить строку со вторым условным оператором без ветви “Else” для переприсваивания переменной “max3” значения переменной «с», если выполняется соответствующее условие. Примечание. Для рационального использования поля редактирования с текстом подпрограммы (чтобы весь текст был виден в этом поле) можно воспользоваться следующими двумя возможностями размещения текста: 1) логически единую, но длинную строку инструкции Dim (или другой инструкции внутри оператора), выходящую, возможно, за правую границу поля, можно разместить на две строки (и более), обозначив перенос; для этого нужно после запятой (разделителя списка описаний переменных) или по тексту другой инструкции вставить пробел, знак подчерк, а далее, нажав клавишу Enter, перенести остаток текста строки на следующую строку поля (для наглядности рекомендуется сместить перенесенный текст вправо под аналогичные элементы списка описаний переменных); 2) для размещения всего текста на виду в поле редактирования по вертикали можно размещать в одной строке поля по несколько коротких записей операторов, разделяя их внутри строки двоеточием (в конце строки перед следующей строкой операторов двоеточие не ставить). 6. Сохранить вновь созданный проект, выполнить заложенную в него программу и в конце закрыть файл. 7. Скопировать в бригадную папку: - в вычислительном центре из папки Х:\Программы каф. ПМ и САПР\Наумов\VBA, - на кафедре ПМ и САПР из папки Х:\Naumov\VBA файлы max2.xls и max3_func.xls. 8. Открыть сначала файл max2.xls, а в нем – программную реализацию проекта вывода максимального из 2-х чисел с помощью структурированной программы, состоящей из главной (командной, вызывающей) подпрограммы с именем «CmdРешение» и вспомогательной (вызываемой, содержащей описание выполняемых действий) подпрограммы с именем «Анализ». 9. Ознакомиться с содержанием программы «Выбор максимального числа из двух чисел с помощью структурированной программы, состоящей из главной и вспомогательной подпрограмм» ¢Вспомогательная подпрограмма (описание) Private Sub Анализ (Byval x As Integer, └┘– Byval y As Integer, └┘– ByRef r As Integer) If x>y Then r = x Else If x<y Then ¢Вложенный оператор r = y Else ¢Блок из 2-х операторов МsgBox “числа равные”: r = x End If End If End Sub ¢Главная подпрограмма Private Sub CmdРешение_ Click () Dim a As Integer, b As Integer, └┘– maximum2 As Integer a = CInt (Text1.Text) b = CInt (Text2.Text) Анализ a, b, maximum2 ¢Вызов вспомогательной подпрограммы Text3.Text= maximum2 End Sub Пояснения. В главной подпрограмме помещен вызов вспомогательной подпрограммы с именем «Анализ». После имени следует список фактических параметров: «а» и «b» – входные данные, «maximum2» – результат анализа. В описании вспомогательной подпрограммы помещен блочный условный оператор. В этой подпрограмме фигурируют формальные параметры, соответствующие фактическим параметрам по месту в списке и типу. Перед именем каждого формального параметра стоит одно из двух ключевых (служебных) слов: ByVal или ByRef. Эти слова определяют статус параметра, а именно условия передачи параметра в подпрограмму и из нее. Слово ByVal задает передачу по значению (By Value – посредством значения). Параметры такого статуса являются только входными. На их месте при вызове подпрограммы на выполнение в качестве фактических параметров кроме переменных, имеющих присвоенные им значения, могут стоять непосредственно числа и даже арифметические выражения. Значение переменной, переданной по значению, остается в вызывающей подпрограмме неизменным даже если оно изменялось внутри вызываемой (вспомогательной) подпрограммы. Слово ByRef задает передачу по ссылке (By Reference – посредством ссылки на адрес в памяти ЭВМ, где прописана (размещена) переменная, являющаяся соответствующим фактическим параметром подпрограммы. Параметры такого статуса являются, как правило, выходными, но через них в вызываемую подпрограмму можно передавать и исходные данные (текущие значения, изменяемые внутри этой подпрограммы, например, значения времени, изменяемые с заданным шагом при динамических расчетах). По умолчанию, т.е. без указания статуса параметра, принимается способ передачи по ссылке, но рекомендуется тот или иной способ передачи указывать явно для наглядного различия входных и выходных параметров. В блочном условном операторе блоки операторов, помещенные в его ветвях, размещаются по тексту обязательно в отдельных строках (отдельно от строк, где размещены условия со служебным словом Then и служебное слово Else). В блоке операторов в одной строке могут размещаться несколько операторов, разделенных двоеточием. Блочный оператор завершается служебными словами End If, размещаемыми в отдельной строке. Для наглядности соответствующие служебные слова If и End If, Then и Else рекомендуется размещать одно под другим, а вложенные блоки смещать по строкам вправо, выравнивая их по левому краю. 10. Выполнить программу из файла max2.xls для любых трех пар неравных чисел. Далее закрыть этот файл и открыть скопированный ранее в бригадную папку файл max3.func.xls. В этом файле реализован проект вывода максимального из 3-х чисел с помощью структурированной программы, состоящей из главной подпрограммы и вспомогательной подпрограммы – функции с именем “max2”. Эта функция задает выбор максимума из 2-х чисел. 11. Ознакомиться с содержанием программы из файла max3_func.xls: Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |