Главная » Просмотр файлов » Метод. по подпрограммам (vba)

Метод. по подпрограммам (vba) (811586)

Файл №811586 Метод. по подпрограммам (vba) (М.Д. Силин, А.Н. Любин - Процедуры и функции в языке программирования VISUAL BASIC FOR APPLICATION)Метод. по подпрограммам (vba) (811586)2020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИРОССИЙСКОЙ ФЕДЕРАЦИИФедеральное государственное бюджетное образовательное учреждениевысшего профессионального образования«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ МАШИНОСТРОИТЕЛЬНЫЙУНИВЕРСИТЕТ (МАМИ)»/ УНИВЕРСИТЕТ МАШИНОСТРОЕНИЯ /А.Н. ЛюбинМ.Д. СилинПРОЦЕДУРЫ И ФУНКЦИИВ ЯЗЫКЕ ПРОГРАММИРОВАНИЯVISUAL BASIC FOR APPLICATIONУчебное пособиепо дисциплине «Информатика» и «Информационные технологии»для студентов всех направлений и специальностейОдобрено методической комиссиейпо направлению 230000 - «Информатика и вычислительная техника»Москва-20132УДК 681.3.06Разработано в соответствии с Государственным образовательным стандартом ВПО 2000 г. для специальности подготовки230201.65 на основе рабочей программы дисциплины «Информатика»Рецензенты: доцент, к.т.н., начальник управления образовательных программ Института информационных технологий И.А.Виноградова;к.т.н., профессор кафедры: «Информационные системы идистанционные технологии» Университета машиностроения А.И.Макаров.Учебное пособие подготовлено на кафедре«Информационные системы и дистанционные технологии»Учебное пособие ориентировано на изучение основ языкапрограммирования VISUAL BASIC FOR APPLICATION (VBA),а именно процедур и функций, как наиболее важных и наиболеетрудно усваиваемых функциональных блоков языка.

Предполагается, что студент знаком с основными операторами структурногопрограммирования на языке VBA В противном случае следует использовать приведённую в пособии литературу. При изучении языка данное пособие позволит более эффективно освоить указанныеего разделы и получить практические навыки при программировании.© Любин А.Н., Силин М.Д., 2013.© МГМУ (МАМИ), 2013.3СОДЕРЖАНИЕВВЕДЕНИЕ………………………………………………....41.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ…………………………………..51.2.

ПРОЦЕДУРЫ…………………..………………………….….....51.2.1. ПРОЦЕДУРА ТИПА FUNCTION……...………………...51.2.2. ПРОЦЕДУРА ТИПА SUB………………...………………...141.3. СПОСОБЫ ПЕРЕДАЧИ АРГУМЕНТОВВ ПРОЦЕДУРЫ…………………………………………..191.4. ОБЛАСТЬ ДЕЙСТВИЯ ПРОЦЕДУР…………...…......231.5. ПРЕРЫВАНИЕ ПРОЦЕДУР…………………………....262. ПРАКТИЧЕСКАЯ ЧАСТЬ…………………………...…...…272.1. ПРИМЕРЫ ВЫПОЛНЕНИЯ ЗАДАНИЙ……………………....272.2. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГОВЫПОЛНЕНИЯ……………………………………..……....34ЛИТЕРАТУРА…………………………………………...…...….384ВВЕДЕНИЕПри программировании часто в алгоритме определённые однотипные фрагменты повторяются несколько раз. Например, неоднократное перемножение матрицы на вектор и тому подобное.

Такие фрагменты алгоритма целесообразно запрограммировать одинраз в виде подпрограммы и по мере необходимости обращаться кней, вызывать, столько раз, сколько требуется.Идея подпрограмм позволила снизить трудоёмкость написания программ в целом. Позволила, выделяя самостоятельные подзадачи, организовывать разделение работ над программой междупрограммистами с возможностью оперативной её корректировки.Появилась возможность создания и использования библиотек подпрограмм, целых банков подпрограмм.Обычно различают основную программу (программную единицу) т.е.

