Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_2 семестр / 2-VBA / VBA-Учебные материалы / VBA-1 Осн.понятия,арифм.выр.,ввод прогр.doc
Скачиваний:
98
Добавлен:
10.04.2015
Размер:
236.54 Кб
Скачать

Лекция для ЗФ

ПОНЯТИЕ И СВОЙСТВА АЛГОРИТМА. ОСНОВНЫЕ БЛОКИ ГСА. ЯЗЫК ПРОГРАММИРОВАНИЯ VBA (VISUAL BASIC FOR APPLICATIONS). ТИПЫ ДАННЫХ. ЗАПИСЬ КОНСТАНТ, ПЕРЕМЕННЫХ, ФУНКЦИЙ И АРИФМЕТИЧЕСКИХ ВЫРАЖЕНИЙ. ПРАВИЛА ВВОДА ПРОГРАММ

Программное решение задачиусловно включает в себя следующие этапы:

1. Формализация задачи, т. е. математическая постановка (формулировка) задачи (запись условия задачи в виде последовательности определенных действий и формул, необходимых для ее решения);

2. Выбор или разработка метода вычислений (например, численные методы решения нелинейных уравнений, систем линейных алгебраических уравнений, дифференциальных уравнений и др.);

3. Алгоритмизация задачи, т. е. разработка алгоритма решения.

4. Выбор языка программирования и составление программы.

Алгоритм– строго определенная последовательность арифметических и логических действий для решения задачи.

Простейшими примерами алгоритмов являются правила, по которым выполняются четыре основных арифметических действия над числами. Эти правила для десятичной системы еще в IX веке были определены среднеазиатским математиком Аль Хорезми. В результате «европеизации» имени этого ученого и возник термин «алгоритм».

Любой алгоритм существует не сам по себе, а предназначен для определенного исполнителя (человека, робота, компьютера, языка программирования и т. д.). Совокупность команд, которые конкретный исполнитель умеет выполнять, называется системой команд исполнителя.

Рассмотрим свойства алгоритма.

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

Определенность (детерминированность). Это свойство означает, что неоднозначность толкования записи алгоритма недопустима, многократное применение алгоритма к одним и тем же исходным данным должно приводить к одним результатам.

Результативность. Алгоритм обязательно должен приводить к определенному результату за конечное число шагов и обеспечивать его выдачу на устройство вывода информации (экран монитора, принтер) или в файл. Для этого в алгоритме должно быть предусмотрено исключение недопустимых ситуаций (деление на ноль, вычисление логарифма нуля или отрицательного числа и т. п.). Если решение задачи не существует, то в качестве результата может быть выведено сообщение об этом.

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

Массовость. Обычно алгоритмы предназначены для решения не одной конкретной задачи, а некоторого класса задач данного типа. В простейшем случае массовость подразумевает возможность использования различных исходных данных.

Формальность. Эта особенность указывает на то, что любой исполнитель, способный воспринимать и выполнять инструкции алгоритма, действует формально, т. е. отвлекается от содержания поставленной задачи, не вникает в ее смысл, а лишь строго выполняет инструкции.

Эффективность. Это свойство, которое позволяет решить задачу за приемлемое время.

Различают следующие виды алгоритмов:

линейный – список команд (указаний), выполняемых последовательно друг за другом;

разветвляющийся – алгоритм, содержащий хотя бы одну проверку условия, в результате которой обеспечивается переход на один из возможных вариантов решения;

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

Любая алгоритмическая конструкция может содержать в себе другую конструкцию того же или иного вида, т. е. алгоритмические конструкции могут быть вложенными.

Способы представления алгоритмов

Алгоритм, составленный для некоторого исполнителя, можно представить различными способами: с помощью словесного или графического описания, на алгоритмическом языке или языке программирования.

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

Алгоритмический язык в общем случае представляет собой систему обозначений и правил для единообразной и точной записи алгоритмов и исполнения их. Примером такой системы является псевдокод – описание структуры алгоритма на естественном, частично формализованном языке. В псевдокоде применяются формальные конструкции и математические символы.

При записи алгоритма с помощью псевдокода применяются следующие служебные слова и символы:

АЛГ – АЛГоритм;

НАЧ – НАЧало алгоритма;

КОН – КОНец алгоритма;

НЦ – Начало Цикла;

КЦ – Конец Цикла;

:= – присвоить значение;

// – комментарий.

После служебного слова АЛГ указывается название алгоритма.

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

Последовательность записи алгоритма в псевдокоде:

АЛГ название алгоритма

НАЧ

Команда 1

Команда 2

…………

КОН

Присвоить значения переменным можно следующим образом: s := 5, x := 2 + y, m := m n. Такого рода запись означает, что сначала выполняется действие над текущими значениями переменных в правой части от знака равенства, а затем полученный результат присваивается переменной, имя которой записано в левой части. Например, в результате операции k := k + 1 значение переменной k будет увеличено на единицу.

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

Описание алгоритма с помощью языка программирования представляет собой программный код (программу).

Языки программирования – это искусственные языки, предназначенные для записи алгоритмов. Они считаются языками высокого уровня по отношению к уровню машинных (внутренних) команд ЭВМ. ЭВМ оперирует командами в двоичном коде (машинные команды). Поэтому программу, написанную на языке высокого уровня, необходимо перевести (транслировать) на язык машинных команд, «понятных» ЭВМ. Эту операцию выполняют обслуживающие программы-трансляторы (интерпретаторы и компиляторы).

  • Компиляторы транслируют весь текст программы, написанной на языке высокого уровня, в машинные коды в ходе одного непрерывного процесса. При этом создается полная программа в машинных кодах, которая в дальнейшем используется без участия компилятора.

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

Преимущество компиляторов (для языков ФОРТРАН, ПАСКАЛЬ, СИ) состоит в высокой скорости выполнения готовой программы. Интерпретаторы (для языков BASIC, Logo) более удобны при откладке программ, так как реализуют диалоговый стиль разработки программ.

Язык vba

VBA (Visual Basic for Applications) – это диалект языка Visual Basic, расширяющий его возможности и предназначенный для работы с приложениями Microsoft Office и другими приложениями, в том числе и от третьих фирм.

В настоящее время VBA встроен в Word, Excel, Access, PowerPoint, Outlook, Visio, Project, а также более чем в 100 приложений других фирм, например, CorelDRAW, AutoCAD и т. п. Мы будем работать в VBA, встроенном в Excel.

VBA – самый удобный язык для работы с приложениями Office.Он изначально был ориентирован на пользователей, а не на профессиональных программистов, поэтому создавать программы на нем довольно быстро и легко. В него встроены мощные средства для облегчения работы пользователя: подсказки по объектам и синтаксису, макрорекордер, средства работы с текстом, графический интерфейс и др.).

Создавать несложные программы на VBA можно, ничего не зная о программировании. Для этого служит режим автоматического создания макросов в Excel, реализуемый с помощью макрорекордера. Но он имеет ограниченные возможности: не умеет проверять значения, чтобы в зависимости от них выполнять какое-либо действие, не работает с циклами, не умеет перехватывать и обрабатывать ошибки и т. д.). VBA-программирование помогает решить эти проблемы и значительно повысить мощь и возможности макросов, позволяя создавать пользовательские меню, диалоговые окна и панели инструментов и др.

VBA считается объектно-ориентированным языком программирования.

Основные понятия языка программирования

Объект – это объединение данных с кодом, предназначенным для их обработки.

Объект представляет собой именованный элемент, имеющий:

  • свойства, то есть характеристики, которые можно проверить или изменить;

  • методы, то есть действия, которые можно выполнить над объектом;

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

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

Ключевые (зарезервированные) слова – это имена команд, операторов, процедур, функций.

Операнды – это данные, используемые в программе. К ним относятся константы, переменные и значения функций.

Процедура – это наименьшая единица программного кода, на которую можно ссылаться по имени и которая может выполняться независимо. В VBA основные типы процедур – это Sub и Function. Любая процедура содержит один или более операторов, помещенных между двумя специальными операторами: объявлением процедуры в начале и оператором завершения процедуры в конце.

Модуль – это именованная единица, состоящая из одной или нескольких процедур, а также общих объявлений, относящихся ко всем процедурам в модуле.

Алфавит vba

– прописные и строчные латинские буквы от A до Z и русские буквы от А до Я;

– арабские цифры от 0 до 9;

– знаки пунктуации (пробел, точка, запятая, точка с запятой, двоеточие, круглые скобки, кавычки, апостроф);

– специальные символы (?, !, $, #, %).

Данные

Элементарными конструкциями языка являются данные. Они делятся на константы; переменные; массивы; указатели функций.

В VBA предусмотрены следующие типы данных:

  • n – числовой,

  • s – строковый (символьный – от англ. String),

  • c – константа;

  • f – функция,

  • d – дата и время (Data – от 01.01.100 до 31.12.9999):

  • b – логический (Boolean – для хранения значений True и False):

  • o – объектный (хранит ссылку на любой объект в памяти):

  • Variant – специальный тип данных, который может хранить любые другие типы данных.