
- •Лекция 7. Тема: Основы алгоритмизации и программирования План:
- •1. Свойства алгоритма и виды алгоритмических структур
- •2. Средства создания программ
- •3. Visual Basic For Application (vba) как система объектно-ориентированного программирования. Интерфейс редактора
- •Элементы редактора vba
- •4. Структура программы vba
- •Б) Макросы
- •5. Основные свойства и методы объектов Иерархия основных объектов:
- •Основные свойства объектов Основные свойства объекта Application:
- •Основные методы объектов
- •Адресация ячеек в Excel
- •6. Объявление переменных
- •7. Условные операторы (ветвления) и операторы циклов Операторы ветвления
- •2. Циклы с условием
- •8. Основы создания интерфейса пользователя
- •Пользовательская форма
- •1. Создание пользовательской формы и элементов управления.
- •2. Свойства, события и методы
- •3. Элементы управления
Лекция 7. Тема: Основы алгоритмизации и программирования План:
1. Свойства алгоритма и виды алгоритмических структур;
2. Средства создания программ;
3. Visual Basic For Application (VBA) как система объектно-ориентированного программирования. Интерфейс редактора;
4. Структура программы VBA;
5. Основные свойства и методы объектов;
6. Объявление переменных;
7. Условные операторы (ветвления) и операторы циклов;
8. Основы создания интерфейса пользователя
1. Свойства алгоритма и виды алгоритмических структур
Программа представляет собой формализованное описание последовательности действий определенных устройств ЭВМ в зависимости от конкретного характера задачи.
Проектирование алгоритмов — наиболее ответственный этап разработки программ для ЭВМ.
Алгоритм – это описание способа решения задачи путем разбиения ее на конечную по времени последовательность действий. Это описание должно быть абсолютно полным и учитывать все возможные ситуации, которые могут встретиться по ходу решения.
Алгоритм – это точное предписание, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату
Любой алгоритм обладает следующими свойствами:
Детерминированность (определенность) – т.е. исполнитель должен выполнять команды в строго определенной последовательности (Пример: Последовательность выполнения действий, например, при взлете самолета должна быть строго определенной (например, нельзя отрываться от взлетной полосы, пока самолет не набрал необходимую взлетную скорость). Исполнитель алгоритма, выполнив очередную команду, должен точно знать, какую команду необходимо исполнять следующей);
Массовость (универсальность) – один и тот же алгоритм может применяться к большому количеству однотипных объектов (Пример: Алгоритмы сложения, вычитания, умножения и деления могут быть применены для любых чисел, причем не только в десятичной, но и в двоичной, восьмеричной, шестнадцатеричной и др. системах счисления);
Результативность – Применение алгоритмов всегда приводит к результату (Пример: Алгоритмами являются правила сложения, вычитания, умножения и деления столбиком. При выполнении этих действий всегда есть результат);
Дискретность – возможность разбиения алгоритмического процесса на отдельные элементарные действия (шаги, итерации). (Пример: Алгоритмы кулинарных рецептов состоят из отдельных действии, которые обычно нумеруются. Каждый алгоритм состоит из последовательности отдельных шагов).
Выполнимость и понятность - набор указаний алгоритма должен быть однозначно и точно понятым любым исполнителем, т. е. должен содержать только те команды, которые входят в систему команд исполнителя (Пример: После включения компьютера начинают выполняться алгоритмы тестирования компьютера и загрузки операционной системы. Исполнителем этих алгоритмов является компьютер, поэтому они должны быть записаны на понятном компьютеру машинном языке).
Конечность - каждое действие и алгоритм в целом должно иметь возможность завершения.
Алгоритм дает возможность чисто механически решать любую задачу из класса однотипных задач.
Способы описания алгоритмов:
словесный – отражает содержание выполняемых действий средствами естественного языка;
формульно-словесный – запись содержания выполняемых действий с использованием языка математики и дополнено пояснениями средствами естественного языка;
графический (блок –схемы)
операторный – изображение последовательности операций процесса обработки данных с помощью заданного набора буквенных символов (использование операторов);
с помощью таблиц решений.
и др.
При графическом описании отдельные этапы алгоритма изображаются при помощи различных геометрических фигур (блоков), а связи между этапами указываются при помощи стрелок, соединяющие эти фигуры. Такое наглядное изображение алгоритма называется Блок-схемой. Блок-схема позволяет сделать алгоритм более наглядным и выделяет в алгоритме основные алгоритмические структуры (линейная, ветвления, выбор и цикл).
При выполнении блок-схем внутри каждого блока указывается поясняющая информация, которая характеризует действия, выполняемые этим блоком.
Обозначение |
Описание |
|
Применяется для обозначения начала или конца алгоритма
|
|
Описание ввода и вывода данных, имеет один вход вверху и один выход внизу |
|
Описание линейной последовательности команд, имеет один вход вверху и один выход внизу. Внутри символа указываются выполняемые действия. |
|
Обозначение условий в алгоритмических структурах «выбор» и «ветвление», имеет один вход вверху и два выхода (налево, если условие истинно, и направо, если условие ложно). Внутри символа записывается проверяемое условие. |
|
Используется для изображения структуры цикла с параметром.
|
Основные структуры алгоритмов
К основным алгоритмическим структурам относятся: линейная (следования), разветвляющиеся (ветвление и выбор) и циклические.
1) Линейная структура (следование) – команды выполняются последовательно одна за другой.
Пример: Даны величины X, Y, Z. Требуется переместить значение величин: Y должно получить значение Z, Z - значение Y.
2) Структура «ветвление» - содержат условие, если условие принимает значение "истина", будет выполняться "Действие 1", если условие принимает значение "ложь" выполняется "Действие 2".
На языках объектно-ориентированного программирования алгоритмическая структура «ветвление» кодируется с использованием операторов If…..Then….Else.
3) Структура «выбор» - применяется для реализации ветвления со многими вариантами действий. В структуру выбора входят несколько условий. При истинности одного из условий (Условие1 или Условие2 и т.д.) выполняется соответствующая последовательность команд (Действие1 или Действие2 и т.д.). Если ни одно из условий не будет истинно, то будет выполнена последовательность команд Действие.
На языках объектно-ориентированного программирования алгоритмическая структура «выбор» кодируется с использованием оператора выбора. На языке VBA оператор выбора начинается с ключевого слова Select Case.
4) Циклические структуры
В алгоритмическую структуру «Цикл» входит серия команд, выполняемая многократно. Такая последовательность команд называется телом цикла.
Циклические алгоритмические структуры бывают двух типов:
циклы со счетчиком, в которых тело цикла выполняется определенное количество раз;
циклы с условием, в которых тело цикла выполняется, пока истинно условие.
Существуют два основных вида циклических алгоритмов с условием:
циклические алгоритмы с предусловием (цикл "ПОКА"),
циклические алгоритмы с постусловием (цикл "ДО").
Они отличаются друг от друга местоположением условия выхода из цикла.
Цикл с предусловием (см. рис. а) начинается с проверки условия выхода из цикла. Если оно ложно, то выполняются те действия, которые составляют тело цикла. Если логическое выражение истинно, то этот цикл прекращает свои действия. Особенность этого цикла состоит в том, что цикл может не выполниться ни разу, если условие выхода при первой же проверке даст истинный результат.
Цикл с постусловием (см. рис. б): сначала выполняются один раз те действия, которые составляют тело цикла, затем проверяется логическое выражение, определяющее условие выхода из цикла. Если условие выхода истинно, то цикл с постусловием прекращает свою работу, в противном случае происходит повторение действий, указанных в цикле. Этот цикл всегда выполняется хотя бы один раз, так как первая проверка условия выхода происходит после выполнения действий, составляющих тело цикла.