вызывающую программу и вызываемую программу, т.е.саму подпрограмму.При вызове подпрограммы, как правило, в неё передаютсяисходные данные в виде входных аргументов, параметров, а возвращаются в вызывающую программу результаты работы подпрограммы, в виде выходных параметров или аргументов. Таким образом, в основном, предстоит изучить, как объявить, организоватьподпрограмму, как вызвать подпрограмму, как передать в неё извызывающей программы входные параметры и как передать полученныё результата, выходные параметры, в вызывающую программу.51. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ1.2.

ПРОЦЕДУРЫДля VBA характерно понятие процедуры, что фактически тоже самое, что и подпрограмма. При этом, как и во многих другихтекстовых языках, различают два основных типа процедур:процедуру типа Sub (подпрограмма),процедуру типа Function (функция).Стоит отметить, что процедуру типа Sub часто называют просто процедурой, а процедуру типа Function – функцией.Процедуры — это самые важные функциональные блоки языка VBA. Как правило, программа на языке VBA состоит из нескольких процедур и функций.

Эти программные единицы хранятся в модулях. В свою очередь, модули как составные части входят впроекты. При вызове процедуры или функции, которая расположена в другом модуле, ее имя при вызове указывается следующимобразом: имяМодуля.имяПроцедуры. При вызове процедуры илифункции расположенной в другом проекте, следует использоватьсинтаксис: имяПроекта.имяМодуля.имяПроцедуры.1.2.1. ПРОЦЕДУРА ТИПА FUNCTIONПроцедурой типа Function формально называется фрагменттекста на языке VBA (программный код), заключенный междуключевыми словами Function и End Function, определяющимисоответственно начало и конец процедуры.Для объявления процедуры типа Function используется следующий синтаксис.Function Имя (список формальных аргументов) As тип( операторы)Имя = возвращаемое значениеEnd Function6КлючевоесловоFunctionопределяетпроцедурутипаFunction.

Далее задаётся Имя_процедуры - функции. Имя должнобыть уникальным, и задано согласно правилам задания имён переменных в языке VBA.В круглых скобках указывается список формальных аргументов, т. е. перечисляются через запятую параметры, которые передаются в процедуру типа Function из вызывающей её процедуры, ите – которые, в качестве результатов, нужно будет передать, вернуть в последнюю из вызванной процедуры после её выполнения.В качестве формальных аргументов могут использоватьсяимена переменных, констант, массивов и их элементов.

Причёмразличают входные формальные аргументы, которые передаются впроцедуру и выходные, которые передаются из неё в вызывающуюпроцедуру. Отметим, что список формальных аргументов не является обязательным параметром, он может отсутствовать.Ключевое слово As (как) и следующее за ним значение типопределяют тип переменной, которую передают (возвращают) ввызывающую процедуру - возвращаемое значение.

Задание типавозвращаемого значения является не обязательным. В этом случаесчитается, что возвращаемое значение имеет тип Variant [1].Параметр возвращаемое значение это значение переменной,имя которой требуется передать из вызываемой процедуры в вызывающую процедуру, и это имя должно быть тем же что и имяпроцедуры – функции, т.

е.Имя = возвращаемое значение.Здесь важно подчеркнуть, что возвращаемое значение через имяфункции может фигурировать в любом месте кода вызывающейпроцедуры, в том числе и в арифметических выражениях.7Вызов процедуры типа FunctionЧтобы использовать написанную процедуру ее нужно вызвать.Вызов (обращение) процедуры типа Function осуществляется по еёимени. Синтаксис обращения следующий.Имя (список фактических аргументов)Список фактических аргументов это перечисленные череззапятую имена переменных, констант, массивов и их элементов которые фигурируют в основной, вызывающей процедуре и передаются в процедуру Function, при её вызове, в качестве исходных,входных параметров. А также и те, которые передаются, возвращаются из вызванной процедуры Function обратно в вызывающуюпроцедуру в качестве выходных параметров. В списке фактическихаргументов могут быть записаны и выражения, в частности арифметические, которые вычисляются и полученное значение передается в подпрограмму как фактический аргумент.Формальные и фактические аргументы могут не совпадать поименам, но они должны совпадать по количеству, порядку следования, типу и длине (размеру отводимой памяти).Пример 1.

