МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОУ ВПО НИ ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Международный факультет управления Кафедра системного анализа и информационных технологий __________________________________________________________________________ УТВЕРЖДАЮ Декан МФУ _________Тарасенко П.Ф. ‘‘___’’__________2013 г. РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И ПРОГРАММИРОВАНИЕ Направление подготовки 080100.62 (Экономика) Квалификация (степень) выпускника Бакалавр Форма обучения очная Томск 2013 1. Цели освоения дисциплины Целью изучения дисциплины является формирование у студентов компетенций, основанных на применении современных методов и технологий работы с информацией. А также, ознакомить студентов с основами алгоритмизации задач и основными понятиями объектно-ориентированного программирования, обучить практическим навыкам, которые позволили бы им свободно и на высоком уровне владеть программными средствами для решения задач практической деятельности при выполнении учебных заданий во время обучения в вузе и в будущей работе как специалистов. 2. Место дисциплины в структуре ООП бакалавриата Данная дисциплина входит в раздел «Б.2. Математический и естественнонаучный цикл. Базовая часть» ФГОС-3 по направлению 080100.62 (Экономика). Для изучения данной дисциплины необходимы компетенции, сформированные у обучающихся в результате освоения программы средней школы по информатике. В свою очередь, знания полученные студентами в процессе изучения данной дисциплины, будут полезны для изучения курсов: информатика, информационные системы, компьютерные сети, методы оптимальных решений. Итоговые знания по данной дисциплине могут быть использованы для изучения любой другой дисциплины, где требуются знания и навыки работы с информацией, а также в преддипломной практике и дипломном проектировании и в последующей практической деятельности выпускника. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины Данная дисциплина способствует формированию следующих компетенций, предусмотренных ФГОС-3 ООП по направлению подготовки 080100.62 (Экономика): В результате освоения дисциплины студент должен: Знать: общие принципы работы с информацией, принципы представления информации в компьютерных системах, общие принципы работы с компьютерной техникой, комплектацию рабочего места пользователя, назначение основных электронных составляющих ПК, функциональные возможности операционной системы, установленной на ПК, принципы работы с файловой системой, возможности изучаемых программных приложений, принципы поиска информации в сети Интернет. Уметь: работать с информацией, в том числе представленной на web-страницах, работать с компьютерной техникой, использовать возможности, предоставляемые операционной системой, пользоваться методами и технологиями работы с информацией в изучаемых программных приложениях, анализировать получаемые результаты, применять полученные знания на практике для решения профильных задач грамотно пользоваться дисциплинарной терминологией с целью коммуникативного решения поставленных задач управленческого характера. Владеть: техническими средствами работы с информацией, программными средствами с целью решения практических задач, навыками работы с объектами операционной системы, дисциплинарной терминологией и коммуникативными технологиями для более эффективного решения поставленных задач, навыками работы со справочными, информационно-документационными материалами для их использования в профессиональной деятельности. Данная дисциплина способствует формированию следующих компетенций, предусмотренных ФГОС-3 по направлению подготовки ВПО 080100.62 (Экономика): а) общекультурные (ОК): быть способным представлять результаты своей работы для других специалистов, отстаивать свои позиции в профессиональной сфере, находить компромиссные и альтернативные решения (ОК-7); владеть основными способами и средствами информационного взаимодействия, получения, хранения, переработки, интерпретации информации, иметь навыки работы с информационно-коммуникационными технологиями; способность к восприятию и методическому обобщению информации (ОК-8); уметь логически аргументировать и ясно строить устную и письменную речь, способность к публичному выступлению и деловому общению, к электронным коммуникациям; быть способным использовать для решения коммуникативных задач современные технические средства и информационные технологии (ОК-9); владеть одним из иностранных языков как средством коммуникации в рамках сложившейся специализированной терминологии профессионального общения (ОК-11); быть способным к личностному и профессиональному самосовершенствованию, саморазвитию, саморегулированию, самоорганизации, самоконтролю, к расширению границ своих профессионально-практических познаний; уметь использовать методы и средства познания, различные формы и методы обучения и самоконтроля, новые образовательные технологии для своего интеллектуального развития и повышения культурного уровня (ОК-13); уметь критически оценивать информацию, быть способным к критическому анализу своих возможностей (ОК-14). б) профессиональные (ПК): владеть основными методами, способами и средствами получения, хранения, переработки информации, имеет навыки работы с компьютером как средством управления информацией, быть способным работать с информацией в глобальных компьютерных сетях (ОК-13); иметь навык составления, учета, хранения, защиты, передачи служебной документации в соответствии с требованиями документооборота (ПК-14); владеть средствами программного обеспечения для обработки имеющейся информации (ПК-17); быть способным адаптировать основные математические модели к конкретным задачам управления (ПК-23); быть способным применять информационно-коммуникативные технологии в профессиональной деятельности с видением их взаимосвязей и перспектив использования (ПК-26); способность определять потребности в информации, получать информацию из большого числа источников (ПК-31); владеть методами самоорганизации рабочего времени, рационального применения ресурсов (ПК-49). После окончания обучения данной дисциплине студент будет грамотным специалистом по работе с информацией разного рода, сможет эффективно применять известные информационные технологии на практике, а также будет иметь возможность для дальнейшего саморазвития, самоорганизации и самосовершенствования с целью приобретения всех необходимых навыков и знаний для решения профессиональных задач. Неделя семестра Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы и 108 часов. Виды учебной работы, включая самостоятельную Форма работу студентов и № Раздел промежуточной трудоемкость (в часах) дисциплины аттестации (по п/п Формы текущего контроля семестрам) успеваемости (по неделям семестра) 1 Синтаксис объектно2 1-7 Л: 10 ПР:14 СР:20 К:7 Компьютерный ориентированного языка тест –7нед. программирования VBA 2 Объектная модель 2 7-11 Л: 10 ПР:8 СР:14 К:4 КР: 2, приложения Microsoft Excel 9нед 3 Создание 2 11-15 Л: 6 ПР:6 СР:20 К: 4 КР: 2, пользовательского 15нед интерфейса в VBA . 26 28 54 15 4 Экзамен Итого: Обозначения: лекции – Л, практические занятия – ПР, самостоятельная работа – СР, контрольная работа – КР, консультации – К. Содержание программы Тема 1. Язык программирования VBA. Место VBA среди других языков программирования. Основы объектно-ориентированного программирования. Интегрированная среда разработки. Основные элементы среды. Понятия проекта, модуля и формы. Добавление и удаления форм и модулей. Тема 2. Синтаксис языка программирования VBA. Основы алгоритмизации. Типы данных. Операторы циклов. Операторы принятия решения. Процедуры и функции. Способы передачи параметров в процедуру и функцию. Написание и использование пользовательских функция для проведения расчетов. Тема 3. Макросы. Назначение макросов. Запись макросов с помощью программы “Macrorecorder”. Редактирование макросов. Способы запуска макросов на выполнение. Создание и настройка панелей инструментов и инструментальных кнопок для запуска макросов. Тема 4. Модель объектов Excel. Основные объекты среды Microsoft Excel: Application, WorkBooks и WorkBook, WorkSheets и WorkSheet, Range, Selection. Их свойства, методы и события. Тема 5. Создание диалоговых окон. Формы и их свойства, методы. Элементы управления и их свойства. Режим конструктора. Способы запуска форм. Размещение и настройка элементов управления на рабочем листе. Задание “Заказ”. 5. Образовательные технологии Для изучения данной дисциплины на занятиях используются разные методы и технологии обучения, способствующие наиболее успешному освоению учебного материала курса и получению студентами необходимых компетенций, для будущей профессиональной деятельности. На занятиях применяются следующие образовательные технологии: презентация тематического материала с последующим его обсуждением, самостоятельная работа с конкретными заданиями по определенным темам курса, лекции и практики, блиц - опросы, позволяющие студентам в письменной виде формулировать свои ответы. Кроме того, используются интерактивные технологии телекоммуникационного взаимодействия в сетях Интранет/Интернет. Самостоятельные задания направлены на приобретение личного опыта бакалавра и закрепление изученного материала. Важно, чтобы на занятиях наиболее полно использовались возможности компьютерных информационных технологий, чтобы студенты приобретали навыки решения управленческих задач. При этом образовательные технологии направлены на усвоение теоретического и практического материала, на развитие интеллектуальных способностей студентов таких, как умение анализировать ошибки, синтезировать и структурировать информацию, принимать решения, делать окончательные выводы. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов В рамках данного курса используются тесты для промежуточного контроля и практические и самостоятельные работы. ПРИМЕРЫ ЗАДАНИЙ для самостоятельной работы Задание (автоматизация построение диаграммы) 1. На рабочий лист “Итого” добавьте элемент управления “Список”. 2. Измените свойство “Name” для добавленного списка на “LstType”. 3. В редакторе VBA для “Лист1” обработайте событие “Activate” (сделать лист активным), для этого в окне “Code” в левом списке выберите объект “Worksheet”, а в правом событие “Activate”. 4. В появившейся процедуре “Worksheet_Activate” сделайте следующее: a. Опишите одномерный строковый массив, состоящий из 3-х элементов (имя и индексация произвольная); b. Заполните его следующими значениями: “Гистограмма”, “График”, “Круговая”; c. Присвойте свойству “List” объекта “LstType” имя массива (значения списка возьмутся из массива). d. Сделайте лист “Итого” неактивным и снова активизируйте его (тем самым мы сгенерируем событие “Activate” для листа “Итого”). Список должен заполниться. 5. Создайте обработчик события “Click” для объекта “LstType” любым из известных вам способов. 6. В появившейся процедуре “LstType_Click” сделайте следующее: a. Активизируйте диаграмму командой “ActiveSheet.ChartObjects(1).Activate”; b. Используя, оператор “Select Case” для свойства “Text” объекта “LstType”, рассмотрите три случая: i. “Гистограмма”. Напишите первую команду, которая будет изменять тип диаграммы, для этого присвойте значение “xlColumnClustered” свойству “ChartType” объекта “ActiveChart”. Напишите вторую команду, которая запретит показ легенды, для этого присвойте значение “False” свойству “HasLegend” объекта “ActiveChart”. ii. “График”. Напишите первую команду, которая будет изменять тип диаграммы, для этого присвойте значение “xlLine” свойству “ChartType” объекта “ActiveChart”. Напишите вторую команду, которая запретит показ легенды, для этого присвойте значение “False” свойству “HasLegend” объекта “ActiveChart”. iii. “Круговая”. Напишите первую команду, которая будет изменять тип диаграммы, для этого присвойте значение “xlPie” свойству “ChartType” объекта “ActiveChart”. Напишите вторую команду, которая покажет легенду, для этого присвойте значение “True” свойству “HasLegend” объекта “ActiveChart”. 7. Протестируйте программу. Макрорекордер Предположим, что вы менеджер одной фирмы, например "Ножки Буша", и каждый месяц составляете таблицу учета расходов. Попытаемся облегчить вашу работу, автоматизировав процесс создания шаблона таблицы, в которую останется только ввести данные. 1. Запись макроса построения шаблона отчета a. Запустить макрорекордер b. Задать имя макроса “Шаблон” c. Начать запись d. Ввести в ячейку “В1” заголовок столбца “Расходы” e. Ввести в ячейки начиная с “А2” и заканчивая “А7“ заголовки строк: “Телефон, Аренда, Амортизация, Страховка, Заработная плата, Итого” f. Ввести в ячейку “В7” формулу “Автосумма - ” и задать диапазон суммирования “B2:B6” g. Для ячейки “В7” задать цвет шрифта красный h. Выделить столбец “A” (щелкнуть мышью на ярлыке столбца) и выполнить команду “Формат Столбец - Автоподбор ширины” i. Остановить запись макроса j. Откорректировать макрос, как показано на раздаточном материале (см. ниже Sub Шаблон()) k. Создать кнопку для вызова макроса, как показано на рисунке 2. Записать макрос построения диаграммы a. Выделить диапазон “A1:B7” b. Запустить макрорекордер c. Задать имя макроса “График” d. Начать запись e. Выбрать гистограмму (обычная гистограмма) f. На вкладке легенда убрать галочку “Добавить легенду” g. Остановить запись макроса h. Откорректировать макрос, как показано на раздаточном материале (см. ниже Sub График()) i. Создать кнопку для вызова макроса, как показано на рисунке 3. Написать макрос построения листа “Итоги” a. Добавить в проект программный модуль b. Написать процедуру “Итоги” (см. ниже Public Sub Итоги()) c. Создать кнопку для вызова макроса, как показано на рисунке 4. Записать макрос построения таблицы a. Выделить всю таблицу на листе “Итоги” b. Запустить макрорекордер c. Задать имя макроса “Таблица” d. Начать запись e. Выполнить команду Формат-Автоформат f. Выбрать “Классический2” g. Остановить запись макроса h. Создать кнопку для вызова макроса, как показано на рисунке 5. Записать макрос отбора данных a. Выделить ячейки, в которых находятся числовые данные b. Запустить макрорекордер c. Задать имя макроса “Отбор” d. Начать запись e. Выполнить команду Формат-Условное форматирование f. Сделать так, чтобы отбирались данные, которые меньше либо равны 100 g. Шрифт для отобранных данных сделать “Полужирный”, цвет шрифта “красный” h. Остановить запись макроса i. Создать кнопку для вызова макроса, как показано на рисунке 6. Протестировать работу приложения Sub Шаблон() ' Шаблон Макрос ' Шаблон итогового отчета ' Сочетание клавиш: Ctrl+ш ' 'Добавление *Начало* Dim ИмяЛиста As String ИмяЛиста = InputBox("Введите имя листа") If ИмяЛиста <> Empty Then ActiveSheet.Name = ИмяЛиста End If 'Добавление *Конец* Range("B1").Select ActiveCell.FormulaR1C1 = "Расходы" Range("A2").Select ActiveCell.FormulaR1C1 = "Телефон" Range("A3").Select ActiveCell.FormulaR1C1 = "Аренда" Range("A4").Select ActiveCell.FormulaR1C1 = "Амортизация" Range("A5").Select ActiveCell.FormulaR1C1 = "Страховка" Range("A6").Select ActiveCell.FormulaR1C1 = "Заработная плата" Range("A7").Select ActiveCell.FormulaR1C1 = "Итого" Range("B7").Select ActiveCell.FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)" Range("B7").Select Selection.Font.ColorIndex = 3 Columns("A:A").Select Selection.Columns.AutoFit Range("B7").Select End Sub Sub График() ' График Макрос ' Построение графика ' Сочетание клавиш: Ctrl+г ' 'Добавление *Начало* Dim Лист As String Лист = ActiveSheet.Name 'Добавление *Конец* Charts.Add ActiveChart.ChartType = xlColumnClustered 'Январь заменяем на Лист в двух местах: Sheets("Январь") и Name:="Январь" ActiveChart.SetSourceData Source:=Sheets(Лист).Range("A1:B7"), PlotBy:= _ xlColumns ActiveChart.Location Where:=xlLocationAsObject, Name:=Лист ActiveChart.HasLegend = False 'Добавление *Начало* With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = Лист End With 'Добавление *Конец* End Sub Public Sub Итоги() Dim N As Integer 'Число листов в книге Dim i As Integer Dim Отклик As Integer 'Требуется подтвердить создание итогового листа Отклик = MsgBox("Создать итоговый лист?" + Chr(13) _ + "УДАЛИТЕ ЛИСТ 'ИТОГИ' ЕСЛИ ОН УЖЕ ЕСТЬ!!!", _ vbYesNo + vbQuestion, "Итоги") If Отклик = vbNo Then Exit Sub 'Добавление листа Итоги N = Worksheets.Count Worksheets.Add after:=Worksheets(N) ActiveSheet.Name = "Итоги" 'Работа с листом Итоги With Worksheets("Итоги") 'Копирование заголовков Worksheets(1).Range("A2:A7").Copy (.Range("A2:A7")) 'Подбор ширины для столбца "А" .Columns("A").AutoFit For i = 1 To N 'Заголовки столбцов .Cells(1, i + 1).Value = Worksheets(i).Name 'Копирование данных Worksheets(i).Range("B2:B7").Copy (.Range(Cells(2, i + 1), _ Cells(7, i + 1))) Next i 'Подведение итогов по строкам .Cells(1, N + 2).Value = "Итого" .Cells(2, N + 2).Select ActiveCell.FormulaR1C1 = "=SUM(RC2:RC[-1])" Selection.AutoFill Destination:=Range(Cells(2, N + 2), Cells(7, N + 2)), _ Type:=xlFillDefault .Cells(7, N + 2).Select End With End Sub ЗАДАНИЕ (пользовательские функции) Допустим вы менеджер издательства по оптовой продаже книг. Для привлечения покупателей в вашем издательстве введена прогрессивная шкала цен. Если продается от 100 до 200 экземпляров книги, то скидка от ее отпускной цены составляет 7%, если продается от 201 до 300 экземпляров, то 10%, а если свыше 300 экземпляров – 15%. Кроме того, для постоянных клиентов предусмотрена дополнительная скидка в размере 5%. Создать пользовательскую функцию для расчета партии стоимости книг. Подсказка Для учета скидки постоянным клиентам, необходимо определить параметр “Скидка”, который принимает два значения: 1 для постоянных клиентов и 0 в противном случае. На рабочем листе создайте таблицу из четырех столбцов: “Цена, руб.”, “Количество, шт.”, “Скидка”, “Стоимость, руб.”. Создайте десять строк в этой таблице, каждая со своими значениями. Задание “Заказ” Textbox 1 2 Label Frame 7 OptionButton 8 3 4 9 TextBox 5 ComboBox 10 6 Label CommandButton Установить свойство Name: 1) UFOrder, 2) TBoxFamily, 3) TBoxName, 4) CBoxGoods, 5) CBtInput, 6) CBtExit, 7) OpBYes, 8) OpBNo, 9) TBoxCount, 10) TBoxPrice. 1. В обработчике события “Initialize” для формы “UFOrder” написать следующее: With CBoxGoods .List = Array("Процессор", "Принтер", "Сканер", "Монитор") ‘Заполняем список .ListIndex = 0 ‘Выбираем первый элемент в списке .Style = fmStyleDropDownList End With Написать команду для установки переключателя в элементе OpBYes. Написать команды для того, чтобы в элементы управления TBoxFamily и TBoxName можно было вводить данные не больше 10-ти символов, а в TBoxCount и TBoxPrice не больше 5-ти символов. End Sub 2. Сделать так, чтобы при нажатии на кнопку “Выход” в форме “Заказ”, форма закрывалась. 3. Описать функцию для расчета стоимости заказа, с учетом 5-ти процентной скидки для постоянных клиентов. Подумайте, сколько параметров будет у функции и какого типа. Параметр соответствующий постоянному клиенту будет принимать два значения: “Да” или “Нет”. 4. Дайте имя рабочему листу равное “Заказы” и введите следующие данные. Также разместите три кнопки со следующими именами: CBtAdd, CBtDelete, CBtSelection. 5. Сделать так, чтобы при нажатии на кнопку “Добавить заказ” на листе “Заказы”, форма “Заказ” открывалась. 6. Сделать так, чтобы при нажатии на кнопку “Ввод” в форме “Заказ”, данные из формы вводились на рабочий лист “Заказы”. Ввод нового заказа должен осуществляться в конец имеющихся заказов. Указания: 1. Вы должны считать из ячейки “C1” в переменную, например N, количество заказов в базе. 2. Далее необходимо увеличить N на единицу, так как мы добавляем новый заказ в базу. 3. Индекс строки для ввода нового заказа равен “N + 5”. 4. Ввести Номер заказа, Фамилию, Имя, “Да” или ”Нет” в столбец “Постоянный клиент” в зависимости от установленного переключателя, Товар, Количество, Цену. 5. В столбец “Стоимость” ввести стоимость заказ, для расчета используя ранее написанную функцию. 6. Обновить ячейку “C1”, записав туда новое количество заказов. 7. Для формы “Заказ” сделайте, чтобы при нажатии на клавишу “Esc” форма закрывалась, а при нажатии на клавишу “Enter” происходил ввод заказа в базу. 8. В обработчике события “SheetBeforeDoubleClick” для объекта “ЭтаКнига” необходимо вместо команды UFCalendar.Show, написать команду, которая позволит выводить календарь только в столбце “E”. Указания: 1. Используйте параметр обработчика “Target” (ячейка, в которой вы кликнули два раза) и свойство “Column”, которое возвращает номер столбца. 2. Параметру обработчика “Cancel” присвойте значение “True” для того, чтобы не входить в режим ввода в столбце “E” при двойном щелчке мышью. 9. В столбцах “G” и “H” установите формат ячеек “Общий”. В столбцах “A”, “D” и “F” установите выравнивание по центру. 10. Сделать так, чтобы при нажатии на кнопку “Удалить заказ” на листе “Заказы”, последний в базе заказ удалялся. Указания: 1. Считать из ячейки “C1” в переменную, например N, количество заказов в базе. 2. Если N неравно 0, то удалите последний заказ (используйте индекс строки “N + 5”) и обновите ячейку “C1”, записав туда новое количество заказов. 11. Сделать так, чтобы при нажатии на кнопку “Выбор” на листе “Заказы”, происходило выделение заказов (заливка ячеек в соответствующий цвет начиная со столбца “A” и заканчивая столбцом “I”) в соответствии со следующими правилами: 1. Заказы, для которых стоимость не больше 10000 остаются неизменными; 2. Заказы, для которых стоимость больше или равна 10000 и не больше 100000 окрашиваются в серый цвет; 3. Заказы, для которых стоимость больше или равна 100000 окрашиваются в бледноголубой цвет; Указания: 1. Считать из ячейки “C1” в переменную, например N, количество заказов в базе. 2. Воспользоваться любым из известных циклом для перебора всех заказов в базе. 3. Определите, какой объект необходимо использовать при обращении к диапазону ячеек. Для задания диапазона ячеек используйте коллекцию Cells. Левая граница диапазона задается Cells(i + 5, 1), а правая Cells(i + 5, 9), где “i” изменяться от 1 до N (количество заказов). 4. Для неизменных заказов (стоимость меньше 10000) используйте цвет заливки, который задается константой “xlColorIndexNone. ПРИМЕРНЫЙ КОНТРОЛЬНЫЙ ТЕСТ Отличие VBA от других языков программирования. Поставьте на обороте номер вопроса (1) и напишите ответ. 2. Что не входит в структуру объекта: Методы. Модули. Свойства. События. Проекты. 3. Частью чего является проект: Процедуры. Модуля. Документа. 4. Для чего предназначено окошко Project: Для отображения всех открытых проектов и их составляющих. Для редактирования свойств объектов. Для написания программы на языке VBA. Для разработки интерфейса приложения. 5. Какой из простых типов данных является строковым: Integer. String. Double. Boolean. 6. Какое ключевое слово используется при объявлении глобальных переменных: Public. Dim. Publication. Private. 7. Где не допущена ошибка при объявлении переменной: Public S As String. Integer N As Dim. Dim I As Integer, Double. 8. Что такое массив: Процедуры, объединенные в один модуль. Модули, входящие в состав проекта. Группа однотипных переменных. 9. Где допущена ошибка при объявлении массива: Public S(0 То 3) As String. Dim N(0 … 5) As Integer. Dim Array(0 To 7, 0 To 2) As Double. 10. Какой символ используется для разделения операторов находящихся в одной строке: : / | 11. Какой из операторов является оператором присваивания: := > = == 12. Какой из операторов не является оператором цикла: For … Next. Select Case. While …Wend. Do …Loop. 13. Какой тип данных не может использоваться при объявлении СЧЕТЧИКА для оператора For …Next: Integer. Byte. Double. Long. 1. 14. Цикл While…Wend выполняется, пока условие имеет значение: 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. False. Byte. True. Null. Какое значение получает переменная числового типа при объявлении: 0. 1. -1. 100. Где необходимо организовать проверку условия в операторе Do…Loop, чтобы хотя бы раз произошло его выполнение: В конце. В начале. Без проверки. В середине. Что не является оператором принятия решения: If…Then…Else. Let. Select Case. Какой объект определяет приложение MSExcel в объектной модели MSExcel: Excel. Application. MSExcel. Какой тип данных не может быть отрицательным: Integer. Byte. Double. Long. Чем похожи типы данных Single и Double: Количеством места, которые они занимают в памяти. Операциями, которые над ними можно производить. Возможными значениями. Сколько байт занимает переменная типа Single: 2 8 4 Какая комбинация клавиш переключает MSExcel в VBA: F11 CTRL+F11 SHIFT+F11 Среди представленных ответов нет правильного. Какие типы данных допускают операцию умножения: Integer, Double. Byte, String. Double, Boolean. В каком из циклов переменная цикла увеличивается автоматически: For … Next. While …Wend. Do …Loop. Ни в каком. Сколько букв в операторе, который фиксирует шаг в операторе For: 2 3 4 Какой будет результат следующего кода (значение переменной j): i as integer j as string for i = 0 to 5 j=j&i next 2 0 5 Среди представленных ответов нет правильного (свой вариант _____________). Как расшифровывается аббревиатура VBA: Поставьте на обороте № вопроса (27) и напишите ответ. Тест в электронном виде находится по адресу http://ich.tsu.ru/Deparments/ITSubfaculty/Predmety/Lern_Matters/Tests/VBA.htm ЗАДАЧИ НА КОНТРОЛЬНУЮ РАБОТУ Задача “Русская резина” Предположим, что вы менеджер по продажам фирмы “Русская резина”, которая поставляет в страны Европы различные изделия из резины. Вы постоянно ведете учет объема продаж. Для более наглядного представления данных в таблице необходимо выделить красным цветом строку с максимальным объемом продаж и желтым - строки, в которых объем продаж выше среднего. Указания: 1. Создать таблицу данных. 2. Сделать так, чтобы при нажатии на кнопку “Обновить” строки со второй по седьмую заливались соответствующим цветом. 3. Для нахождения максимального объема продаж воспользуйтесь функцией “Max” написав следующую команду WorksheetFunction.Max(Range(“B2:B7”)) (WorksheetFunction свойство объекта Application), а для нахождения среднего воспользуйтесь функцией “Average”. 4. Воспользоваться любым из известных циклом для перебора всех строк. 5. Для объемов продаж ниже среднего используйте цвет заливки, который задается константой “xlColorIndexNone (нет заливки).” Задача “Закажи и Получишь” Предположим, что вы менеджер по приему заказов фирмы “Закажи и Получишь”. Вы постоянно ведете учет заказов. Для более наглядного представления данных в таблице необходимо выделить жирным шрифтом строки с выполненными заказами. Указания: 1. Создать таблицу данных. 2. Сделать так, чтобы при нажатии на кнопку “Выбрать” в строках с выполненными заказами шрифт становился жирным. 3. Вы должны считать из ячейки “C1” в переменную, например Count, количество заказов в базе. 4. Воспользоваться любым из известных циклом для перебора всех заказов в базе. 5. Для нахождения выполненных заказов воспользуйтесь функцией “Now()”, которая возвращает текущую дату. Задача “Студент” Предположим, что вы ведете базу данных студентов. Вам нужно создать форму для ввода сведений о них. Указания: 7. Создайте форму. 8. Создайте таблицу данных. 9. Сделать так, чтобы при нажатии на кнопку “Ввод” на листе “Студенты”, форма “Студент” открывалась. 10. Сделать так, чтобы при нажатии на кнопку “Выход” в форме “Студент”, форма закрывалась. 11. Сделать так, чтобы при нажатии на кнопку “Ввод” в форме “Студент”, данные из формы вводились на рабочий лист “Студенты”. Ввод нового студента должен осуществляться в конец имеющихся студентов. a. Сделать так, чтобы при открытии формы переключатель устанавливался на мужской пол, список “Курс” заполнялся значениями от 1 до 5 и было выбрано значение 1, список “Специальность” заполнялся значениями МЭ, ГМУ и ДОУ и было выбрано значение МЭ. b. Вы должны считать из ячейки “C1” в переменную, например N, количество студентов в базе. c. Далее необходимо увеличить N на единицу, так как мы добавляем нового студента в базу. d. Обновить ячейку “C1”, записав туда новое количество студентов. Задача “Таблица” Записать макрос с помощью Макрорекодера, который позволял бы формировать следующую таблицу по выделенному диапазону: Указания: 1. Выделить диапазон ячеек и запустить Макрорекодер; 2. Сделайте все необходимые преобразования: сетка; жирная рамка; залить первый столбец и первую строку серым цветом; остановите запись макроса; 3. Перейдите в VB и отредактируйте записанный макрос. Найдите программный код, где происходит заливка ячеек серым цветом. Используйте свойства Rows и Columns объекта Range, чтобы серым цветом заливались не конкретные ячейки, а первый столбец и первая строка выделенного интервала. 4. На панели инструментов поместите кнопку для вызова этого макроса; 5. Протестируйте работу макроса. Задача “Бери и Беги” Предположим, что вы менеджер по продажам фирмы “Бери и Беги”, которая продает товар в рассрочку. Вы постоянно ведете учет просроченных платежей. Для более наглядного представления данных в таблице необходимо автоматизировать сортировку таблицы по столбцам. Указания: 1. Создать таблицу данных. Столбец “D” заполнять не надо. 2. Разместить на рабочем листе “Товары” три переключателя. 3. Описать функцию для расчета пени. Подумайте, сколько параметров будет у функции и какого типа. Пеня берется из расчета один процент от цены в день. 4. Просчитайте написанную функцию в столбце “D”. 5. Запишите макрос сортировки таблицы (Данные - Сортировка) по одному из столбцов. 6. Отредактируйте полученный макрос таким образом, чтобы номер столбца для сортировки передавался ему при вызове. Вместо объекта Range используйте объект Cells. 7. Сделайте так, чтобы при выборе переключателей (Цена, Просрочка, Пеня) сортировка осуществлялась по заданному столбцу (вызывайте записанный и отредактированный макрос с нужным параметром). Автоматизация построения диаграммы Сделайте так, чтобы при нажатии на переключатели происходило соответствующих диаграмм. Указания: 1. Заполните таблицу 2. Разместите переключатели 3. Запишите макрос построения диаграммы 4. Отредактируйте полученный макрос: a. Удалите команду добавления графика Charts.Add; построение b. Напишите команду выделения графика ActiveSheet.ChartObjects(1).Activate; c. Удалите команду размещения графика ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"; d. Напишите команду выделения произвольной ячейки; e. Опишите параметр макроса, который будет отвечать за диапазон данных для построения диаграммы; f. Используйте этот параметр в команде установки источника данных для диаграммы ActiveChart.SetSourceData; g. Вызывайте полученный макрос при нажатии на переключатели, задавая соответствующий диапазон данных для построения диаграммы. Автоматизация построения диаграммы Сделайте так, чтобы при нажатии на переключатели происходило построение соответствующих диаграмм. Указания: 1. Заполните таблицу 2. Разместите переключатели 3. Запишите макрос построения диаграммы 4. Отредактируйте полученный макрос: a. Удалите команду добавления графика Charts.Add; b. Напишите команду выделения графика ActiveSheet.ChartObjects(1).Activate; c. Удалите команду размещения графика ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"; d. Напишите команду выделения произвольной ячейки; e. Опишите параметр макроса, который будет отвечать за диапазон данных для построения диаграммы; f. Используйте этот параметр в команде установки источника данных для диаграммы ActiveChart.SetSourceData; g. Вызывайте полученный макрос при нажатии на переключатели, задавая соответствующий диапазон данных для построения диаграммы. Автоматизация построения диаграммы Сделайте так, чтобы при нажатии на переключатели происходило построение соответствующих диаграмм. Указания: 1. Заполните таблицу 2. Разместите переключатели 3. Запишите макрос построения диаграммы 4. Отредактируйте полученный макрос: a. Удалите команду добавления графика Charts.Add; b. Напишите команду выделения графика ActiveSheet.ChartObjects(1).Activate; c. Удалите команду размещения графика ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"; d. Напишите команду выделения произвольной ячейки; e. Опишите параметр макроса, который будет отвечать за диапазон данных для построения диаграммы; f. Используйте этот параметр в команде установки источника данных для диаграммы ActiveChart.SetSourceData; g. Вызывайте полученный макрос при нажатии на переключатели, задавая соответствующий диапазон данных для построения диаграммы. Автоматизация построения диаграммы Сделайте так, чтобы при нажатии на переключатели происходило построение соответствующих диаграмм. Указания: 1. Заполните таблицу 2. Разместите переключатели 3. Запишите макрос построения диаграммы 4. Отредактируйте полученный макрос: a. Удалите команду добавления графика Charts.Add; b. Напишите команду выделения графика ActiveSheet.ChartObjects(1).Activate; c. Удалите команду размещения графика ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"; d. Напишите команду выделения произвольной ячейки; e. Опишите параметр макроса, который будет отвечать за диапазон данных для построения диаграммы; f. Используйте этот параметр в команде установки источника данных для диаграммы ActiveChart.SetSourceData; g. Вызывайте полученный макрос при нажатии на переключатели, задавая соответствующий диапазон данных для построения диаграммы. Автоматизация построения диаграммы Сделайте так, чтобы при нажатии на переключатели происходило построение соответствующих диаграмм. Указания: 1. Заполните таблицу 2. Разместите переключатели 3. Запишите макрос построения диаграммы 4. Отредактируйте полученный макрос: a. Удалите команду добавления графика Charts.Add; b. Напишите команду выделения графика ActiveSheet.ChartObjects(1).Activate; c. Удалите команду размещения графика ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"; d. Напишите команду выделения произвольной ячейки; e. Опишите параметр макроса, который будет отвечать за диапазон данных для построения диаграммы; f. Используйте этот параметр в команде установки источника данных для диаграммы ActiveChart.SetSourceData; g. Вызывайте полученный макрос при нажатии на переключатели, задавая соответствующий диапазон данных для построения диаграммы. Автоматизация построения диаграммы Сделайте так, чтобы при нажатии на переключатели происходило построение соответствующих диаграмм. Указания: 1. Заполните таблицу 2. Разместите переключатели 3. Запишите макрос построения диаграммы 4. Отредактируйте полученный макрос: a. Удалите команду добавления графика Charts.Add; b. Напишите команду выделения графика ActiveSheet.ChartObjects(1).Activate; c. Удалите команду размещения графика ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"; d. Напишите команду выделения произвольной ячейки; e. Опишите параметр макроса, который будет отвечать за диапазон данных для построения диаграммы; f. Используйте этот параметр в команде установки источника данных для диаграммы ActiveChart.SetSourceData; g. Вызывайте полученный макрос при нажатии на переключатели, задавая соответствующий диапазон данных для построения диаграммы. Автоматизация построения диаграммы Сделайте так, чтобы при нажатии на переключатели происходило построение соответствующих диаграмм. Указания: 1. Заполните таблицу 2. Разместите переключатели 3. Запишите макрос построения диаграммы 4. Отредактируйте полученный макрос: a. Удалите команду добавления графика Charts.Add; b. Напишите команду выделения графика ActiveSheet.ChartObjects(1).Activate; c. Удалите команду размещения графика ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"; d. Напишите команду выделения произвольной ячейки; e. Опишите параметр макроса, который будет отвечать за диапазон данных для построения диаграммы; f. Используйте этот параметр в команде установки источника данных для диаграммы ActiveChart.SetSourceData; g. Вызывайте полученный макрос при нажатии на переключатели, задавая соответствующий диапазон данных для построения диаграммы. Автоматизация построения диаграммы Сделайте так, чтобы при нажатии на переключатели происходило построение соответствующих диаграмм. Указания: 1. Заполните таблицу 2. Разместите переключатели 3. Запишите макрос построения диаграммы 4. Отредактируйте полученный макрос: a. Удалите команду добавления графика Charts.Add; b. Напишите команду выделения графика ActiveSheet.ChartObjects(1).Activate; c. Удалите команду размещения графика ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"; d. Напишите команду выделения произвольной ячейки; e. Опишите параметр макроса, который будет отвечать за диапазон данных для построения диаграммы; f. Используйте этот параметр в команде установки источника данных для диаграммы ActiveChart.SetSourceData; g. Вызывайте полученный макрос при нажатии на переключатели, задавая соответствующий диапазон данных для построения диаграммы. Автоматизация построения диаграммы Сделайте так, чтобы при нажатии на переключатели происходило построение соответствующих диаграмм. Указания: 1. Заполните таблицу 2. Разместите переключатели 3. Запишите макрос построения диаграммы 4. Отредактируйте полученный макрос: a. Удалите команду добавления графика Charts.Add; b. Напишите команду выделения графика ActiveSheet.ChartObjects(1).Activate; c. Удалите команду размещения графика ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"; d. Напишите команду выделения произвольной ячейки; e. Опишите параметр макроса, который будет отвечать за диапазон данных для построения диаграммы; f. Используйте этот параметр в команде установки источника данных для диаграммы ActiveChart.SetSourceData; g. Вызывайте полученный макрос при нажатии на переключатели, задавая соответствующий диапазон данных для построения диаграммы. Автоматизация построения диаграммы Сделайте так, чтобы при нажатии на переключатели происходило построение соответствующих диаграмм. Указания: 1. Заполните таблицу 2. Разместите переключатели 3. Запишите макрос построения диаграммы 4. Отредактируйте полученный макрос: a. Удалите команду добавления графика Charts.Add; b. Напишите команду выделения графика ActiveSheet.ChartObjects(1).Activate; c. Удалите команду размещения графика ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"; d. Напишите команду выделения произвольной ячейки; e. Опишите параметр макроса, который будет отвечать за диапазон данных для построения диаграммы; f. Используйте этот параметр в команде установки источника данных для диаграммы ActiveChart.SetSourceData; g. Вызывайте полученный макрос при нажатии на переключатели, задавая соответствующий диапазон данных для построения диаграммы. Автоматизация построения диаграммы Сделайте так, чтобы при нажатии на переключатели происходило построение соответствующих диаграмм. Указания: 1. Заполните таблицу 2. Разместите переключатели 3. Запишите макрос построения диаграммы 4. Отредактируйте полученный макрос: a. Удалите команду добавления графика Charts.Add; b. Напишите команду выделения графика ActiveSheet.ChartObjects(1).Activate; c. Удалите команду размещения графика ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"; d. Напишите команду выделения произвольной ячейки; e. Опишите параметр макроса, который будет отвечать за диапазон данных для построения диаграммы; f. Используйте этот параметр в команде установки источника данных для диаграммы ActiveChart.SetSourceData; g. Вызывайте полученный макрос при нажатии на переключатели, задавая соответствующий диапазон данных для построения диаграммы. Автоматизация построения диаграммы Сделайте так, чтобы при нажатии на переключатели происходило построение соответствующих диаграмм. Указания: 1. Заполните таблицу 2. Разместите переключатели 3. Запишите макрос построения диаграммы 4. Отредактируйте полученный макрос: a. Удалите команду добавления графика Charts.Add; b. Напишите команду выделения графика ActiveSheet.ChartObjects(1).Activate; c. Удалите команду размещения графика ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"; d. Напишите команду выделения произвольной ячейки; e. Опишите параметр макроса, который будет отвечать за диапазон данных для построения диаграммы; f. Используйте этот параметр в команде установки источника данных для диаграммы ActiveChart.SetSourceData; g. Вызывайте полученный макрос при нажатии на переключатели, задавая соответствующий диапазон данных для построения диаграммы. КОНТРОЛЬНЫЕ ВОПРОСЫ ПО ДИСЦИПЛИНЕ 1. Отличия языка программирования VBA от других языков; 2. Для чего предназначены окошки Project Explorer, Properties и Code; 3. Для чего предназначены окошки UserForm и Toolbox; 4. Раскройте понятие “проект”; 5. Перечислить основные типы данных, которые используются в VBA; 6. Для чего используются ключевые слова Public, Dim, Private. Объяснить их отличие; 7. Что такое “переменная”. Основные требования, которые накладываются на определение имени переменной; 8. Что такое “массив”. Привести пример определения массива; 9. Предназначение операторов цикла. Привести пример применения одного из известных вам циклов; 10. Предназначение операторов принятия решения. Привести пример применения одного из известных вам операторов принятия решения; 11. Что такое процедура. Привести пример описания процедуры; 12. Что такое функция. Привести пример описания функции; 13. В чем отличие процедуры от функции. Привести пример описания процедуры и функции; 14. Способы передачи параметров в процедуру и функцию; 15. Что входит в структуру объекта. Назначение этих составляющих; 16. Что такое макрос и для чего он предназначен; 17. Предназначение и принцип работы программы “Macrorecorder”; 18. Какими способами можно записать макрос; 19. Способы запуска макроса на выполнение; 20. Объясните понятие “Вложенная структура объектов”. Приведите пример; 21. Что представляет собой объект Application. Привести пример использования одного из свойств этого объекта; 22. Как называются объекты, которые позволяют обращаться к активным элементам в Excel (ячейка, лист, книга.); 23. Что представляет собой коллекция WorkBooks, из каких объектов она состоит; 24. Что представляет собой коллекция WorkSheets, из каких объектов она состоит; 25. Дать описание объекту Range; 26. Дать описание объекту Selection; 27. Что представляет собой коллекция Cells. Напишите пример использования этой коллекции. К какому листу будет происходить обращение, если не указать объект, которому принадлежит эта коллекция. 7. Учебно-методическое и информационное обеспечение дисциплины ЛИТЕРАТУРА И МЕТОДИЧЕСКИЙ МАТЕРИАЛ ПО ДАННОМУ КУРСУ Основная литература 1. Фризен И.Г. Офисное программирование. – Феникс, 2010. – 240 с. 2. Уокенбах Дж. Microsoft Office Excel 2007: профессиональное программирование на VBA. // Пер. с англ. – М.: ООО «И.Д.Вильямс», 2008. – 928 с. 3. Гарнаев А.Ю. Microsoft Excel 2000: разработка приложений. – СПБ.: БХВ – СанктПетербург, 2000. – 576 с. 4. Малышев С.А. Самоучитель VBA. Как это делается в Word, Excel, Access. СПб: Наука и техника, 2001. – 496 с. 5. Биллиг В.А., Дехтярь М.И. VBA и Office 97. Офисное программирование. М.: Издательский отдел “Русская Редакция”, 1998. – 720 с. Дополнительная литература 1. Кудинов Ю.И., Основы программирования на Basic в Open Office: Методические указания и задания к лабораторным занятиям по информатике. – Липецк: ЛГТУ, 2008. – 32 с. 2. Уокенбах Дж. Профессиональное программирование на VBA в Excel 2002. Издательство: К,М,СПб: Вильямс /Диалектика, 2003.- 784 с. 3. Васильев А., Андреев А. VBA в Office 2000. Учебный курс. СПб: Питер, 2001. – 432 с. 4. Баин А.М. Современные информационные технологии систем поддержки принятия решений: Учебное пособие М.: Высшее образование. 2009. 240 с. 5. Граничин О.Н., Кияев В.И. Информационные технологии в управлении. М.: ИнтернетУниверситет Информационных Технологий Бином. Лаборатория знаний, 2008. – 388 с. 6. Ивасенко А.Г., Павленко В.А., Гридасов А.Ю. Информационные технологии в экономике и управлении: Учебное пособие. М.: Кнорус, 2009. – 160 с. 7. Логинов В.Н. Информационные технологии управления: Учебное пособие. М.: Кнорус, 2008. – 240 с. 8. Мельников В.П. Информационные технологии: Учебник. М.: Академия, 2008. – 432 с. 9. Муромцев Д.И., Гаврилова Т.А.Интеллектуальные технологии в менеджменте. Высшая школа менеджмента ИД СПбГУ, 2008. – 488 с. 10.Росс Г.В., Лихтенштейн В.Е. Информационные технологии в бизнесе: Практикум. М.: Финансы и статистика, 2008. – 512 с. 11.Рукин М.Д., Клыков М.С., Спиридонов Э.С. Информатизация менеджмента: Учебник. М.: ЛКИ, 2008. 12.Саак А.Э., Пахомов Е.В., Тюшняков В.Н. Информационные технологии управления. СПб.: Питер, 2008. – 320 с. 13.Уткин В.Б., Балдин К.В. Информационные технологии управления: Учебник. М.: Академия, 2008. – 400 с. 14.Черников Б.В. Информационные технологии управления. М.: Инфра-М Форум, 2008. – 352 с. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ И ИНТЕРНЕТ-РЕСУРСЫ Для подготовки бакалавров по данному курсу используется следующее программное обеспечение: Операционная система Windows XP (и выше); Программные и технические возможности локальной сети Интранет и точка выхода в глобальную сеть Интернет; Интерактивное приложение NetOp для проведения трансляций на пользовательские компьютеры; Офисные приложения пакета Microsoft Office 2003 (или 2007): MS Word, MS Excel, MS PowerPoint, с помощью которых проводятся аудиторные занятия, а также самостоятельные работы и тесты; Интернет-ресурсы: http://ich.tsu.ru/Deparments/ITSubfaculty/Predmety/Lern_Mat_OffProg.htm 8. Материально-техническое обеспечение дисциплины Материально-техническое обеспечение данной дисциплины заключается в использовании возможностей компьютерных классов (три класса по двенадцать компьютеров в каждом) и локальной сети с точкой выхода в глобальную сеть. Все компьютеры локальной сети должны иметь стандартное техническое оборудование, не требующие дополнительных ресурсов: Процессор с тактовой частотой не менее 1,5-3,0 GHz; Оперативная память (RAM) – 500 Mb - 2Gb; Дисковая память (hard-disk) – около 100 - 500 Gb; Остальные технические возможности компьютеров стандартные: стандартная видеосистема, наличие DVD-приводов, звуковой карты, колонок, сетевой карты, USB-портов, и пр. Трансляция учебного материала возможна с преподавательского компьютера на персональные компьютеры пользователей с помощью приложения NetOp; Для проведения трансляций учебных материалов в аудиториях также может использоваться проектное оборудование, подключенное к компьютеру (Notebook). Автор – А.В. Журавлёв, ст. преподаватель кафедры системного анализа и информационных технологий МФУ ТГУ Рецензент – П.Ф. Тарасенко, декан МФУ ТГУ, канд. физ.-мат. н.