
- •Одесская национальная академия пищевых технологий
- •Конспект лекций
- •Глава 1. Основные понятия информатики и компьютерной техники.
- •1.1. Информация и информатика
- •1. 2. Устройства, характеристики и программное обеспечение пк
- •Основные характеристики современных пк
- •Программное обеспечение пк
- •3. Файловая система организация данных
- •Project.Vbp - проект Visual Basic;
- •1.4. Операционная система Windows
- •1.5. Пользовательский графический интерфейс
- •Окна в Windows
- •Глава 2. Обзор ресурсов и управление в Windows
- •2.1. Главное меню рабочего стола и справочная система
- •Справочная система Windows
- •2.2. Программа Проводник для работы с папками и файлами
- •2.3. Работа с папками в окне Проводник
- •2.4. Работа с файлами в окне Проводник
- •Глава 3. Текстовой редактор Word.
- •3.1. Создание и сохранение документа.
- •Ввод текста
- •Выделение текста
- •Отступы, выравнивание и межстрочные интервалы
- •Установка гарнитуры и размера шрифтов
- •Ввод символов
- •3.3. Редактирование текста страницы
- •Удаление, копирование, перемещение и вставка текста
- •Вставка текста из другого документа
- •3.4. Колонки и таблицы в Word Расположение текста колонками
- •Создание таблицы
- •Глава 4. Формульный редактор и графика в Word
- •4.1 Формульный редактор
- •Создание гиперссылки
- •Графика в Word Графические объекты - рисунки, фотографии, диаграммы и пр. В документах Word часто используется различного вида графика:
- •4.2. Работа с рисунками
- •Меню вставки рисунка
- •Глава 5. Табличный процессор ms Excel
- •5.1. Рабочие книги, листы и окно Excel
- •5.2. Некоторые операции над рабочей книгой и листами
- •Операции над рабочим листом
- •Выделение элементов листа
- •Работа с ячейками
- •5.3. Типы данных в Excel и их ввод
- •5.4. Арифметические и логические выражения в Excel
- •Глава 6. Вычисления в Excel
- •6.1. Абсолютные, относительные и смешанные адреса
- •6.2. Стандартные функции
- •Мастер функций
- •6.3. Логические функции если в Excel
- •Пример применения функции если
- •Глава 7. Диаграммы в Excel и решение прикладных задач
- •7.1. Мастер диаграмм
- •7.2. Построение диаграммы типа Поверхность
- •7.3. Редактирование построенной диаграммы
- •7.4. Решение нелинейных уравнений в Excel
- •7.5. Вычисления по итерационным формулам
- •Глава 8. Обработка статистических данных в Excel
- •8.1. Некоторые понятия математической статистики
- •8.2. Генерация случайных чисел и построение гистограмм
- •Построение гистограмм
- •8.3. Описательная статистика
- •Глава 9. Работа с базами данных в Excel
- •9.1. Основные понятия и правила создания бд
- •Номер первой записи
- •Сортировка записей в бд по критериям
- •9.2. Применение команды Автофильтр Команда Автофильтр выполняет отбор записей по критериям одного поля.
- •Дополнительные пункты раскрывающегося списка команды Автофильтр : Все, Первые 10 , Условие…:( рис. 9.3)
- •9.3. Применение команды Расширенный фильтр
- •Глава 10. Алгоритмизация вычислительных процессов Этапы решения инженерных задач на пк
- •10.1. Алгоритм и его свойства
- •Типы алгоритмических структур
- •10.2. Линейные и разветвляющиеся алгоритмы
- •10.3. Простые циклические алгоритмы
- •10.4. Циклические алгоритмы обработки массивов
- •Двумерные массивы
- •А) ввод по строкам в) ввод по столбцам
- •Глава 11. Система программирования Visual Basic for Applications (vba)
- •11.1. Основные положения
- •11.2. Некоторые определения
- •Стандартный модуль (Module)
- •11.3. Запуск и элементы окна редактора vba
- •Глава 12. Пример создания проекта в vba и типы данных
- •12.1. Порядок действий на пк при создании проекта
- •12.2. Элементы языка vba
- •Данные в vba
- •12.3. Описание переменных
- •Глава 13. Выражения в vba и ввод – вывод данных
- •13.1. Выражения в vba
- •13.2. Операторы присваивания и способы ввода данных Оператор присваивания
- •Способы ввода данных
- •Для ввода
- •13.3. Способы вывода данных
- •Глава 14. Организация разветвляющихся программ
- •14.1. Операторы управления goto, if
- •Условный оператор управления if
- •Оператор1
- •Оператор2
- •Синтаксис многострочной формы if
- •Пример 14.2. Рассмотрим задачу, когда поставленных условий может быть больше двух:
- •Алгоритм решения задачи
- •14.2. Однострочный вложенный If
- •14.3. Оператор выбора Select Case
- •Глава 15. Организация циклических программ в vba
- •15.1. Простые циклические программы с оператором if
- •15.2. Оператор цикла For ... Next
- •15.3. Операторы циклов типа Do (выполнить)
- •Использование операторов Do While и Do Until для организация цикла с защитой входа
- •Использование операторов Do While и Do Until для организация цикла с свободным входом в цикл (с послеусловием) Организация цикла с проверкой условия в конце цикла
- •Глава 16. Массивы данных в vbа
- •16.1. Характеристики и описание одномерных массивов
- •Одномерный массив состоит из ряда элементов.
- •Синтаксис описания статического одномерного массива: dim Имя (размерность массива) [ as тип массива ]
- •Общая блок - схема обработки элементов одномерного массива
- •16.2. Примеры обработки одномерных массивов
- •Сортировка числовых одномерных массивов
- •Алгоритм сортировки одномерного массива по возрастанию
- •16.3. Двумерный массив
- •Программа
- •Глава 17. Пользовательские процедуры типа Sub и Function в vba
- •17.1. Подпрограммы
- •17.2. Процедура типа Sub Синтаксис процедуры типа Sub
- •Вызов подпрограммы процедуры Sub
- •2 Способ.
- •17.3. Подпрограмма - процедура Function
- •Вызов подпрограммы - процедуры Function
- •Глава 18. Решение оптимизационных задач
- •18.1. Обработка электронных таблиц в среде vba
- •18.2. Применение процедуры Поиск решения для решения линейных оптимизационных задач
- •18. 3. Подготовка эт
- •Список литературы
- •Глава 1. Основные понятия информатики и компьютерной техники
- •Глава 8. Обработка статистических данных в Excel
- •Глава 10. Алгоритмизация вычислительных процессов
- •Глава 17. Пользовательские процедуры типа Sub и Function в vba
2 Способ.
Вызов выполняется отдельной строкой с указанием имени подпрограммы и без круглых скобок фактические параметры. Например: max a, b, r1 .
Пример 17.1.
При заданных a,b,c cоставить программную единицу для вычисления y= max(a,b) + max(a+b, c). Значение max определить в подпрограмме Sub.
Переменные в подпрограмме и основной программе описаны по умолчанию как тип Variant.
Sub max (ByVal N,ByVal M, R) ' Заголовок подпрограммы max
If N < M Then R = M Else R = N ' Выходной параметр R
End Sub ' Конец подпрограммы
В окне кода подпрограмма может быть расположена рядом с основной программой (до нее или после ее).
Private Sub Command1_Click() ' Основная программа
Dim a, b, c, y, r1, r2
a = Val(InputBox(" Введите а "))
b = Val(InputBox(" Введите b "))
c = Val(InputBox(" Введите c "))
Call max(a, b, r1) ' Первый вызов подпрограммы
Call max(a + b, c, r2) ' Второй вызов подпрограммы
y = r1 + r2 ' r1 и r2 - результаты работы подпрограммы
MsgBox " y=" & y
End Sub
17.3. Подпрограмма - процедура Function
Такую подпрограмму называют встроенной функцией ( подобно sin(x) ). В ней выполняется определенный набор операторов и возвращается один результат, присвоенный имени подпрограммы
Синтаксис процедуры Function:
[Public | Private] [Static] Function ИМЯ [(параметры)] [As тип]
[операторы процедуры]
[ИМЯ= результат работы подпрограммы - процедуры]
End Function
[Public | Private] [Static] – аналогично процедуре Sub.
Function - название процедуры. ИМЯ - имя процедуры .
параметры - в простейшем случае их называют формальными параметрами.
тип - тип имени процедуры Function.
Ниже приведена подпрограмма типа Function с именем max:
Function max (n As single, m As single ) As single
if n<m then max=m else max=n
End Function
Вызов подпрограммы - процедуры Function
Основным способом вызова подпрограммы Function является вызов из выражения вызывающей программы (из выражения оператора присваивания, оператора if и д.р.). Cам вызов состоит из имени подпрограммы, за которым в круглых скобках записываются фактические параметры, которые могут быть переменными и выражениями. При этом в подпрограмме формальные аргументы заменяются фактическими, выполняются ее операторы, и результат в виде имени подпрограммы возвращается в место вызова из основной программы. Если имени процедуры не присваивается никакого значения - числовая функция возвращает нулевое значение.
F
unction
max (n As single, m As single ) As single
y = max(a, b) + max(a+b,c)
1-й вызов 2-й вызов
Примечание 1.
По умолчанию формальные и фактические параметры должны быть согласованы по количеству, порядку следования и типу.
По умолчанию формальные параметры после работы подпрограммы возвращаются на место фактических. Такой возврат отменятся, если перед формальными параметрами введено ключевое слово ByVal.
Например, Function F (ByVal a, ByVal b). В этом случае a, b не возвращается на место c,d.
Примечание 2. Существует еще два способа вызова подпрограммы Function, в которых возвращаемое значение F теряется:
Отдельным оператором: Call F(c,d)
Отдельным именем и фактическими параметрами без скобок : F c,d
Пример 17.2. При заданных a,b,c cоставить программную единицу для вычисления y= max(a,b) + max(a+b, c). Значение max определить в подпрограмме Function, которая расположена ниже:
Function max(n As Single, m As Single) As Single ‘Заголовок подпрограммы
If n < m Then max = m Else max = n
End Function ‘ Конец подпрограммы
Основная программа:
Private Sub Command1_Click()
Dim a As Single
Dim b As Single
Dim c As Single
Dim y As Single
a = Val(InputBox(" Введите а "))
b = Val(InputBox(" Введите b "))
c = Val(InputBox(" Введите c "))
y = max(a, b) + max(a + b, c) ' 2 обращения к подпрограмме с именем max
MsgBox " y=" & y
End Sub
Во избежания ошибок в основной программе переменные описывать отдельными операторами Dim