доп_2.ppt
- Количество слайдов: 57
АЛГОРИТМИЗАЦИЯ И ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ
Лекцию читает старший преподаватель кафедры Информатики и компьютерных технологий ВЕКШИНА Наталия Витальевна
Программа курса: Лекции Лабораторные работы Контрольная работа Зачет
Рекомендуемая литература 1. Фридман А. Л. Основы объектноориентированной разработки систем. -М. : Финансы и статистика, 2000. 2. Гарнаев А. Ю. Самоучитель VBA. -СПб. : БХВ, 2006. 3. Демидова Л. А. , Пылькин А. Н. Программирование в среде VBA. Практикум для вузов. _М. : Телеком, 2004
1. Объектноориентированный подход к программированию
1. 1. Эволюция программного обеспечения 1). Программирование в двоичных кодах (объёмное, трудоёмкое, много ошибок). 2). Программирование на языках высокого уровня: Алгол, Фортран, ПЛ 3) Структурное программирование: Паскаль, Си, Алгол-68, Q-Basic, Симула. Основано на использовании модулей. (после записи операторов программы система автоматически генерирует готовую программу, помещая ее в особую зону памяти – модуль)
1. 2. Визуальное программирование Развивается параллельно со структурным В качестве переменных используют графические объекты, видимые на экране (кнопки, диалоговые окна и т. д. ), что позволяет создавать диалоговые приложения, операционные системы. К языкам визуального программирования относятся: Visual C, Visual Fox. Рro, Visual Basic.
1. 3. Объектно-ориентированное программирование (ООП) Вместо описания каждого шага программы разработчик указывает, как реагировать на события и объекты (нажатие кнопки, щелчок указателем мыши по объекту). Система оформляет каждый отклик в виде отдельного модуля – вместо программы создается приложение из взаимодействующих модулей
К языкам ООП относятся: C++ Java Object Pascal Эйффель Смолток Visual Basic
В основе ООП лежат понятия: • • • объект; класс; инкапсуляция; наследование; полиморфизм.
1. 4. Объекты В качестве объектов могут рассматриваться: Конкретные предметы какой-то области (покупатель, фирма, банк); Реальные сущности (заказ на поставку); Абстрактные сущности (диалоговое окно). ООП описывает системы в терминах, этой системы, как взаимодействие объектов
Пример Требуется разработать систему автоматизации банка. Рассмотрим фрагмент этой системы – операцию снятия денег через банкомат. В операции задействованы три объекта: клиент Иванов банкомат на Литейном счет № 111
1. Начать работу Клиент Иванов 2. Сообщить код 3. Код, Сумма 6. Выдать сумму Банкомат на Литейном 5. Снять сумму 4. Проверить баланс Счет № 111
1. 5. Понятие класса В системе обычно действует множество однотипных объектов (объекты-счета, объекты-клиенты, объекты-банкоматы). Класс – совокупность однотипных объектов. Индивидуальный объект – экземпляр класса. Класс определяет общие для объектов методы и свойства.
Методы – это программные процедуры, определяющие взаимодействие объекта с внешней средой. Свойства - это характеристики объектов (видимость на экране, размер, положение)
Банковская система состоит из экземпляров трех классов Класс 1 СЧЕТ Класс 2 Свойства № счета Снять со счета Положить на счет Проверить баланс КЛИЕНТ Код Методы Класс 3 БАНКОМАТ Адрес Сообщить код Проверить код Опреде-лить Проверить баланс сумму Выдать сумму
1. 6. Инкапсуляция – это скрытие информации В ООП возможен доступ к объекту только через его методы и свойства. Внутренняя структура объекта скрыта от пользователя. Инкапсуляция позволяет изменять реализации объектов класса без изменения внутренней структуры объекта.
1. 7. Наследование объектов Это возможность выделить свойства и методы одного объекта и приписать их другому объекту, иногда с модификацией. В банковской структуре есть класс СЧЕТ. Счета могут быть разными: РАСЧЕТНЫЙ СЧЕТ, ДЕПОЗИТ Эти классы наследуют свойства и методы класса СЧЕТ
СЧЕТ Свойства Методы № счета Снять деньги ДЕПОЗИТ Положить деньги № счета Проверить баланс Срок Процент РАСЧЕТНЫЙ СЧЕТ № счета Снять деньги Положить деньги Проверить баланс Проверить срок Начислить процент
1. 8. Полиморфизм объекта Полиморфизм – это возможность взаимодействия одного объекта с другим независимо от того, к какому классу относится второй объект. (Банкомат проверяет баланс одинаково для расчетного счета и депозита)
2. ОБЪЕКТНООРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ VISUAL BASIC for APPLICATION (VBA)
Приложение VBА позволяет: Работать в Интернете; Создавать свои серверные приложения; Управлять множественными проектами; Создавать многоуровневые сетевые системы. Версия VBA входит в состав всех приложений Microsoft Office
Особенности VBА Плюсы: Простой и мощный язык; Его объекты можно использовать в Delphi, C++; Включен в состав Ms Office; Мощные встроенные интеллектуальные средства (макрорекодер). Минус: Ограниченные возможности наследования.
2. 2. Объекты и их семейства Объекты VBA Рабочие книги Work. Books Рабочие листы Work. Sheets Диапазон ячеек Range Диаграммы Charts Формы User. Forms Документы Documents
Семейство (объект) содержит несколько объектов одного и того же типа, например, семейство рабочих книг, рабочих листов и т. д. Семейства – это уже имеющиеся в VBA классы.
2. 3. Иерархия объектов Application Work. Books Work. Sheets Charts VBProects Styles Fonts Borders
3. ЭЛЕМЕНТЫ ЯЗЫКА VBA
Элементами языка являются: переменные; константы; процедуры; функции; объекты.
3. 1. Имена элементов VBA Записывают по следующим правилам: Длина имени 1 – 255 символов; Имя начинается с буквы латинского или русского алфавита (только для VBA); Имена не должны совпадать со стандартными именами и функциями VBA ( Sub, End); Не должны включать знаков препинания, пробелов, арифметических знаков и символов ! # $ % @()
Регистр букв в именах не имеет значения. Имена переменных PROBA, Proba, proba эквивалентны. Правильно Неправильно S 77 77 S Уравнение_13 Уравнение 13 Dim
3. 2. Основные понятия языка К основным понятиям относятся: ü ключевые слова; ü выражения; ü операторы; ü данные; ü переменные.
Ключевые слова – это слова или символы, которые являются элементами языка VBA: инструкции, имена функций, операторы (например, For, Do, SIN). Выражение – это комбинация ключевых слов, операторов и констант. Служит для проведения вычислений по заданным формулам (например: Х+3, Z > 0). Результатом могут быть число, строка, логическое значение.
Операторы используют для объединения простых выражений в более сложные и выполнения действий. Операторы выполняют операции: • Арифметические; • Логические; • Сравнения (отношения); • Конкатенации (сцепления строк). Переменная, над которой выполняется операция, называется операндом.
3. 3. Данные VBA р Обозначение Integer Long / Long Integer Single Double Тип данных Размер (байт) Целое 2 число Диапазон значений -32768 - 32768 Длинное целое 4 -2 Е 10 – 1 Е 10 Действительное 4 1, 4 Е-45 – 3, 4 Е 38 Действительное двойной точности 8 4, 9 Е-324 – 1, 79 Е 308
Данные VBA (продолжение) Обозна. Тип данных чение Boolean Логический Currency Date Object Variant String Денежный Дата и время Объект Вариант Строка Размер Диапазон значений (байт) 2 True, False 8 8 4 22 -9 Е 15 – 9 Е 15 01. 1002 – 31. 12. 9999 Указатель объекта Любой тип данных Длина 1 – 65400 символов строки
3. 4. Переменные Переменная - это область памяти для временного хранения данных, которой присвоено имя. Значение переменной может меняться в процессе выполнения программы. Тип переменной описывают в начале программы с помощью оператора: Dim Имя. Переменной As Тип. Данных
Пример В таблице Excel следует разместить сведения о клиентах некоторого банка: • Фамилия И. О. • Номер счета • Сумма вклада Эти данные должны передаваться в ЭТ из программы. В программу из ЭТ нужно записать значение процентной ставки на текущий момент времени.
Решение Ввод данных на лист ЭТ
Создать проект VBA: Сервис – Макрос –Редактор Visual Basic Открыть окно модуля: Insert – Module (Вставка – Модуль) Создать процедуру: Insert – Procedure (Вставка – Процедура)
Ввести имя процедуры:
Откроется окно кода
Ввести текст программы: SUB Клиент ( ) ‘ Описание типа переменных Dim Фамилия As String Dim Счет, Процент As Integer Dim Сумма As Currency ‘ Запись процента из ЭТ в программу Процент = Range(“C 2”) ‘ Запись в программу сведений о клиенте Фамилия =“Иванов” Счет =1001 Сумма = 20000
‘ Передача данных из программы в ЭТ Range(“A 4”) = Фамилия Range(“В 4”) = Счет Range(“С 4”) = Сумма END SUB Запуск программы на выполнение Run (клавиша F 5)
Проверка работы программы Перейти в ЭТ (щелкнув по MS EXCEL внизу экрана на Панели задач)
Обратите внимание! Все переменные можно было описать с использованием переменной Variant: Dim Фамилия, Счет, Процент, Сумма As Variant Но в больших программах это приводит к серьезному увеличению объема памяти.
3. 5. Операции производят над выражениями, переменными и данными. Арифметические операции Математическая запись A+B AB Запись. VBA A+B A*B A/B AB A^B
Операции отношения н. Математическая VBA запись A=B AB А В A >= B A<>B Результат операции True или False
Ответьте на вопрос: Какой тип у переменных Х и b во фрагменте программы ? Dim Х as Currency Dim b as Boolean А. Х – строковый, b – действительный; В. Х – целый, b – действительный; С. Х – денежный, b – логический; D. Х - логический, b – вариант.
Ответьте на вопрос: Какой тип данных может описать любую переменную? А. Variant В. Object С. String D. Long
3. 6 Массивы Массив – это упорядоченный набор данных, например, А 1, А 2, А 3, …, Аn При работе с массивами их следует описать в начале программы с указанием размерности. Синтаксис описания массивов Dim Имя. Массива(Размерность) As Тип. Элементов
Например: Dim A(15) As Integer Массив А из 15 целых чисел; Dim B(3, 4) As Single Матрица В из трех строк и четырех столбцов действительных чисел. Допускается такая запись: Dim A(1 To 15) As Integer Dim B(1 To 3, 1 To 4) As Single
Массив в программе изменяется поэлементно, например: Y = A(7) (переменной Y присвоено значение 7 -го элемента массива А). Z = B(1, 3) (переменной Z присвоено значение элемента матрицы В, стоящего на пересечении первой строки и третьего столбца).
3. 7. Встроенные функции VBA Встроенными называют заранее запрограммированные функции, предназначенные для проведения часто встречающихся вычислений. В VBA есть несколько категорий таких функций: Математические; Проверка типов; Преобразования форматов; Времени и даты; Обработки строк.
Математические функции н Математическая запись На VBA Abs(x) Sin x Sin(x) Cos x Cos(x) ex Exp(x) Ln x Log(x) Sqr(x)
Математические выражения в программу вводят по определенным правилам: 1. Используют арифметические знаки - + * /; 2. Выражения записывают в строку, применяя скобки ( ); 3. Правильно вводят встроенные функции, а аргумент или выражение помещают в скобки.
Задание Запишите арифметическое выражение, используя правила ввода формул в программу: А. (x^2+3*x)/8*x-5)+x В. (x^2+3 x)/(8 x-5)+x С. (x^2+3 x)/(8 x-5+x) D. (x^2+3*x)/(8*x-5)+x
Задание Запишите арифметическое выражение на языке Бэйсик с наименьшим использованием скобок А. (Exp(Abs(x))+sin(x)/2/Log(x) В. Exp(Abs(x))+sin(x))/(2*Log(x) С. (Exp(Abs(x))+sin(x))/2*Log(x) D. Exp(Abs(x))+sin*x/(2*Log*x)