ebook img

Программирование в среде VBA (реализация базовых алгоритмов) PDF

87 Pages·1.39 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Программирование в среде VBA (реализация базовых алгоритмов)

Басков Н.Н. ПРОГРАММИРОВАНИЕ В СРЕДЕ VISUAL BASIC FOR APPLICATIONS (VBA) (реализация базовых алгоритмов) Ростов на Дону 2011 ББК 32.973.26-018.2 Б 22 Рецензент: К.п.н., доц. Филимонова Е.В., Зав. Кафедрой информационных технологий РИФ РГТЭУ Составитель: Басков Н.Н. «Программирование в среде Visual Basic for Applications (VBA) (реализация базовых алгоритмов)» Учебное пособие предназначено для студентов, изучающих курс "Информатика" и рекомендуется для получения практических навыков использования элементов языка Visual Basic в процессе обучения. В пособии описаны действия по созданию простейших программ на языке Visual Basic for Applications. Большинство из предлагаемых заданий используется автором при проведении практических занятий со студентами. © Басков Н.Н. 2011 – 2 – Содержание Введение ____________________________________________________________________ 4 1 Алгоритмы и способы их записи ______________________________________________ 4 1.1 Понятие алгоритма ___________________________________________________________ 4 1.2 Исполнитель алгоритма _______________________________________________________ 5 1.3 Свойства алгоритма __________________________________________________________ 6 1.4 Способы записи алгоритма ____________________________________________________ 7 1.5 Базовые алгоритмические структуры _________________________________________ 10 2 Язык программирования: Visual Basic for Applications __________________________ 13 Введение. ______________________________________________________________________ 13 2.1 Переменная и её типы _______________________________________________________ 14 2.2 Операции VBA ______________________________________________________________ 19 2.3 Встроенные функции VBA ___________________________________________________ 21 2.4 Объекты языка Visual Basic __________________________________________________ 23 2.5 Программирование алгоритмов линейной структуры ___________________________ 27 2.6 Программирование ветвлений ________________________________________________ 29 2.7 Программирование повторений _______________________________________________ 33 2.8 Массивы ___________________________________________________________________ 37 3 Практические задания _____________________________________________________ 40 3.1 Практическое задание №1. Знакомство с VBA __________________________________ 40 3.2 Практическое задание №2. Линейное программирование ________________________ 43 3.3 Практическое занятие №3. Программирование ветвлений _______________________ 45 3.4 Практическая работа №4. Программирование повторений _______________________ 49 3.5 Практическая работа №5. Работа с массивами __________________________________ 51 3.6. Практическая работа №6. Процедуры и функции ______________________________ 55 3.7 Практическое занятие №7. Файлы. Последовательный доступ ___________________ 59 3.8. Практическое занятие №8. Файлы с произвольным доступом____________________ 62 4 Задания самостоятельной работы __________________________________________ 67 4.1 Структура следование _______________________________________________________ 67 4.2 Структура ветвление ________________________________________________________ 68 4.3 Цикл _______________________________________________________________________ 70 4.4 Массивы ___________________________________________________________________ 72 4.5 Файлы _____________________________________________________________________ 73 5. Задания для контрольной работы __________________________________________ 78 5.1. Для студентов очной формы обучения_________________________________________ 78 5.2. Варианты контрольных работ для студентов заочной формы обучения ___________ 82 Список использованных источников ___________________________________________ 87 – 3 – Введение Название BASIC представляет собой аббревиатуру от Beginner's All-purpose Symbolic Instruction Code – универсальный язык символического кодирования для начинающих. BASIC был разработан в середине 1960-х годов сотрудниками Дартмутского колледжа по руководством Дж. Кемени и Т. Куртца. В последующем BASIC неоднократно подвергался расширениям и модификациям. Язык Visual Basic (VB) включает в себя средства визуального проектирования и объектно-ориентированного программирования. В языке VB реализован визуальный стиль программирования, позволяющий не столько программировать, сколько проектировать программу (приложение) – сначала создавать рабочую среду, интерфейс, элементы управления (меню, окна диалога, кнопки и т. п.) и только затем записывать требуемые операторы обработки данных. 1 Алгоритмы и способы их записи 1.1 Понятие алгоритма Понятие алгоритма - одно из фундаментальных понятий информатики. Алгоритмом называется точная инструкция исполнителю в понятной для него форме, определяющая процесс достижения поставленной цели на основе имеющихся исходных данных за конечное число шагов. Алгоритмизация наряду с моделированием выступает в качестве общего метода информатики. К реализации определенных алгоритмов сводятся процессы управления в различных системах, что делает понятие алгоритма близким и кибернетике. – 4 – Алгоритмы являются объектом систематического исследования пограничной между математикой и информатикой научной дисциплины, примыкающей к математической логике - теории алгоритмов. Само слово "алгоритм" происходит от algorithmi - латинской формы написания имени великого математика IX века аль-Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмами и понимали только правила выполнения четырех арифметических действий над многозначными числами. 1.2 Исполнитель алгоритма Понятие исполнителя невозможно определить с помощью какой- либо формализации. Исполнителем может быть человек, группа людей, робот, станок, компьютер, язык программирования и т.д. Важнейшим свойством, характеризующим любого из этих исполнителей, является то, что исполнитель умеет выполнять некоторые команды. Так, исполнитель-человек умеет выполнять такие команды, как "встать", "сесть", "включить компьютер" и т.д., а исполнитель - язык программирования Бейсик - команды PRINT, END, LIST и другие аналогичные. Вся совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя (СКИ). Одно из принципиальных обстоятельств состоит в том, что исполнитель не вникает в смысл того, что он делает, но получает необходимый результат. В таком случае говорят, что исполнитель действует формально, т.е. отвлекается от содержания поставленной задачи и только строго выполняет некоторые правила, инструкции. Это - важная особенность алгоритмов. Наличие алгоритма формализует процесс решения задачи, исключает рассуждение исполнителя. Использование алгоритма дает возможность решать задачу формально, механически исполняя команды алгоритма в – 5 – указанной последовательности. Целесообразность предусматриваемых алгоритмом действий обеспечивается точным анализом со стороны того, кто составляет этот алгоритм. 1.3 Свойства алгоритма Алгоритм должен быть составлен таким образом, чтобы исполнитель, в расчете на которого он создан, мог однозначно и точно следовать командам алгоритма и эффективно получать определенный результат. Это накладывает на записи алгоритмов ряд обязательных требований, суть которых вытекает, вообще говоря, из приведенного выше неформального толкования понятия алгоритма. Сформулируем эти требования в виде перечня свойств, которым должны удовлетворять алгоритмы, адресуемые заданному исполнителю. Дискретность. Одно из первых требований, которое предъявляется к алгоритму, состоит в том, что описываемый процесс должен быть разбит на последовательность отдельных шагов. Возникающая в результате такого разбиения запись представляет собой упорядоченную совокупность четко разделенных друг от друга предписаний (директив, команд, операторов), образующих прерывную (или, как говорят, дискретную) структуру алгоритма. Только выполнив требования одного предписания, можно приступить к выполнению следующего. Дискретная структура алгоритмической записи может, например, подчеркиваться сквозной нумерацией отдельных команд алгоритма, хотя это требование не является обязательным. Понятность. Используемые на практике алгоритмы составляются с ориентацией на определенного исполнителя. Чтобы составить для него алгоритм, нужно знать, какие команды этот исполнитель может понять и исполнить, а какие - не может. Мы знаем, что у каждого исполнителя имеется своя система команд. Очевидно, составляя запись – 6 – алгоритма для определенного исполнителя, можно использовать лишь те команды, которые имеются в Системе Команд Исполнителя. Определенность или детерминированность. Будучи понятным, алгоритм не должен содержать предписаний, смысл которых может восприниматься неоднозначно, т.е. одна и та же команда, будучи понятна разным исполнителям, после исполнения каждым из них должна давать одинаковый результат. Запись алгоритма должна быть настолько четкой, полной и продуманной в деталях, чтобы у исполнителя не могло возникнуть потребности в принятии решений, не предусмотренных составителем алгоритма. Говоря иначе, алгоритм не должен оставлять места для произвола исполнителя. Кроме того, в алгоритмах недопустимы также ситуации, когда после выполнения очередной команды алгоритма исполнителе неясно, какая из команд алгоритма должна выполняться на следующем шаге. Результативность. Обязательное требование к алгоритмам - результативность. Смысл этого требования состоит в том, что при точном исполнении всех предписаний алгоритма процесс должен прекратиться за конечное число шагов и при этом должен получить определенный результат. Вывод о том, что решения не существует - тоже результат. Массовость. Наиболее распространены алгоритмы, обеспечивающие решение не одной конкретной задачи, а некоторого класса задач данного типа. В простейшем случае массовость обеспечивает возможность использования различных исходных данных. 1.4 Способы записи алгоритма Алгоритм, составленный для некоторого исполнителя, можно представить различными способами: с помощью графического или – 7 – словесного описания, в виде таблицы, последовательностью формул, записанным на алгоритмическом языке (языке программирования). Словесное описание алгоритма. Этот способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке. Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида). Алгоритм может быть следующим: 1. задать два числа; 2. если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма; 3. определить большее из чисел; 4. заменить большее из чисел разностью большего и меньшего из чисел; 5. повторить алгоритм с шага 2. Словесный способ не имеет широкого распространения, так как такие описания: строго не формализуемы;  страдают многословностью записей;  допускают неоднозначность толкования отдельных предписаний.  Графический способ записи алгоритма. Блок-схема. Этот способ имеет ряд преимуществ благодаря наглядности, обеспечивающей, в частности, высокую "читаемость" алгоритма и явное отображение управления в нем. Прежде всего определим понятие блок-схемы. Блок-схема - это ориентированный граф, указывающий порядок исполнения команд алгоритма. – 8 – Основные элементы языка блок-схем Обозначение и Название символа Пояснение пример заполнения Вычислительное дейст- Процесс вие или последова- тельность действий Решение Проверка условий Модификация Начало цикла Вычисления по подпро- Предопределенный грамме, стандартной процесс подпрограмме Ввод-вывод в общем Ввод-вывод виде Начало, конец алго- Пуск-останов ритма, вход и выход в подпрограмму Вывод результатов на Документ печать Блок "процесс" применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно. Блок "решение" используется для обозначения переходов управления по условию. В каждом блоке "решение" должны быть указаны вопрос, условие или сравнение, которые он определяет. Блок "модификация" используется для организации циклических конструкций. (Слово модификация означает видоизменение, преобразование). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения. – 9 – Блок "предопределенный процесс" используется для указания обращений к вспомогательным алгоритмам, существующим автономно в виде некоторых самостоятельных модулей, и для обращений к библиотечным подпрограммам. 1.5 Базовые алгоритмические структуры Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т.е. основных) элементов. Естественно, что при таком подходе к алгоритмам изучение основных принципов их конструирования должно начинаться с изучения этих базовых элементов. Для их описания будем использовать язык схем алгоритмов и язык программирования Visual Basic, с основами которого мы познакомимся в следующей главе. Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, ветвление, цикл. Характерной особенностью базовых структур является наличие в них одного входа и одного выхода. 1. Базовая структура "следование". Образуется последовательностью действий, следующих одно за другим: Visual Basic Язык блок-схем p=(a+b+c)/2 S=Sqr(p*(p-a)*(p-b)*(p-c)) 2. Базовая структура "ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться – 10 –

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.