ТОП 10:

Понятие АС. Виды АС. (согласно ГОСТ 34.003-90)



Вопросы к экзамену

Диалоговые средства АСОИ

АСОИ

 

Понятие АС. Виды АС. (согласно ГОСТ 34.003-90)

 

Согласно ГОСТ 34.003-90. Комплекс стандартов на автоматизированные системы. АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ. Термины и определения.

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

В зависимости от вида деятельности выделяют, например, следующие виды АС: автоматизированные системы управления (АСУ), системы автоматизированного проектирования (САПР), автоматизированные системы научных исследований (АСНИ) и др.

В зависимости от вида управляемого объекта (процесса) АСУ делят, например, на АСУ технологическими процессами (АСУТП), АСУ предприятиями (АСУП) и т.д.

 

Режимы выполнения функций АС.????????????????????????????????

 

1.23 диалоговый режим выполнения функции автоматизированной системы; Режим выполнения функции АС, при котором человек управляет решением задачи, изменяя ее условия и (или) порядок функционирования АС на основе оценки информации, представляемой ему техническими средствами АС

1.24 неавтоматизированный режим выполнения функции автоматизированной системы; Режим выполнения функции АС, при котором она выполняется только человеком

 

Понятие диалоговых средств АС. Виды диалоговых средств АС.

 

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

Диалоговый режим — это проектирование с применением ДС, при котором пользователь, взаимодействуя с АС, выдает инструкции управления проектированием. Диалоговые средства составляют часть КСАП и обеспечивают перевод САПР из пакетного режима в диалоговый.

Пакетный режим — это проектирование при отсутствии ДС и непосредственного воздействия пользователя на процесс проектирования.

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

К символьным относят ДС, обеспечивающие представление данных в символьном (алфавитно-цифровом) виде, к графическим — ДС в графическом виде, а к смешанным — ДС как в графическом, так и в символьном виде.

В зависимости от режима применения ДС АС подразделяют на средства автономного, неавтономного и смешанного применения.

 

Темп ведения диалога.

 

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

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

Темп ведения диалога зависит от характеристик аппаратных и программных средств ЭВМ, а такжеот специфики решаемых задач. Требование соответствия темпа ведения диалога психологическим особенностям человека выдвигает ограничения на значения этих характеристик не только «сверху», но и «снизу». Поясним это утверждение.

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

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

Требования к времени ответа зависят от того, что ожидает пользователь от рабо­ты системы, и от того, как взаимодействие с системой влияет на выполнение его заданий. Исследования показали,, что если время ответа меньше ожидаемого, точность выбора операции из меню увеличивается с увеличением времени ответа системы. Это связано с тем, что излишне быстрый ответ системы как бы «подгоня­ет» пользователя, заставляет его суетиться в стремлении «не отставать» от более расторопного партнера по общению. Замечено, что начинающий пользователь боится работать с системой, если, потратив несколько минут на ввод, он моментально получает от нее ответ с сообщением об ошибке.

Время ответа должно соответствовать естественному ритму работы пользовате­лей. В обычном разговоре люди ожидают ответа около 2 секунд и ждут того же при работе с компьютером. Время ожидания зависит от их состояния и намерений. На представления пользователя оказывает сильное влияние также его предшествую­щий опыт работы с системой.

Обычно человекможет одновременно запомнить сведения о пяти-девяти пред­метах. Считается также, что хранение данных в кратковременной памяти ограниче­но по времени: около 2 секунд для речевой информации и 30 секунд для сенсорной. Поэтому люди имеют склонность разбивать свою деятельность на этапы, соответ­ствующие порциям информации, которые они могут хранить одновременно в па­мяти. Завершение очередного этапа называетсяклаузой. Задержки, препятствую­щие наступлению клаузы, очень вредны и неприятны, так как содержимое кратковременной памяти требует постоянного обновления и легко стирается под влиянием внешних факторов. Зато после клаузы подобные задержки вполне при­емлемы и даже необходимы. Завершение задачи, ведущее к отдыху, называютзак­рытием. В этот момент исчезает необходимость дальнейшего хранения информа­ции и человек получает существенное психологическое облегчение. Так как пользователи интуитивно стремятся к закрытию в своей работе, следует делить диалоги на фрагменты, чтобы пользователь мог «вовремя» забывать промежуточ­ную информацию.

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