Написать программу вычисления S=(+,при A =2, k=4, B=3, m=2. Использовать процедуру типа Function.Листинг программы к примеру 1 и результат её работы представлены на рис. 1.Пояснения к программе.Основная, вызывающая процедура имеет имя ФУНКЦИЯ.Процедуру типа Function имеет имя S и у неё два формальных аргумента X и N, которые являются входными аргументами. В основной процедуре имеется два обращения к процедуре S, причём припервом обращении в качестве фактических параметров указаны8имена переменных A и K, а при втором- B и m.

При первом обращении на место формальных аргументов X и N передаются фактические аргументы A и K, которые и участвуют в вычислении. Результат вычисления X^N присваивается имени процедуры, а именно переменной S, которая возвращается в вызывающую процедуру– ФУНКЦИЯ. Аналогичные действия происходят и при второмобращении к процедуре S. Результаты вычислений суммируются ввызывающей процедуре ФУНКЦИЯ и присваиваются переменнойY, которая выводиться в окно функции МsgBox.Рисунок 1.- Листинг программы к примеру 1 и результат её работы.Исходные данные можно указывать непосредственно в обращении к процедуре Function.

Тогда в качестве фактических аргументов в обращении к процедуре будут фигурировать не переменные, а константы. В этом случае вариант составления программы,к примеру 1, будет выглядеть как на рис. 2.9Рисунок 2 .- Вариант программы к примеру 1.Фактически аргументы представлены в виде констант.Основное достоинство в использовании процедуры типа Function заключается в том, что она может вызываться в любом местепрограммного кода, где может быть явно указано возвращаемоезначение, как в приведённом выше примере.Вызвать процедуру типа Function можно и с помощью специального оператора Call (вызвать). Синтаксис такой формы вызоваследующий.Call Имя (список фактические аргументы)Имеется эквивалентная оператору Call форма вызова процедуры типа Function, отличающаяся только синтаксисом, а именно:Имя процедуры список формальных аргументовОднако при таких формах вызова отмеченное выше достоинство процедуры типа Function теряется, см.

код к примеру 1 представленный на рис. 3.Рисунок 3 .- Вариант программы к примеру 1.Формы обращения к процедуре S.10Видно, что предпочтительнее код, представленный на рис. 2,так как в нём вызов процедуры S и подстановка результата её работы происходит непосредственно в выражение для вычисления Y.При обращении к процедуре типа Function с помощью указанных форм приведенный выше пример 1 может быть реализованв программном коде следующим образом см.

рис. 4Рисунок 4 .- Вариант программы к примеру 1.Фактически аргументы представлены в виде имён переменных.При использовании оператора Call указывается имя процедуры, в данном примере это переменная S, см. приведённый вышелистинг программы. Затем в скобках через запятую указываетсясписок фактических аргументов, а именно А, K и Y1, среди которых А и K входные фактические аргументы, а переменная Y1- выходной фактический аргумент, результат. При вызове процедуры11типа Function указанные входные фактические аргументы, а именно А и K передаются в процедуру S на места входных формальныхаргументов, а именно Х и N.

Далее в процедуре производятся вычисления для переданных в неё входных фактических аргументов Аи K.Полученный в процедуре результат записан в переменную сименем REZ, которая является выходным формальным аргументом. Значение переменной REZ помещается в переменную Y1,которая является выходным фактическим аргументом и которая передается в вызывающую процедуру с именем ФУНКЦИЯ. Аналогичные действия производятся и при повторном обращении к процедуре типа Function с именем S. В основной, вызывающей процедуре ФУНКЦИЯ происходит суммирование полученных результатов - Y1 и Y2, запись их суммы в переменную Y и вывод её в окнофункции МsgBox.Имеется эквивалентный оператору Call вызов, обращение кпроцедуре типа Function, отличающийся только синтаксисом, аименно:Имя процедуры список формальных аргументовВ рассмотренном примере данная форма вызова процедуры Sбудет выглядеть так: S A, K ,Y1 - при первом обращении к процедуре и S 3, 4 ,Y1- при втором обращении, см.

Характеристики

Тип файла
PDF-файл
Размер
1,02 Mb
Тип материала
Высшее учебное заведение

Тип файла PDF

PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6310
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее