АЛГОРИТМИЗАЦИЯ И ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ Лекцию читает старший преподаватель

>АЛГОРИТМИЗАЦИЯ   И  ПРИКЛАДНОЕ        АЛГОРИТМИЗАЦИЯ И ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ

>Лекцию  читает старший преподаватель кафедры Информатики и компьютерных технологий  ВЕКШИНА Наталия Витальевна Лекцию читает старший преподаватель кафедры Информатики и компьютерных технологий ВЕКШИНА Наталия Витальевна

>Программа курса:            Лекции Программа курса: Лекции Лабораторные работы Контрольная работа Зачет

>Рекомендуемая литература   1. Фридман А.Л. Основы объектно-ориентированной разработки систем.-М.: Финансы и статистика, Рекомендуемая литература 1. Фридман А.Л. Основы объектно-ориентированной разработки систем.-М.: Финансы и статистика, 2000. 2. Гарнаев А.Ю. Самоучитель VBA.-СПб.: БХВ, 2006. 3. Демидова Л.А., Пылькин А.Н. Программирование в среде VBA. Практикум для вузов._М.:Телеком, 2004

>1. Объектно-  ориентированный   подход к программированию 1. Объектно- ориентированный подход к программированию

>1.1. Эволюция программного обеспечения    1). Программирование в двоичных кодах (объёмное, трудоёмкое, 1.1. Эволюция программного обеспечения 1). Программирование в двоичных кодах (объёмное, трудоёмкое, много ошибок). 2). Программирование на языках высокого уровня: Алгол, Фортран, ПЛ 3) Структурное программирование: Паскаль, Си, Алгол-68, Q-Basic, Симула. Основано на использовании модулей. (после записи операторов программы система автоматически генерирует готовую программу, помещая ее в особую зону памяти – модуль)‏

>1.2. Визуальное программирование    Развивается параллельно со структурным  В качестве переменных 1.2. Визуальное программирование Развивается параллельно со структурным В качестве переменных используют графические объекты, видимые на экране (кнопки, диалоговые окна и т.д.), что позволяет создавать диалоговые приложения, операционные системы. К языкам визуального программирования относятся: Visual C, Visual FoxРro, Visual Basic.

>1.3. Объектно-ориентированное программирование (ООП)     Вместо описания каждого шага программы 1.3. Объектно-ориентированное программирование (ООП) Вместо описания каждого шага программы разработчик указывает, как реагировать на события и объекты (нажатие кнопки, щелчок указателем мыши по объекту). Система оформляет каждый отклик в виде отдельного модуля – вместо программы создается приложение из взаимодействующих модулей

>К языкам ООП относятся:  C++  Java  Object Pascal  Эйффель К языкам ООП относятся: C++ Java Object Pascal Эйффель Смолток Visual Basic

>В основе ООП лежат понятия:   объект;   класс;   инкапсуляция; В основе ООП лежат понятия: объект; класс; инкапсуляция; наследование; полиморфизм.

>1.4. Объекты    В качестве объектов могут рассматриваться: Конкретные предметы какой-то области 1.4. Объекты В качестве объектов могут рассматриваться: Конкретные предметы какой-то области (покупатель, фирма, банк); Реальные сущности (заказ на поставку); Абстрактные сущности (диалоговое окно). ООП описывает системы в терминах, этой системы, как взаимодействие объектов

>Пример   Требуется разработать систему автоматизации банка.   Рассмотрим фрагмент этой системы Пример Требуется разработать систему автоматизации банка. Рассмотрим фрагмент этой системы – операцию снятия денег через банкомат. В операции задействованы три объекта: клиент Иванов банкомат на Литейном счет № 111

>Клиент Иванов Банкомат на Литейном Счет  № 111 2. Сообщить код 3. Код, Клиент Иванов Банкомат на Литейном Счет № 111 2. Сообщить код 3. Код, Сумма 4.Проверить баланс 5.Снять сумму 6. Выдать сумму 1. Начать работу

>1.5. Понятие класса      В системе обычно действует множество однотипных 1.5. Понятие класса В системе обычно действует множество однотипных объектов (объекты-счета, объекты-клиенты, объекты-банкоматы). Класс – совокупность однотипных объектов. Индивидуальный объект – экземпляр класса. Класс определяет общие для объектов методы и свойства.

>Методы – это программные процедуры, определяющие взаимодействие объекта с внешней средой.   Свойства Методы – это программные процедуры, определяющие взаимодействие объекта с внешней средой. Свойства - это характеристики объектов (видимость на экране, размер, положение)‏

>Банковская система состоит из экземпляров трех классов Класс 1 Класс 2 Класс 3 КЛИЕНТ Банковская система состоит из экземпляров трех классов Класс 1 Класс 2 Класс 3 КЛИЕНТ БАНКОМАТ № счета Код Адрес Свойства СЧЕТ Снять со счета Положить на счет Проверить баланс Методы Сообщить код Опреде-лить сумму Проверить код Проверить баланс Выдать сумму

>1.6. Инкапсуляция Инкапсуляция – это скрытие информации В ООП возможен доступ к объекту только 1.6. Инкапсуляция Инкапсуляция – это скрытие информации В ООП возможен доступ к объекту только через его методы и свойства. Внутренняя структура объекта скрыта от пользователя. Инкапсуляция позволяет изменять реализации объектов класса без изменения внутренней структуры объекта.

>1.7. Наследование объектов Это возможность выделить свойства и методы одного объекта и приписать их 1.7. Наследование объектов Это возможность выделить свойства и методы одного объекта и приписать их другому объекту, иногда с модификацией. В банковской структуре есть класс СЧЕТ. Счета могут быть разными: РАСЧЕТНЫЙ СЧЕТ, ДЕПОЗИТ Эти классы наследуют свойства и методы класса СЧЕТ

>СЧЕТ № счета РАСЧЕТНЫЙ СЧЕТ № счета Снять деньги Положить деньги Проверить баланс ДЕПОЗИТ СЧЕТ № счета РАСЧЕТНЫЙ СЧЕТ № счета Снять деньги Положить деньги Проверить баланс ДЕПОЗИТ № счета Срок Процент Снять деньги Положить деньги Проверить баланс Проверить срок Начислить процент Свойства Методы СЧЕТ № счета Снять деньги Положить деньги Проверить баланс

>1.8. Полиморфизм объекта        Полиморфизм – это возможность 1.8. Полиморфизм объекта Полиморфизм – это возможность взаимодействия одного объекта с другим независимо от того, к какому классу относится второй объект. (Банкомат проверяет баланс одинаково для расчетного счета и депозита)

>2. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ   VISUAL BASIC for APPLICATION (VBA) 2. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ VISUAL BASIC for APPLICATION (VBA)

>Приложение VBА позволяет: Работать в Интернете; Создавать свои серверные приложения; Управлять множественными проектами; Создавать Приложение VBА позволяет: Работать в Интернете; Создавать свои серверные приложения; Управлять множественными проектами; Создавать многоуровневые сетевые системы. Версия VBA входит в состав всех приложений Microsoft Office

>Особенности VBА    Плюсы:        Простой Особенности VBА Плюсы: Простой и мощный язык; Его объекты можно использовать в Delphi, C++; Включен в состав Ms Office; Мощные встроенные интеллектуальные средства (макрорекодер). Минус: Ограниченные возможности наследования.

>2.2. Объекты и их семейства 2.2. Объекты и их семейства

>Семейство (объект)      содержит несколько объектов одного и того же Семейство (объект) содержит несколько объектов одного и того же типа, например, семейство рабочих книг, рабочих листов и т.д. Семейства – это уже имеющиеся в VBA классы.

>2.3. Иерархия объектов   Application WorkBooks WorkSheets Charts VBProects Styles Fonts Borders 2.3. Иерархия объектов Application WorkBooks WorkSheets Charts VBProects Styles Fonts Borders

>3. ЭЛЕМЕНТЫ ЯЗЫКА   VBA 3. ЭЛЕМЕНТЫ ЯЗЫКА VBA

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

>3.1. Имена элементов VBA Записывают по следующим правилам:   Длина имени  1 3.1. Имена элементов VBA Записывают по следующим правилам: Длина имени 1 – 255 символов; Имя начинается с буквы латинского или русского алфавита (только для VBA); Имена не должны совпадать со стандартными именами и функциями VBA ( Sub, End); Не должны включать знаков препинания, пробелов, арифметических знаков и символов ! # $ % @ ( )

>Регистр букв в именах не имеет значения.  Имена переменных PROBA, Proba, proba Регистр букв в именах не имеет значения. Имена переменных PROBA, Proba, proba эквивалентны. Правильно Неправильно S77 77S Уравнение_13 Уравнение 13 Dim

>3.2. Основные понятия языка    К основным понятиям относятся:   ключевые 3.2. Основные понятия языка К основным понятиям относятся: ключевые слова; выражения; операторы; данные; переменные.

>Ключевые слова – это слова или символы, которые являются элементами языка VBA: инструкции, имена Ключевые слова – это слова или символы, которые являются элементами языка VBA: инструкции, имена функций, операторы (например, For, Do, SIN). Выражение – это комбинация ключевых слов, операторов и констант. Служит для проведения вычислений по заданным формулам (например: Х+3, Z > 0). Результатом могут быть число, строка, логическое значение.

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

>3.3. Данные VBA р 3.3. Данные VBA р

>Данные VBA (продолжение) Данные VBA (продолжение)

>3.4. Переменные   Переменная - это область памяти  для временного хранения данных, 3.4. Переменные Переменная - это область памяти для временного хранения данных, которой присвоено имя. Значение переменной может меняться в процессе выполнения программы. Тип переменной описывают в начале программы с помощью оператора: Dim ИмяПеременной As ТипДанных

>Пример  В таблице Excel следует разместить сведения о клиентах некоторого банка:  Фамилия Пример В таблице Excel следует разместить сведения о клиентах некоторого банка: Фамилия И.О. Номер счета Сумма вклада Эти данные должны передаваться в ЭТ из программы. В программу из ЭТ нужно записать значение процентной ставки на текущий момент времени.

>Решение  Ввод данных на лист ЭТ Решение Ввод данных на лист ЭТ

>Создать проект VBA: Сервис – Макрос –Редактор Visual Basic  Открыть окно модуля: Insert Создать проект VBA: Сервис – Макрос –Редактор Visual Basic Открыть окно модуля: Insert – Module (Вставка – Модуль) Создать процедуру: Insert – Procedure (Вставка – Процедура)

>Ввести имя процедуры: Ввести имя процедуры:

>Откроется окно кода Откроется окно кода

>Ввести текст программы:  SUB Клиент ( )  ‘ Описание типа переменных Ввести текст программы: SUB Клиент ( ) ‘ Описание типа переменных Dim Фамилия As String Dim Счет, Процент As Integer Dim Сумма As Currency ‘ Запись процента из ЭТ в программу Процент = Range(“C2”) ‘ Запись в программу сведений о клиенте Фамилия =“Иванов” Счет =1001 Сумма = 20000