Имеющиеся результаты исследований позволили выработать следующие реко­мендации по допустимому времени ответа интерактивной системы:

0,1... 0,2 с — для подтверждения физических действий (нажатие клавиши, рабо­та со световым пером, «мышью»);

0,5... 1,0 с — для ответа на простые команды (например, от момента ввода команды, выбора альтернативы из меню до появления нового изображения на экране);

1... 2 с — при ведении связного диалога (когда пользователь воспринимает се­рию взаимосвязанных вопросов как одну порцию информации для формирования одного или нескольких ответов, задержка между следующими друг за другом воп­росами не должна превышать указанную длительность);

2... 4 с — для ответа на сложный запрос, состоящий в заполнении некоторой формы. Если задержка не влияет на другую работу пользователя, связанную с пер­вой, могут быть приемлемы задержки до 10 с;

более 10 с — при работе в мультизадачном режиме, когда пользователь вос­принимает данную задачу как фоновый процесс. Принято считать, что если пользователь не получает ответ в течение 20 с, то это не интерактивная систе­ма. В таком случае пользователь может «забыть» о задании, заняться решени­ем другой задачи и возвращаться к нему тогда, когда ему будет удобно. При этом программа должна сообщать пользователю, что задержка ответа не явля­ется следствием выхода системы из строя (например, путем регулярного об­новления строки состояния системы или ведения протокола выполнения зада­ния пользователя).

 

Диалоговая панель ОТКРЫТЬ

 

Диалоговая панель ОТКРЫТЬ позволяет пользователю просматривать содер­жимое файловой системы, включая просмотр сети, и открывать определенный файл. Данная диалоговая панель отображается на экране по команде Открыть из меню Файл или с помощью одноименной кнопки панели инструментов.

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

Чтобы открыть файл, пользователь выбирает файл из списка в диалоговой пане­ли, или заносит имя файла в текстовое поле Имя файла и затем выбирает команду Открыть. Пользователь может также вызвать всплывающее меню для файла и выбрать в нем команду Открыть. В качестве ускоренного способа открытия файла используется двойной щелчок ЛКМ на его имени. Выбор кнопки Отменить приво­дит к закрытию окна без открытия файла.

Когда пользователь выбирает какую-либо пиктограмму и дважды щелкает па ней ЛКМ, открывается связанный с ней файл. Другими словами, это дает такой же эффект, как если бы пользователь непосредственно открыл файл.

Список файлов, представленный в диалоговой панели, определяется текущим каталогом и типом фильтра, установленного в выпадающем списке Тип файла.

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

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

Для изменения текущего каталога пользователь либо выбирает соответствующий пункт в списке маршрутов доступа, либо вводит требуемый маршрут в текстовое поле Имя файла и нажимает кнопку Открыть. Выбор пользователем кнопки Отменить не должен приводить к изменению маршрута. Всегда сохраняйте самый последний маршрут доступа между последовательными открытиями диалоговой панели. Если приложение поддерживает открытие нескольких файлов, подобно тому, как это реализовано в MDI, установите маршрут, соответствующий местоположению файла, открытого последним, хотя бы соответствующее ему дочернее окно и не являлось на этот момент активным. Если имеется несколько работающих экземпляров приложения, то установка текущего каталога должна выполняться отдельно для каждого из них.

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

Пользователь может изменить настройку фильтра, выбрав другой тип в выпадающем списке Тип файла, или набрав его в текстовом поле списка и нажав кнопку Открыть. Фильтр может содержать расширение имени файла. Например, если пользователь заносит *.txt и выбирает кнопку Открыть, в списке отображаются только файлы с расширением .txt. Занесение расширения в это текстовое поле приводит также к изменению типа, установленного в выпадающем списке Тип файла. Если приложение не поддерживает работу с файлами данного типа, соответствующий ему элемент списка отображается в состоянии «не определено».

В список Тип файла следует включить как все зарегистрированные типы файлов, так и поддерживаемые вашим приложением. Для описания каждого пункта в списке рекомендуется использовать стандартные наименования. Например, для текстовых файлов должен быть установлен тип Текстовый документ (Text Document). Вы можете также включить пункт Все файлы (All Files), чтобы отобразить все файлы, имеющиеся в текущем каталоге, независимо от их типа.

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

