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

доп_2.ppt

  • Количество слайдов: 57

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

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

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

Рекомендуемая литература 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 Эйффель Смолток Visual Basic К языкам ООП относятся: C++ Java Object Pascal Эйффель Смолток Visual Basic

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

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

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

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

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

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

Банковская система состоит из экземпляров трех классов Класс 1 СЧЕТ Класс 2 Свойства № Банковская система состоит из экземпляров трех классов Класс 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А Плюсы: Простой и мощный язык; Его объекты можно использовать в Delphi, C++; Особенности VBА Плюсы: Простой и мощный язык; Его объекты можно использовать в Delphi, C++; Включен в состав Ms Office; Мощные встроенные интеллектуальные средства (макрорекодер). Минус: Ограниченные возможности наследования.

2. 2. Объекты и их семейства Объекты VBA Рабочие книги Work. Books Рабочие листы 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 2. 3. Иерархия объектов Application Work. Books Work. Sheets Charts VBProects Styles Fonts Borders

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

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

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

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

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

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

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

3. 3. Данные VBA р Обозначение Integer Long / Long Integer Single Double Тип 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 Данные 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. Переменные Переменная - это область памяти для временного хранения данных, которой присвоено 3. 4. Переменные Переменная - это область памяти для временного хранения данных, которой присвоено имя. Значение переменной может меняться в процессе выполнения программы. Тип переменной описывают в начале программы с помощью оператора: Dim Имя. Переменной As Тип. Данных

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

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

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

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

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

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

‘ Передача данных из программы в ЭТ Range(“A 4”) = Фамилия Range(“В 4”) = ‘ Передача данных из программы в ЭТ Range(“A 4”) = Фамилия Range(“В 4”) = Счет Range(“С 4”) = Сумма END SUB Запуск программы на выполнение Run (клавиша F 5)

Проверка работы программы Перейти в ЭТ (щелкнув по MS EXCEL внизу экрана на Панели Проверка работы программы Перейти в ЭТ (щелкнув по MS EXCEL внизу экрана на Панели задач)

Обратите внимание! Все переменные можно было описать с использованием переменной Variant: Dim Фамилия, Счет, Обратите внимание! Все переменные можно было описать с использованием переменной Variant: Dim Фамилия, Счет, Процент, Сумма As Variant Но в больших программах это приводит к серьезному увеличению объема памяти.

3. 5. Операции производят над выражениями, переменными и данными. Арифметические операции Математическая запись A+B 3. 5. Операции производят над выражениями, переменными и данными. Арифметические операции Математическая запись A+B AB Запись. VBA A+B A*B A/B AB A^B

Операции отношения н. Математическая VBA запись A=B A<B A <= B A>B А В Операции отношения н. Математическая VBA запись A=B AB А В A >= B A<>B Результат операции True или False

Ответьте на вопрос: Какой тип у переменных Х и b во фрагменте программы ? Ответьте на вопрос: Какой тип у переменных Х и b во фрагменте программы ? Dim Х as Currency Dim b as Boolean А. Х – строковый, b – действительный; В. Х – целый, b – действительный; С. Х – денежный, b – логический; D. Х - логический, b – вариант.

Ответьте на вопрос: Какой тип данных может описать любую переменную? А. Variant В. Object Ответьте на вопрос: Какой тип данных может описать любую переменную? А. Variant В. Object С. String D. Long

3. 6 Массивы Массив – это упорядоченный набор данных, например, А 1, А 2, 3. 6 Массивы Массив – это упорядоченный набор данных, например, А 1, А 2, А 3, …, Аn При работе с массивами их следует описать в начале программы с указанием размерности. Синтаксис описания массивов Dim Имя. Массива(Размерность) As Тип. Элементов

Например: Dim A(15) As Integer Массив А из 15 целых чисел; Dim B(3, 4) Например: 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 Массив в программе изменяется поэлементно, например: Y = A(7) (переменной Y присвоено значение 7 -го элемента массива А). Z = B(1, 3) (переменной Z присвоено значение элемента матрицы В, стоящего на пересечении первой строки и третьего столбца).

3. 7. Встроенные функции VBA Встроенными называют заранее запрограммированные функции, предназначенные для проведения часто 3. 7. Встроенные функции VBA Встроенными называют заранее запрограммированные функции, предназначенные для проведения часто встречающихся вычислений. В VBA есть несколько категорий таких функций: Математические; Проверка типов; Преобразования форматов; Времени и даты; Обработки строк.

Математические функции н Математическая запись На VBA Abs(x) Sin x Sin(x) Cos x Cos(x) Математические функции н Математическая запись На VBA Abs(x) Sin x Sin(x) Cos x Cos(x) ex Exp(x) Ln x Log(x) Sqr(x)

Математические выражения в программу вводят по определенным правилам: 1. Используют арифметические знаки - + Математические выражения в программу вводят по определенным правилам: 1. Используют арифметические знаки - + * /; 2. Выражения записывают в строку, применяя скобки ( ); 3. Правильно вводят встроенные функции, а аргумент или выражение помещают в скобки.

Задание Запишите арифметическое выражение, используя правила ввода формул в программу: А. (x^2+3*x)/8*x-5)+x В. (x^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) С. (Exp(Abs(x))+sin(x))/2*Log(x) D. Exp(Abs(x))+sin*x/(2*Log*x)