Разделы презентаций


Обработка данных

Содержание

Элементы языка VBAОсобенности организации кодаИнформатика. 2 семестр. Тема 03. Обработка данных

Слайды и текст этой презентации

Слайд 1Университет машиностроения
Кафедра «Автоматика и процессы управления»
Дисциплина
Информационные технологии
Тема 03
Общие вопросы


обработки данных
2 семестр
Информатика. 2 семестр. Тема 03. Обработка данных

(Язык VBA

for Ms Excel)
Университет машиностроенияКафедра «Автоматика и процессы управления»ДисциплинаИнформационные технологииТема 03 Общие вопросы обработки данных2 семестрИнформатика. 2 семестр. Тема 03.

Слайд 2Элементы языка VBA
Особенности организации кода
Информатика. 2 семестр. Тема 03. Обработка

данных

Элементы языка VBAОсобенности организации кодаИнформатика. 2 семестр. Тема 03. Обработка данных

Слайд 3Общие принципы



Visual Basic for Application – императивный язык программирования высокого

уровня.
Линейное: Инструкции разделены и следуют последовательно.
Структурное: Блоки инструкций не

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

Информатика. 2 семестр. Тема 03. Обработка данных

Общие принципыVisual Basic for Application – императивный язык программирования высокого уровня. Линейное: 	Инструкции разделены и следуют последовательно.Структурное:

Слайд 4Общие принципы



Visual Basic for Application – интерпретируемый язык программирования высокого

уровня.
Компиляция: Построчный разбор кода при выполнении
Проверка: Синтаксис проверяется при

вводе
Логические (структурные) ошибки выявляются только на этапе выполнения
Контроль работы с памятью
Хранение: Память может выделяться «по запросу» для использования с необъявленными именами
Типизация: Возможность изменения типа данных при исполнении
Необратимость: Изменения в данных невозможно обратить (вернуть)

Информатика. 2 семестр. Тема 03. Обработка данных

Общие принципыVisual Basic for Application – интерпретируемый язык программирования высокого уровня. Компиляция: 	Построчный разбор кода при выполненииПроверка:

Слайд 5


Visual Basic for Application – язык с поддержкой объектно-ориентированного и

событийного программирования
Объект: Совокупность данных, характеризующих его состояние, и функций их

обработки, моделирующих поведение объекта.
Класс: Программный шаблон, на основе которого создается объект (реализация).
Метод: Функция или процедура, являющаяся частью описания объекта, предназначенная для выполнения каких-либо действий над объектом (данными).
Событие: Информационный эквивалент реакции системы на полученное сообщение.
Обработчик: Метод объекта, предназначенный для обработки специфического события.

Информатика. 2 семестр. Тема 03. Обработка данных

Visual Basic for Application – язык с поддержкой объектно-ориентированного и событийного программированияОбъект: 	Совокупность данных, характеризующих его состояние,

Слайд 6


Основной принцип организации кода в Visual Basic for Application –

модульно-процедурный
Размещение кода: Модули в файлах .bas или в составе документа.
Организация

кода: Исполняемые инструкции (команды) размещаются в теле процедур (Sub … End Sub) или функций (Function … End Function)
Объявление: В области General и внутри процедур и функций
Видимость: Доступность объекта или процедуры (функции) определяется размещением (например, в том же модуле, в той же процедуре и т.п.)
Модуль ≈ класс объекта (ООП)
Private, public управляют доступом к свойствам (глобальным переменным модуля) и методам (процедурам и функциям)

Информатика. 2 семестр. Тема 03. Обработка данных

Основной принцип организации кода в Visual Basic for Application – модульно-процедурныйРазмещение кода: 	Модули в файлах .bas или

Слайд 7Элементы языка VBA
Операции с данными
Хранение и
преобразование
Информатика. 2 семестр. Тема

03. Обработка данных

Элементы языка VBAОперации с даннымиХранение и преобразованиеИнформатика. 2 семестр. Тема 03. Обработка данных

Слайд 8


Литералы Литеральная константа – это данные (число, строковое выражение, дата и

т.п.), размещенные непосредственно в коде программы
Константы Именованная константа – это

какие-либо данные, которые не изменяются при выполнении программы, и для обращения к ним используется специальное символьное имя определённое в коде
Допускается использование типизированных констант при объявлении которых явно задаётся тип данных
Переменные Именованные объекты, предназначенные для временного хранения изменяемых данных

Информатика. 2 семестр. Тема 03. Обработка данных

Представление данных в коде