• Если введено имя файла без расширения, то система пытается сначала отыскать файл среди файлов, имеющих тип вашего приложения, затем — среди файлов, имеющих тип, установленный на данный момент в списке Тип файла. Например, если пользователь вводит имя Мой_документ, и встроенное расширение приложе­ния — .doc, то система пытается в первую очередь открыть файл Мой_документ.doc. Если же системе не удается найти файл с таким именем и расширением, и этот тип не выбран в списке Тип файла, то система пытается открыть имеющийся в списке файл с тем же именем, независимо от расширения. Если таких файлов несколько, то система выводит соответствующее сообщение.

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

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

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

• Если имя файла содержит символы, запрещенные к использованию, система сообщает об этом пользователю.

Для диалоговой панели ОТКРЫТЬ система выполняет только сравнение имени файла. Ответственность за корректное использование файлов различных типов и за уведомление пользователя о несоответствии типа возлагается на приложение.

 

End Function

где

[Private | Public] – необязательные ключевые слова, определяющие

область видимости функции;

Function – ключевое слово, указывающее на то, что это функция;

ИмяФункции – имя функции (задается самим пользователем);

СписокПараметров – список формальных параметров, который может

отсутствовать;

As – (как) ключевое слово, предваряющее значение типа

данных;

Тип – тип данных возвращаемого значения;

ВозвращаемоеЗначениезначение, возвращаемое функцией;

End Functionключевые слова, указывающие на окончание

блока функции.

Особенность:

1) функция вычисляет единственное результирующее значение простого типа;

2) носителем возвращаемого значения является ее имя, т.е. идентификатор Имя_функции. Поэтому в теле функции должен присутствовать хотя бы один оператор присваивания, в левой части которого стоит имя описываемой функции, причем хотя бы один оператор такого вида должен быть выполнен. Этот оператор присваивания и определяет значение, вычисляемое с помощью функции.

 

 

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

Синтаксис:

[Private | Public] SubИмяПроцедуры (СписокПараметров) As Тип

Тело процедуры (строки кода)

End Sub

 

23. Данные и их описание в VBA: алфавит, лексемы языка. Переменные, константы, идентификаторы: определения. Правила написания идентификаторов. Примеры. Типы данных.

 

Алфавит VBA включает:

- прописные и строчные буквы латинского алфавита: А-Z, a-z;

- прописные и строчные буквы кириллицы: А-Я, а-я;

- цифры от 0-9;

- символ подчеркивания «_»;

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

- специальные символы, участвующие в построении конструкций языка:

+,-,*,/,\,^,=,>,<,[,],(,), . , : ,{,},’,@,&;

- составные символы, воспринимаемые как один символ: <=, >=, <>;

- комментарии, используемые для читаемости и понятности текста программы. Представляют собой последовательность любых символов, которая начинается со знака «’» (апостроф) или с ключевого слова Rem.

Пример.

‘ Это комментарий

Rem Это тоже комментарий

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

Лексема – это минимальная неделимая единица текста программы, которая имеет определенный смысл для компилятора.

Различают шесть классов лексем:

- свободно выбираемые и используемые идентификаторы;

- служебные (зарезервированные) слова;

- константы;

- строки (строковые константы);

- операции (знаки операций);

- разделители (знаки пунктуации).

 

Переменные и константы

Переменная – это объект, занимаемый именованную область оперативной памяти. Содержимое этого объекта может изменяться в ходе выполнения программы.

Константа – это объект, значение которого фиксировано и не может быть изменено во время выполнения программы.

Идентификатор - это имя переменной, константы, процедуры, функции, и других объектов.

Правила написания идентификаторов:

1) в программе он должен быть уникальным, не должен совпадать с зарезервированными словами VBA;

2) он должен начинаться только с буквы;

3) он может состоять из букв, цифр и знака подчеркивания. Не допустимы - пробелы, точки, разделительных символов, знаков операций и др.спецсимволов. Прописные и строчные буквы различаются;

4) длина идентификатора может включать до 255 символов, но VBA учитывает только первый 31 символ;

5) они могут быть простыми и составными.

Пример,

N, I, Number, Номер – простые имена переменных;

ФамилияСтудента – составное имя переменной.

Соглашения по стилю идентификаторов:

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

- имена из прописных букв используются для определения констант;

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

 

 

Типы данных

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

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

 

Переменная
Логический уровень Имя переменной (идентификатор) Тип переменной
Физический уровень Область памяти Формат представления в памяти

 

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

Для эффективного использования памяти необходимо правильно выбрать тип переменной. В таблице 1 приведены базовые типы переменных VBA, необходимая для их размещения память и диапазон возможных значений.

 

 

Таблица 1 - Основные типы данных

Тип Занимаемая память Интервалы значений  
Целочисленные типы  
Byte (целые числа) 1 байт 0…255  
Boolean (логические значения) 2 байта True…False  
Integer (целые числа) 2 байта -32768…32767  
Long Integer (длинные целые числа) 4 байта +/-2.1Е9  
Вещественные типы (типы с плавающей точкой)  
Single (одинарной точности с плавающей точкой) 4 байта -3.402823Е38…-1.401298Е-45 для отрицательных чисел 1.401298Е-45…3.402823Е38 для положительных чисел  
Double (двойной точности с плавающей точкой) 8 байт -1.7976313486232Е308…-4.94065645841247Е-324 для отрицательных чисел 4.94065645841247Е324…1.7976313486232Е308 для положительных чисел  
Строковые типы  
String (текстовая информация - строка фиксированной длины) 1 байт на каждый символ От 1 до 65400  
String (текстовая информация - строка переменной длины) 10 байт + 1 байт на каждый символ От 0 до двух миллиардов символов  
Объектные типы  
Object (Рисунок или ссылка на любой другой объект) 4 байта Ссылка на объект  
Типы Variant  
  Variant значения любого из перечисленных типов данных 16 байт для чисел, 22 байта + 1 байт на каждый символ для строк Любое числовое или строковое значение
               

 

 

24. Объявление переменных, констант в VBA. Синтаксис. Виды констант: именованные, неименованные. Примеры. Строковые переменные. Области видимости переменных и констант в программном коде.

 

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

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

Основной принцип VBA.

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

Декларация переменных:

При объявлении переменной надо указать, что объявляется переменная:

- задать имя переменной

- указать ее тип.

Тип указывает способ представления переменной. В переменных можно хранить любые типы данных: число, строку текста, экземпляр объекта, элементы управления, базы данных.

Синтаксис:

Static | Public | Private | Dim <имя Переменной1> [As <тип данных1>], [<имя Переменной2>[As <тип данных2>]]…

где

Dim (dimension – размер) – ключевое слово, которое сообщает VBA, что декларируется переменная и резервируется область памяти для хранения;

Имя переменной – имя переменной (идентификатор, не входящий в перечень ключевых слов VBA);

As (как) – ключевое слово, которое сообщает VBA, что определяется тип данных для переменной;

Тип – тип данных для объявляемой переменной;

Private (Частный), Public (Общий) – ключевые слова, определяющие область видимости переменной;

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

Пример 1.

Dim intName As Integer

Если Тип переменной не объявлен, по умолчанию переменная получает тип Variant.

Примечание. Распространенная ошибка в VBA заключается в использовании следующей инструкции:

Dim a, b As Long

Переменная b имеет тип Long, а переменная а – тип Variant.

 

Объявление констант

Константы могут быть неименованными и именованными.

Неименованные константы: символьные, целые и вещественные.

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

Пример 1.

“Р”, “Program”, “3.14”, “+”

2 Целые константы

Пример 1.

-3, -485, 44, 0

3 Вещественные константы

Представляются в памяти ЭВМ в двух формах:

- в форме с десятичной точкой (фиксированной): 0.1, -0.125;

- в форме с плавающей точкой вида <мантисса>Е<порядок>: 7.32Е+00 (=7.32), 1.5Е-02 (=0.015).

Встроенные константы (предопределенные).

Такие константы используются при работе с объектами приложения. Эти константы не требуют предварительного описания.

Встроенные в VBA константы имеют префикс VB. Для того чтобы узнать конкретное значение константы, можно воспользоваться окном “Object Browser” (Обозреватель объектов).

Пример 2.

MsgBox "Текстовое сообщение", vbInformation

(предопределенная константа vbInformation указывает, что в окне сообщения должен быть значок «Информация»).

 

Константы, создаваемые пользователем

Синтаксис:

[Public/Private] Const <имя_константы> [As <тип данных>] = <значение константы>,

где

<значение константы> - любое значение или формула, возвращающая значение, которое должно использоваться в качестве константы.

Имя константы и тип данных устанавливаются так же, как и для переменной.

Пример 3.

Const PI As Single = 3.14 ‘Объявлена именованная числовая константа для

‘хранения значения числа Pi

