- •Пермский государственный институт искусства и культуры
- •1. Структура системы управления
- •2. Компьютерная информационная система в структуре организации
- •2.1 Схема внедрения компьютерной ис в организацию
- •2.2. Проектирование ис
- •3. Разработка баз данных для информационных систем
- •3.1. Получение внутреннего нормализованного представления данных с использованием реляционной модели
- •3.2. Задание для самостоятельной работы
- •4. Создание внутреннего представления данных вAccess
- •4.1. Основные приемы работы с субДaccess
- •4.1. 1. Создание новой базы данных
- •4.1.2. Создание новых таблиц базы данных
- •4.2. Установка связей между таблицами и ввод данных в таблицы
- •4.2.1. Установка связей между таблицами
- •4.2.2. Ввод данных в таблицы бд
- •4.3. Создание форм
- •4.4. Создание сложных форм для работы с базой данных
- •4.5. Работа с данными с помощью формы
- •4.6. Создание сложных форм
- •4.7. Работа с запросами и отчетами
- •4.7.1. Создание и фильтрация запросов
- •4.7.2. Создание и просмотр отчетов
- •5. Разработка приложений для информационных систем
- •5.1. Приложения на основе текстового процессораWord
- •5.1.1. Основные средства разработки приложений
- •5.1.2. Использование полей
- •5.2. Слияние документов
- •5.3. Разработка и использование макросов
- •5.4. Создание серии документов с помощью операции слияния
- •6. Приложения на основе табличного процессораExcel
- •6.1. Создание сводной таблицы
- •Самостоятельная работа
- •6.2. Изменение структуры таблицы
- •Вычисляемое поле
- •Самостоятельная работа
- •Обновление данных
- •Группирование элементов сводной таблицы.
- •7. Приложения на основеPowerPoint
- •7.1. Работа с простыми презентациями
- •7.1.1. Структура презентацииPowerPoint
- •7.2. Просмотр ранее созданной презентации
- •7.3. Создание презентации на основе шаблонов
- •7.4. Создание презентации с «чистого листа»
- •7.5. Включение в презентацию элементов управления
- •7.6. Размещение элементов управления для перемещения между слайдами
- •7.7. Размещение гиперссылок в слайде
- •8. Приложения, созданные средствами языка программированияVba
- •8.1. Автоматизация выполнения задач с помощью макросов
- •8.2. Советы по записи макросов
- •8.3. Запись макроса
- •8.4. Написание макроса на языке Visual Basic
- •8.5. Создание макросов в текстовом процессореWord
- •8.6. Инструментальная среда Visual Basic for Application
- •8.7. Создание пользовательских панелей и кнопок запуска программ
- •8.8. Решение задач при помощи стандартных средствVba
- •8.9. Программа поиска наибольшего элемента массива
- •8.10. Линейные алгоритмы и ветвления
- •8.11. Циклические алгоритмы
- •8.12. Создание пользовательских форм с элементами управления
- •8.13. Создание программы подготовки открыток
- •Дерябин а. И., Лебедев в. В. Лядова л. Н. Информационные технологии управления Руководство к практическим занятиям
8.9. Программа поиска наибольшего элемента массива
Public Sub Massiv() 'Начало
'Список данных
Dim a, b, c, d As Integer 'в ОЗУ отводится место для переменных
Dim mas(4, 4) As Integer 'в ОЗУ отводится место для массива
'Конец списка
'Ввод значений элементов массива размером 4 на 4
For i = 1 To 4 'начинаем цикл по переменной i, изменение первого индекса
For j = 1 To 4 'изменение второго индекса
'в следующем операторе используется функция InputBox для ввода данных
'при выполнении функции выводится окно диалога InputBox
mas(i, j) = InputBox("Ввод значения элемента mas( " & i & ", " & j & " )", , 10)
Next j 'конец цикла по j
Next i 'конец цикла по i
'определение наибольшего элемента массива
b = mas(1, 1) 'переменной b присваивается значение элемента mas(1,1)
For i = 1 To 4
For j = 1 To 4
If mas(i, j) > b Then 'если очередной элемент массива больше
b = mas(i, j) 'записать его значение в переменную b
c = i 'в переменную с записать значение первого индекса
d = j 'в переменную с записать значение второго индекса
End If
Next j
Next i
'вывод значения наибольшего элемента массива в окно диалога MsgBox
MsgBox "Наибольший элемент массива mas( " & c & " , " & d & " )" & " , равен " & b
End Sub 'Конец
8.10. Линейные алгоритмы и ветвления
Ход занятия. Используя стандартные средства VBA разработать программы, для решения задач, связать их с кнопками на панелях инструментов. Программы разрабатывать в документе Word. Предлагаемый перечень задач:
ЗАДАЧА 1
Составить алгоритм на VBA для вычисления и печати значений функции Y, заданной формулой:
;
в алгоритме предусмотреть ввод аргумента x и вывод на печать введенной информации и результатов решения.
ЗАДАЧА 2
Известно, что система уравнений
имеет решение:
Составить алгоритм на VBA для вычисления и печати значений x и y по известным численным значениям коэффициентам A1, B1, C1, A2, B2, C2, являющихся исходными данными для алгоритма.
ЗАДАЧА 3
Составить алгоритм на VBA в случае (а), обеспечивающий присваивание переменной A значение “1” при выполнении следующего условия:
а). переменная X принадлежит отрезку ]0;1[
ЗАДАЧА 4
Составить алгоритм на VBA для вычисления и печати значений функции Y, заданной формулой:
В алгоритме предусмотреть ввод аргументов X и Z на вывод на печать введенной информации и результатов расчета.
ЗАДАЧА 5
Разработать алгоритм для вычисления и печати значения переменной X равному квадрату наименьшего одного из двух чисел A и B.
8.11. Циклические алгоритмы
.Теоретические сведения.
Типы циклов
· Do...Loop: повторяет набор инструкций, пока условие имеет значение True или пока оно не примет значение True
Sub ChkFirstWhile()
counter = 0
myNum = 20
Do While myNum > 10
myNum = myNum - 1
counter = counter + 1
Loop
MsgBox "Выполнено " & counter & " итераций цикла."
End Sub
· For...Next: использует счетчик. Повторяет набор инструкций указанное число раз.
· For Each...Next: повторяет набор инструкций для каждого объекта семейства
Sub TwosTotal()
For j = 2 To 10 Step 2
total = total + j
Next j
MsgBox "Сумма равна " & total
End Sub
В приведенном ниже примере для формирования приветствия в ответ на ввод имени пользователя используется конструкция цикла с параметром. Этот оператор позволяет организовать ввод пяти имен пользователей.
Public Sub ВводВывод()
Dim strImya As String
Dim i, a As Integer
For a = 1 To 5 Step 1
strImya = InputBox("Введите ваше имя - ")
MsgBox (strImya & "! У Вас получилось вывести приветствие! Ура!")
Next a
End Sub
Следующая ниже программа позволяет вводить имена пользователей и выводить приветствие до тех пор пока значение переменной а больше либо равно 1.
Public Sub ВводВывод()
Dim strImya As String
Dim i, a As Integer
a = 5
Do While a >= 1 'Выполняется пока условие истинно
a = a - 1
strImya = InputBox("Введите ваше имя - ")
MsgBox (strImya & "! У Вас получилось вывести приветствие! Ура!")
Loop
End Sub
Существует второй вариант использования условия:
Public Sub ВводВывод()
Dim strImya As String
Dim i, a As Integer
a = 5
Do
a = a - 1
strImya = InputBox("Введите ваше имя - ")
MsgBox (strImya & "! У Вас получилось вывести приветствие! Ура!")
Loop While a >= 1 'Выполняется пока условие истинно
End Sub
Во втором варианте условие проверяется в конце цикла. Это дает возможность выполнить операторы тела цикла хотя бы один раз не зависимо от условия.
Решение задач
ЗАДАЧА 6
Составить алгоритм на VBA, обеспечивающий выполнение следующих действий:
а). Переменной С присвоить значение суммы элементов массива:
ЗАДАЧА 7
Составить алгоритм, обеспечивающий вычисление и печать значений функции Y=f(x) в точках X1, X2,...,Xn:
а).
ЗАДАЧА 8
Переменная Х меняет свое значение от Хн до Хк с шагом Х. Разработать алгоритм, обеспечивающий вычисление и печать значений аргумента Х и функцииY=f(x) при каждом значении Х. Значения Хн, Хк иХ являются исходными и подлежат вводу.
а) Хн=-2, Хк=8,Х=2.
ЗАДАЧА 9
Разработать алгоритм, обеспечивающий для заданного одномерного массива из n элементов {Ai}, i=1,2,.....,n выполнение следующих преобразований:
д) найти номер и величину наименьшего элемента Аi