- •Одесская национальная академия пищевых технологий
- •Программа дисциплины
- •Глава 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. Обозначения блоков в схемах алгоритмов
- •Литература
- •Содержание
Оформление протокола лабораторной работы
В заголовке лабораторной работы записать ее номер и цель проведения.
Записать условия индивидуальных заданий, математические формулировки задач и блок – схемы алгоритмов. Результаты оформить в текстовом редакторе под именем Лаб. 1.
Подготовиться для ответа на контрольные вопросы при защите лабораторной работы.
Контрольные вопросы
Перечислите этапы решения инженерных задач на ПК.
В чем смысл математической формулировки задачи?
Дайте определение алгоритма.
Чем алгоритм отличается от обычной инструкции?
Перечислите основные свойства алгоритма.
Дайте определение блок – схемы алгоритма.
Перечислите типы алгоритмических структур.
Дайте определение линейного алгоритма.
Какие функции выполняют блоки ввода – вывода алгоритма?
Какие блоки включаются в линейный алгоритм?
Дайте определение разветвляющегося алгоритма.
Какие функции выполняет логический блок?
Дайте определение простого циклического алгоритма.
Что такое цикл и параметр цикла?
Дайте определения тела цикла.
Приведите общепринятые положения организации цикла.
Сущность циклического алгоритма с предусловием и послеусловием?
Приведите пример циклического алгоритма с заданным числом циклов.
В чем сущность итерационного циклического алгоритма?
Л а б о р а т о р н а я р а б о т а № 2
Алгоритмы обработки одномерных и двумерных массивов
Цель работы: составление алгоритмов обработки одномерных и двумерных массивов. При подготовке к работе изучить теоретический материал (с.8 - 10 ).
Задание №1. Работа с одномерными массивами. Дан одномерный массив А=( аi ), i=1,2,...,12. Составить алгоритм для решения задач, представленных в табл. Л2.1. В заданиях предусмотрена обработка четных и нечетных по порядку следования элементов.
Таблица Л2.1 — Варианты для задания №1
Вар. № |
Условия заданий |
0 |
Найти минимальный элемент и значение его индекса среди четных элементов массива |
1 |
Найти минимальный и максимальный элементы, а также их индексы |
2 |
Для нечетных элементов найти сумму элементов при ai > 8 |
3 |
Определить сумму значения индексов всех отрицательных элементов |
4 |
Найти произведение элементов, удовлетворяющих условию с< ai < d , где с, d - заданные числа |
5 |
Вывести на экран четные элементы массива и их сумму |
6 |
Определить минимальный элемент при условии аi 0 |
7 |
Упорядочить элементы массива по убыванию и вывести на экран |
8 |
Найти сумму индексов элементов при условии аi > 0 |
9 |
Вычислить сумму первых четырех четных элементов массива |
10 |
Найти разность и сумму максимального и минимального элементов |
11 |
Найти число нулевых элементов и сумму их индексов |
12 |
Найти число ненулевых элементов и сумму их индексов |
13 |
Определить максимальный элемент из пяти последних элементов |
14 |
Найти минимальный элемент среди первых 6 элементов |
15 |
Вычислить произведение нечетных элементов массива ai >d |
16 |
Определить сумму четных элементов массива |
17 |
Определить число положительных и отрицательных элементов |
18 |
Вычислить сумму первых восьми элементов при аi < с |
19 |
Вычислить произведение индексов всех положительных элементов |
20 |
Вычислить сумму индексов всех отрицательных элементов |
21 |
Найти сумму индексов минимального и максимального элементов |
22 |
Вычислить произведение последних пяти нечетных элементов |
23 |
Упорядочить по возрастанию первые 10 элементов и вывести на экран |
24 |
Упорядочить по убыванию последние 10 элементов |
25 |
Вывести на экран индексы элементов при xi > c |
26 |
Вывести на экран индексы элементов xi < d |
27 |
Вычислить сумму и произведение четных элементов |
28 |
Найти число элементов, удовлетворяющих условию 4 < ai <8 |
29 |
Определить суммы четных и нечетных элементов |
30 |
Упорядочить элементы массива по возрастанию и вывести на экран |
Пример составления алгоритма – см. глава 1, рис. 1.10.
Задание №2. Дан двумерный массив (матрица) A=(aij ); i=1,2 ,..,n, j=1,2,...,m. Составить алгоритм для решения задач, представленных в табл. Л.2.2.
Таблица Л2.2 — Варианты для задания №1
№ вар. |
Условие |
Значение n |
Значение m |
1 |
Найти сумму положительных и отрицательных элементов матрицы |
4 |
4 |
2 |
Найти минимальный элемент главной диагонали матрицы |
4 |
4 |
3 |
Найти число нулевых и отрицательных элементов матрицы |
4 |
5 |
4 |
Найти сумму положительных элементов в каждом столбце матрицы |
5 |
5 |
5 |
Найти сумму отрицательных элементов в каждой строке матрицы |
4 |
4 |
6 |
Найти число отрицательных элементов в каждой строке матрицы |
3 |
4 |
7 |
Найти максимальный элемент матрицы и значение его индексов |
5 |
5 |
8 |
Найти минимальные элементы в каждой строке матрицы |
4 |
5 |
9 |
Найти максимальные элементы в каждом столбце матрицы |
3 |
3 |
10 |
Найти сумму элементов матрицы в каждом четном столбце |
2 |
6 |
11 |
Найти сумму элементов матрицы в каждом нечетном столбце |
2 |
5 |
12 |
В каждом столбце матрицы найти сумму положительных элементов |
3 |
4 |
13 |
Определить число столбцов, в которых нет отрицательных элементов |
2 |
4 |
14 |
В каждой строке определить сумму элементов, меньших числа 6 |
5 |
2 |
15 |
В каждом нечетном столбце матрицы найти минимальные элементы |
2 |
5 |
16 |
Найти индексы и сумму минимального и максимального элементов матрицы |
3 |
3 |
17 |
Определить индексы элементов матрицы aij< b |
3 |
5 |
18 |
Найти сумму индексов отрицательных и положительных элементов массива |
4 |
4 |
19 |
Определить произведение ненулевых элементов для каждого столбца матрицы |
2 |
5 |
20 |
Для каждой строки матрицы определить сумму элементов при условии aij >b |
4 |
3 |
21 |
Определить количество положительных элементов в каждом столбце матрицы |
2 |
5 |
22 |
Разделить элементы каждого столбца на последний элемент столбца |
3 |
4 |
23 |
Элементы каждой строки разделить на последний элемент строки |
4 |
2 |
24 |
Для каждой строки матрицы определить номера столбцов, имеющих нулевые элементы |
3 |
3 |
25 |
Определить индексы нулевых и отрицательных элементов матрицы |
4 |
4 |
26 |
Для каждого столбца матрицы определить номера строк, содержащих отрицательные элементы |
2 |
5 |
27 |
Для каждого столбца матрицы найти сумму нечетных элементов |
5 |
3 |
28 |
Элементы каждой строки матрицы разделить на первый элемент строки |
5 |
3 |
29 |
Элементы каждого столбца разделить на первый элемент столбца |
3 |
5 |
30 |
Найти сумму и произведение элементов главной диагонали матрицы |
4 |
4 |