Const Firm = “ООО Бахус”

 

Строковые переменные

Различают строки переменной и фиксированной длины.

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

Строки фиксированной длины – это строка постоянного размера, указанного при объявлении переменной. Если такой строке присваивается значение более длинное, то лишние символы заполняются пробелами.

Синтаксис:

Dim VarName As String * ДлинаСтроки

где

ДлинаСтроки – целочисленная переменная или константа, содержащая число, которое указывает длину строковой переменной.

Пример 1.

Dim strMyName As String * 20 (объявляется строковая переменная фиксированной длины в 20 символов)

В VBA имеется строковая операция – конкатенация, которая применяется для объединения нескольких строк в одну, и обозначается символом амперсенда &. Этот символ должен слева и справа обрамляться пробелами.

Пример 2.

strMy = “Visual” & “Basic for Applications”

 

Операция присваивания

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

Назначает результат вычисления выражения переменной, константе или свойству объекта. Операция присваивания всегда включает знак равенства =.

Синтаксис:

Имя_Переменной = Выражение

где

Имя_Переменной – имя переменной (идентификатор);

Символ «=» – знак операции присваивания;

выражение – значение (число), комбинация переменных, констант,

функций, связанных знаками операций.

Работа операции присваивания.

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

Пример 1.

x = 2

x = x + 2

(переменной х будет присвоено 4)

Для присваивания переменной ссылки на объект применяется инструкция Set.

В общем случае инструкция Set имеет следующий синтаксис:

Set objectvar = [New] objectexpression [Nothing]

где

New – ключевое слово, которое используется при создании нового экземпляра объекта;

Nothing – позволяет освободить все системные ресурсы и ресурсы памяти, выделенные для объекта, на который имелась ссылка (т.е. она удаляет объект из памяти).

Пример 2.

Dim A as Object

Set A = cmdOK

MsgBox А.Caption

Инструкция Set присваивает переменной А элемент управления Кнопка с именем cmdOK и далее выводит в окне надпись отображаемую на поверхности кнопки.

 

 

В VBA доступ к свойствам и методам объекта осуществляется через точку. Например ActiveSheet.Cells(1,1). Если нужно обратиться к нескольким свойствам одного объекта, то придется каждый раз писать имя этого объекта. Но есть способ этого избежать. Оператор With используется для указания обьекта, с которым мы будем работать. Это выглядит так:

With объект
операции с объектом
End With

Рассмотрим пример. В нижеприведенном коде выводятся имя и свойство видимости объекта таблицы:

Sub Test()
MsgBox (Application.Worksheets.Item(1).Name)
MsgBox (Str(Application.Worksheets.Item(1).Visible))
End Sub

Используя With это можно сделать так:

Sub Test()
With Application
With .Worksheets
MsgBox (.Item(1).Name)
MsgBox (Str(.Item(1).Visible))
End With
End With
End Sub

Используя With можно получить доступ и к структурам, определенным пользователем:

'----------- Описание структуры --------
Type Cars
Vendor As String
Model1 As String
Model2 As String
End Type

'----------- Использование --------

Sub Test()
Dim MyCars As Cars

With MyCars
.Vendor = "Ford"
.Model1 = "Fiesta"
.Model2 = "Focus"
MsgBox (.Vendor)
End With

End Sub

 

 

26. Операторы в VBA. Условный оператор: линейный (безальтернативный, альтернативный), блочный (безальтернативный, альтернативный). Структура, работа. Примеры.

 

Условный оператор

Условный оператор VBA позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условный оператор – это средство ветвления вычислительного процесса.

В VBA существует 2 типа условного оператора: линейный и блочный.

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

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

Структура безальтернативного условного оператора (сокращенный вариант):

If <условие> Then <оператор 1>

Структура альтернативного условного оператора (полный вариант):

If <условие> Then <оператор 1> Else <оператор 2>

где

If, Then, Else - зарезервированные слова (если, то, иначе);

<условие> - произвольное выражение логического типа;

<оператор 1>, <оператор 2> - любые операторы языка VBA.

Работа. Вначале вычисляется условное выражение <условие>. Если результат есть True (истина), то выполняется <оператор 1>, а <оператор 2> пропускается. Если результат есть False (ложь), наоборот, <оператор 1> пропускается, а выполняется <оператор 2>.

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

Структура безальтернативного блочного оператора (сокращенный вариант)

If <условие> Then

<оператор1>

<оператор2>

…………….

<оператор n>

End If

где

End If - указывает на окончание блока оператора If.

Структура альтернативного блочного оператора:

If <условие> Then

<оператор1>

<оператор2>

…………….

<оператор n>

Else

<оператор1>

<оператор2>

…………….

<оператор n>

End If

Пример 1.

Постановка задачи. Создать в стандартном модуле пользовательскую процедуру вычисления уравнения вида ax2 + bx + c = 0.

Технология выполнения задания:

1 Исходные данные:

a, b, c Î R

Результат: х1, х2 Î R.

2 Набрать в стандартном модуле проекта следующую пользовательскую процедуру:

Private Sub yravnenie ()

a = InputBox("a=", a)

b = InputBox("b=", b)

c = InputBox("c=", c)

d = b ^ 2 - 4 * a * c

If d >= 0 Then

x1 = (-b + Sqr(d)) / (2 * a)

x2 = (-b - Sqr(d)) / (2 * a)

MsgBox (x1)

MsgBox (x2)

Else

MsgBox ("Решений нет")

End If

End Sub

3 Вычислить корни квадратного уравнения при произвольных исходных данных.

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

 

27. Операторы в VBA. Вложенные структуры условного оператора If: применение, формат. Конструкция If…Then…ElseIf: назначение, формат, работа. Оформление сложных условий в условном операторе. Примеры.

 

Операторы IF могут быть вложенными друг в друга. Такое вложение операторов применяется, если нужно проверить какое-либо условие при другом условии, которое является истинным.

Формат вложенного оператора If:

If <условие1> Then

If <условие2> Then

<оператор1>

<оператор2>

…………….

<оператор n>

Else

<оператор1>

<оператор2>

…………….

<оператор n>

End If

End If

Пример 2.

Постановка задачи. Создать в стандартном модуле пользовательскую функцию нахождения максимального среди трех заданных чисел y1 = a+2*b; y2 = a*b+c; y3 = c2 + 1.

Технология выполнения задания:

1 Исходные данные:

a, b, c Î R

Результат: Max Î R.

2 Набрать в стандартном модуле проекта следующую пользовательскую функцию:

Function Max(a,b,c)

y1 = a+2*b

y2 = a*b+c

y3 = c^2+1

If y1 > y2 Then

If y1 > y3 Then y = y1 Else y = y3

Else

If y2 > y3 Then y = y2 Else y = y3

End If

End Function

3 Вычислить корни квадратного уравнения при произвольных исходных данных.

При использовании вложенных операторов If важно не перепутать варианты сочетания условий. Нужно помнить правило: альтернатива Else считается принадлежащей ближайшему оператору If, не имеющему ветви Else.

В VBA предусмотрена конструкция для работы с несколькими операторами If. Эти операторы применяются в случаях, когда необходимо рассмотреть еще несколько условий в дополнение к исходному. Для этого служит конструкция: If…Then…ElseIf. В отличие от вложенных операторов конструкция с несколькими операторами If позволяет проверить дополнительное условие, если исходное условие принимает значение False.

Формат записи:

If <условие1> Then

<оператор1>

ElseIf <условие2> Then

<оператор2>

Else

<.оператор3>

EndIf

Пример 3.

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

 

Таблица 15 - Правила расчета комиссионных

Объем продаж за неделю, р. Комиссионные, %
От 0 до 9999
От 10000 до 19999
От 20000 до 39999
Более 40000

Технология выполнения задания:

1 Исходные данные:

Продажи Î Z.

Результат: Комиссионные Î R.

2 Построить для расчета комиссионных в стандартном модуле пользовательскую функцию:

Function Комиссионные (Продажи)

If Продажи <= 9999 Then

Комиссионные = Продажи * 0.08

ElseIf Продажи <= 19999 Then

Комиссионные = Продажи * 0.1

ElseIf Продажи <= 39999 Then

Комиссионные = Продажи * 0.12

Else

Комиссионные = Продажи * 0.14

End If

End Function

3 Вычислить.

 

28. Операторы в VBA. Оператор выбора (переключатель): структура, работа. Примеры.

 

Операторы цикла

 

В VBA существуют два основных типа циклов – циклы со счетчиком (параметрические) и циклы с условием (итерационные).

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







Последнее изменение этой страницы: 2017-01-19; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.232.51.69 (0.063 с.)