Литералы	Литеральная константа – это данные (число, строковое выражение, дата и т.п.), размещенные непосредственно в коде программыКонстанты 	Именованная

Слайд 9


Внутренняя константа – это именованная константа, которая была определена разработчиками

VBA.
Внутренние константы для работы с host-приложениями. Excel содержит внутренние константы

для использования с рабочими книгами электронных таблиц.
Word содержит внутренние константы для работы с документами и шаблонами текстового редактора
Access – константы для операций с базами данных.
Внутренние константы, определяемые VBA, начинаются с букв vb.
Внутренние константы Excel - xl; Word - wd.
Полный список имеющихся в наличии внутренних констант доступен через Object Browser.
Его можно вызвать клавишей F2 в окне редактора VBA.

Информатика. 2 семестр. Тема 03. Обработка данных

Специальные константы

Внутренняя константа – это именованная константа, которая была определена разработчиками VBA.Внутренние константы для работы с host-приложениями. Excel

Слайд 10


Информатика. 2 семестр. Тема 03. Обработка данных

Использование литералов и констант
Sub

Vvod_Formuly_Skidki()
' Макрос записан 1.12.2012
' Быстрый вызов Ctrl + Q

Const A

As Integer = 1

ActiveCell.Value = "Hello world"

Cells(ActiveCell.Row, ActiveCell.Column + 1).FormulaR1C1 = "=(RC[-2]*RC[-3]-RC[-1])*usd"

Cells(ActiveCell.Row + A, ActiveCell.Column).Select
End Sub

Наименование макроса (может быть записано кириллицей)

Начало и конец кода макроса

Комментарий к тексту программы

Строковый литерал – последовательность символов в коде программы, интерпретируемых как данные



Объект

Свойство

Метод

Объявление типизированной константы

Использование константы

Числовой литерал

Информатика. 2 семестр. Тема 03. Обработка данныхИспользование литералов и константSub Vvod_Formuly_Skidki()' Макрос записан 1.12.2012' Быстрый вызов Ctrl

Слайд 11


Информатика. 2 семестр. Тема 03. Обработка данных

Объявление переменных
Dim i
Dim

j As Integer

Sub MySub()
' Макрос записан 1.12.2012
' Быстрый вызов Ctrl

+ Q

Dim X As Double = 0.5
Y = 1 + X

ActiveCell.Value = "1" + Y

End Sub

Область General модуля

Объявление типизированной глобальной переменной



Оператор присваивания

Объявление типизированной переменной и инициализация значением

Использование переменной

Неявное преобразование типов


Тело процедуры

Неявное объявление через установку (присвоение) значения

Объявление нетипизированной глобальной переменной

Оператор Dim (от dimention) – Объявляет и размещает в памяти одну или несколько переменных.

Информатика. 2 семестр. Тема 03. Обработка данныхОбъявление переменныхDim i Dim j As IntegerSub MySub()' Макрос записан 1.12.2012'

Слайд 12Типы данных
Информатика. 2 семестр. Тема 03. Обработка данных

Типы данныхИнформатика. 2 семестр. Тема 03. Обработка данных

Слайд 13


Информатика. 2 семестр. Тема 03. Обработка данных

«Наследие Basic» - явное

указание типа
Dim X#
Dim Y As Double
Объявление типизированной переменной
Использование указателя

типа переменной

Специальный символ (из не разрешенных к использованию в именах переменных) выступает указателем типа переменной при объявлении и использовании.

Символы объявления типов:

Информатика. 2 семестр. Тема 03. Обработка данных«Наследие Basic» - явное указание типаDim X# Dim Y As DoubleОбъявление

Слайд 14


Информатика. 2 семестр. Тема 03. Обработка данных

Операции с переменными
Dim i

As Integer
Public x As Double
Private c As Single
Static b As

Boolean

Sub MySub()

Dim b As Integer

Static y As Double


End Sub

Область General

Глобальная переменная модуля


Объявление переменной с тем же именем, что и глобальная, экранирует внешнюю переменную

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


Тело процедуры

public – переменная доступна во всех модулях приложения
private – переменная доступна только в данном модуле (аналогично Dim в General)
static – переменная размещается в статической памяти

Применение модификаторов области видимости и способа размещения в памяти

Публичная переменная (видна везде)

Приватная переменная модуля

Статическое свойство модуля класса

Информатика. 2 семестр. Тема 03. Обработка данныхОперации с переменнымиDim i As IntegerPublic x As DoublePrivate c As

Слайд 15Хранение данных:
Как это обычно работает?
Информатика. 2 семестр. Тема 03. Обработка

данных

Регистры процессора
Структура памяти приложения
Стек, куча и указатели

Хранение данных:Как это обычно работает?Информатика. 2 семестр. Тема 03. Обработка данных Регистры процессора Структура памяти приложения Стек,

Слайд 16


Информатика. 2 семестр. Тема 03. Обработка данных

Регистры центрального процессора
i8086
Сегментные регистры
CS

(Code Segment)
DS (Data Segment)
SS (Stack Segment)
ES (Enhanced Segment)
Регистры-указатели
SI (Source Index)


DI (Destination Index)

Регистры-указатели
BP (Base Pointer)
SP (Stack Pointer)

Assembler (сборщик) – язык низкого уровня, основанный на мнемонической записи инструкций центрального процессора

MOV A,100 – поместить число 100 в регистр аккумулятора

PUSH C – поместить (втолкнуть) регистр C в стек

Информатика. 2 семестр. Тема 03. Обработка данныхРегистры центрального процессораi8086Сегментные регистрыCS (Code Segment)DS (Data Segment)SS (Stack Segment)ES (Enhanced

Слайд 17


Информатика. 2 семестр. Тема 03. Обработка данных

Структура памяти приложения
Размещение в

памяти зависит от способа объявления переменной и типа данных

Вершина –

предельные доступные приложению адреса

ОЗУ

Дно – минимальные доступные приложению адреса

static

code

heap

stack


system

Аппаратный стек – специально организованная область памяти для обработки вызовов и хранения временных данных


«Куча» («хип») – динамически распределяемая память для хранения данных


Статическая память – статически распределяемая память для хранения данных, структура которой определяется при компиляции


Область кода – область размещения программного кода, в том числе объединенных с ним на этапах сборки и компиляции неизменных данных (констант и ресурсов)


Область для организации системных вызовов


Информатика. 2 семестр. Тема 03. Обработка данныхСтруктура памяти приложенияРазмещение в памяти зависит от способа объявления переменной и

Слайд 18



Информатика. 2 семестр. Тема 03. Обработка данных

Использование стека при вычислениях
При

использовании стека необходимо следить за используемыми размерами типов данных
Вершина стека

– указатель на первую свободную ячейку

резерв стека

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


Адрес вершины стека хранится в специальных регистрах процессора SS (селектор регистра стека) и ESP (указатель стека)



стек

Растёт вниз

Инструкция Push (Втолкнуть) используется для внесения в стек промежуточных данных и ссылок, автоматически уменьшает ESP

Инструкция Pop (Извлечь) используются для получения из стека промежуточных данных и ссылок, автоматически увеличивает ESP

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

3 × (4 + 5)


3 4 5 + ×

+

3

4

5


×

3

9


27



Информатика. 2 семестр. Тема 03. Обработка данныхИспользование стека при вычисленияхПри использовании стека необходимо следить за используемыми размерами

Слайд 19


Информатика. 2 семестр. Тема 03. Обработка данных

Поддержка стековых операций процессором
Базовое

использование стека – сохранение состояния процессора (всех регистров) при вызове

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

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


Interrupt (Прерывание) – встроенная последовательность операций процессора, выполняемая в ответ на заданное событие. При обработке прерывания в стек помещается текущий адрес выборки команды, затем по номеру прерывания вычисляется ячейка в таблице прерываний, содержащая адрес процедуры обработчика и выполняется переход по этому адресу


стек

Инструкция Call (Вызвать) помещает в стек адрес выборки команды, затем выполняет сохранение всех регистров, а потом выполняется переход по адресу, указанному в инструкции

Offset (Смещение) – возможность указать в инструкции по обмену данными адрес ячейки памяти с помощью задания смещения от адреса вершины стека. Например, ADD AX, [SP + offset ]
С учетом возможности прямого изменения значения указателя стека это даёт возможность выделять (резервировать) память под хранение данных



параметр B


параметр A

адрес возврата



лок. перемен. D

лок. перемен. C


копия регистров

резерв стека


MOV AX, [SP + 34] – поместить в аккумулятор (регистр AX) значение параметра А

Для i8086 для сохранения копии регистров нужно 26 байт, поэтому (в подпрограмме):

Задача: запишите на ассемблере D = A + B

Информатика. 2 семестр. Тема 03. Обработка данныхПоддержка стековых операций процессоромБазовое использование стека – сохранение состояния процессора (всех

Слайд 20


Информатика. 2 семестр. Тема 03. Обработка данных

Практическое использование стека
P.S. Изображение

перевернуто

Информатика. 2 семестр. Тема 03. Обработка данныхПрактическое использование стекаP.S. Изображение перевернуто

Слайд 21


Информатика. 2 семестр. Тема 03. Обработка данных

Где хранятся переменные?
Размещение в

памяти зависит от способа объявления переменной и типа данных

Выделенная приложению

память

ОЗУ

static data

code

heap

stack


system

Стековые переменные и адреса:
Простые типы, указатели, адреса переходов, фиксированные массивы


Динамические переменные:
Строки, сложные типы данных, объекты, динамические массивы, таблицы указателей


Статическая память:
Простые типы (глобальные переменные), таблицы указателей


Константные данные. Таблица указателей на адреса входов. Защищена от записи !!!


Таблица указателей на адреса входов системных функций. Защищена от записи!!!



dynamic data

Информатика. 2 семестр. Тема 03. Обработка данныхГде хранятся переменные?Размещение в памяти зависит от способа объявления переменной и

Слайд 22




Информатика. 2 семестр. Тема 03. Обработка данных

Как хранятся переменные?
Метод хранения

зависит от структуры данных:
static
code
heap
stack
system
В стеке хранятся временные данные стандартного размера:
Локальные

данные, аргументы функций, указатели


Динамические переменные:
Строки, сложные типы данных, объекты, динамические массивы, таблицы указателей на ячейки с данными


Статическая память:
Глобальные переменные, таблицы указателей


Имена переменных и первичные указатели на объекты
Код программы содержит инструкции с жесткими или относительными ссылками на объекты


Простые данные (integer, boolean, datetime…) могут храниться в одной ячейке;
Составные данные (массивы) фиксированного размера могут храниться компактно;
Данные сложной структуры хранятся с использованием таблицы указателей;
Все динамические данные хранятся с использованием указателей.


A


101h


*


hello

102h


*

world



103h



B:const


*


*

Информатика. 2 семестр. Тема 03. Обработка данныхКак хранятся переменные?Метод хранения зависит от структуры данных:staticcodeheapstacksystemВ стеке хранятся временные

Слайд 23


Объявление Присвоение символического (читаемого) имени структуре данных заданного типа.
Объявление простого типа

в VBA эквивалентно выделению памяти и инициализации «пустым» (нулевым) значением
Инициализация

Физическое выделение памяти с одновременным вводом начального (или заданного) значения
Динамические структуры данных могут инициализироваться без выделение памяти под данные, а копированием указателя (принцип: копирование по запросу)
Изменение Простые типы фиксированного размера перезаписывают значение в ту же ячейку памяти
Динамические и сложные типы заново выделяют память и копируют неизменившиеся фрагменты
Освобождение «Сборщик мусора» для «ненужных» ячеек в куче (не используемых далее в коде или разыменованных явно)

Информатика. 2 семестр. Тема 03. Обработка данных

Общие правила работы с переменными и объектами

Объявление	Присвоение символического (читаемого) имени структуре данных заданного типа.Объявление простого типа в VBA эквивалентно выделению памяти и инициализации

Слайд 24


Интерпретация Построчная обработка исходного кода программы с возможностью приостановки исполнения (паузы)

и переключения в режим «отладки»
Код макросов исполняется в одном

потоке с функциями хост-приложения и пользовательских элементов управления, при этом отладочные инструменты работают в отдельном потоке
Отладка Средства отладки доступны всё время исполнения кода программы и в режиме паузы, в котором возможны модификация исходного кода, а также значений переменных
«Постановка на паузу» возможна из меню, либо с использованием «точек останова» (breakpoints)
Автоматическое освобождение памяти – все ссылки на объекты автоматически разыменовываются при завершении исполнения блока кода, в котором были объявлены данные переменные-указатели
Созданные объекты уничтожаются автоматически

Информатика. 2 семестр. Тема 03. Обработка данных

Особенности (отличия) VBA

Интерпретация	Построчная обработка исходного кода программы с возможностью приостановки исполнения (паузы) и переключения в режим «отладки» Код макросов

Слайд 25Университет машиностроения
Кафедра «Автоматика и процессы управления»
Блок дисциплин
Информатика и информационные технологии
Спасибо

за внимание !!!
Информатика. 2 семестр. Тема 03. Обработка данных

Далее:

Введение в ПиОА
Структурные диаграммы
Общие вопросы проектирования
Обработка данных
Основные алгоритмические конструкции

Университет машиностроенияКафедра «Автоматика и процессы управления»Блок дисциплинИнформатика и информационные технологииСпасибо за внимание !!! Информатика. 2 семестр. Тема

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика