- •Одесская национальная академия пищевых технологий
- •Программа дисциплины
- •Глава 1. Алгоритмизация вычислительных процессов Этапы решения инженерных задач на пк
- •1.1. Алгоритм и его свойства
- •Типы алгоритмических структур
- •1.2. Линейные и разветвляющиеся алгоритмы
- •1.3. Простые циклические алгоритмы
- •1.4. Циклические алгоритмы обработки массивов
- •Двумерные массивы
- •А) ввод по строкам в) ввод по столбцам
- •Глава 2. Система программирования Visual Basic for Applications (vba)
- •2.1. Основные положения
- •2.2. Некоторые определения
- •Стандартный модуль (Module)
- •2.3. Запуск и элементы окна редактора vba
- •Глава 3. Пример создания проекта в vba и типы данных
- •3.1. Порядок действий на пк при создании проекта
- •3.2. Элементы языка vba
- •Данные в vba
- •3.3. Описание переменных
- •Глава 4. Выражения в vba и ввод – вывод данных
- •4.1. Выражения в vba
- •4.2. Операторы присваивания и способы ввода данных Оператор присваивания
- •Способы ввода данных
- •Для ввода
- •4.3. Способы вывода данных
- •Глава 5. Организация разветвляющихся программ
- •5.1. Операторы управления goto, if
- •Условный оператор управления if
- •5.3. Оператор выбора Select Case
- •Глава 6. Организация циклических программ в vba
- •6.1. Простые циклические программы с оператором if
- •6.2. Оператор цикла For ... Next
- •6.3. Операторы циклов типа Do (выполнить)
- •Использование операторов Do While и Do Until для организация цикла с защитой входа
- •Использование операторов Do While и Do Until для организация цикла с свободным входом в цикл (с послеусловием) Организация цикла с проверкой условия в конце цикла
- •Глава 7. Массивы данных в vbа
- •7.2. Примеры обработки одномерных массивов
- •Сортировка числовых одномерных массивов
- •Алгоритм сортировки одномерного массива по возрастанию
- •7.3. Двумерный массив
- •Программа
- •Глава 8. Пользовательские процедуры типа Sub и Function в vba
- •8.1. Подпрограммы
- •Вызов подпрограммы процедуры Sub
- •2 Способ.
- •8.3. Подпрограмма - процедура Function
- •Вызов подпрограммы - процедуры Function
- •Глава 9. Решение оптимизационных задач
- •9.1. Обработка электронных таблиц в среде vba
- •9.2. Применение процедуры Поиск решения для решения линейных оптимизационных задач
- •9. 3. Подготовка эт
- •Линейные, разветвляющиеся и циклические алгоритмы
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Алгоритмы обработки одномерных и двумерных массивов
- •Оформление протокола лабораторной работы
- •Задание №1. Создать простейший проект ″Приветствие″ в vba:
- •1. Разработка интерфейса пользователя.
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Линейные программы в vba
- •Пример составления программы для нулевого варианта задания
- •Private Sub CommandButton1_Click() ′ Заголовок процедуры отклика
- •Разработка проектов в vba по разветвляющимся программам
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Циклические программы в vba
- •End Sub ‘ Конец процедуры отклика
- •End Sub ‘ Конец процедуры отклика
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Обработка одномерных массивов в vbа
- •Порядок выполнения задания №1.
- •Пример выполнения лабораторной работы
- •3. Интерфейс на рис. Л7.1. Вывод результата решения по условию нулевого варианта не в окно TextBox1, а в окно отладки Immediate Window.
- •4. Процедура отклика кнопки 1:
- •Результат решения в окне отладки Immediate Window (рис. Л7.3).
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Дайте определение одномерного массива.
- •Обработка двумерных массивов в vbа
- •Порядок выполнения задания №1.
- •Пример выполнения лабораторной работы
- •Оформление протокола лабораторной работы
- •Программная единица
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Обработка эт в среде vbа
- •Оформление протокола лабораторной работы
- •Приложение 1. Обозначения блоков в схемах алгоритмов
- •Литература
- •Содержание
4.2. Операторы присваивания и способы ввода данных Оператор присваивания
Синтаксис оператора: имя переменной = выражение;
- выражение может быть арифметическим, логическим или строковым. Функционирование оператора - вычисляет выражение и присваивает его значение имени переменной. Переменная в левой части и выражение в правой части должны быть одного типа. Исключением является переменная типа Variant, которая принимает тип переменной, стоящей справа.
Примеры: s:= (a+b)*h/2 ; с:= d > 7.5
Способы ввода данных
1. Ввод данных с помощью оператора присваивания:
V=2.5 - таким образом, в ячейку V будет введено число 2.5
2. Ввод данных с помощью функция InputBox(), которая записывается в операторе присваивания. Синтаксис сокращенного представления функции :
v
Рис.
4.1. Диалоговое
окно
Для ввода
Переменной V присваивается результат работы функции InputBox;
приглашение – обязательная текстовая переменная или константа.
Запишем фрагмент программы ввода:
Dim V As String
V= InputBox (“Введите слово”)
При работе функции выводится диалоговое окно с приглашением на ввод информации в текстовом поле (рис. 4.1). После ввода данных функция возвращает их как строчные данные. Если мы ввели строку Начало работы в 8.00, то переменной V будет присвоена эта строка.
Введенные числовые данные возвращаются функцией как строчные, поэтому при вводе числа необходимо использовать функцию Val, преобразующую строку в число. Например, требуется ввести значение переменной а= 13.65 .
Запишем фрагмент программы ввода:
Dim a As single
a= Val(inputBox( " Введите значение а "))
Синтаксис
полного представления функции inputBox(),
включает н
Рис.
4.2. Ввод числа 13.65
[ввод по умолчанию ] , [гориз. расположение окна ] , [верт. расположение окна ] , [помощь ] , [ контекст ].
3.
Фрагмент
программы ввода данных
с помощью окна TextBox
на форме (
Рис.
4.3. Ввод в окно TextBox
Dim a As single
a= Val(TextBox1.Text)
4.3. Способы вывода данных
В
Рис. 4.4. Окно отладки Immediate
TextBox1.text= a
Вывод переменной а в окно отладки Immediate (рис. 4.4).
Debug.Print "a="; a
Синтаксис оператора:
D
Рис.
4.5. Окно MsgBox
Окно отладки удобно использовать для вывода данных в циклических программах.
Вывод в отдельное окно c помощью оператора MsgBox (рис. 4.5):
MsgBox "a=" & a
Синтаксис сокращенного представления оператора:
MsgBox сообщение [, константа ] [, заголовок окна ]
Сообщение — текстовая константа и/или переменная;
Некоторые значения константы: 0 - вывод кнопки ОК; 1 - вывод кнопок ОК
и Отмена; 16 -значок об ошибке.
Н
Рис.4.6. Окно MsgBox
а= 13.65
MsgBox " Значение а= " & a, 1 , "Вычисление длины "
П
Рис.
4.7.
Private Sub CommandButton1_Click()
Dim a, b, y As Single
a = 223.2345: b = 3.45678
y = a + b
MsgBox "y=" & Format(y, "###.##")
End Sub