
- •Н. Н. Пустовалова, т. В. Кишкурно
- •Информатика и компьютерная графика
- •Учебно-методическое пособие для студентов-заочников
- •Химико-технологических специальностей
- •Введение
- •1 Ознакомление со средой windows
- •1.1 Работа с мышкой и окнами
- •1.2 Создание, открытие и сохранение файлов
- •1.3 Операции копирования, перемещения, вставки
- •1.4 Поиск файла
- •1.5 Программы группы «Стандартные»
- •1.6 Содержание заданий
- •2 Текстовый редактор word
- •2.1 Ввод, редактирование и форматирование текста
- •2.2 Таблицы в текстовых документах
- •2.3 Работа с рисунками. Художественное оформление текстов
- •2.4 Математические формулы
- •2.5 Оформление текста
- •2. 6 Нумерация страниц, стили, оглавление
- •2. 7 Параметры страниц и печать
- •2.8 Содержание заданий
- •1.3. Текст программы
- •1.4. Вычисление суммы
- •Заключение
- •Оглавление
- •3 Приложение microsoft excel
- •3.1 Ввод и редактирование данных
- •3.2 Форматирование таблицы
- •3.3 Вычисления в Excel
- •3.4 Создание диаграмм. Вставка объектов и печать
- •3.5 Содержание заданий
- •Зарплата работников за январь
- •4 Использование vba в среде excel. Линейные программы.
- •4.1 Элементы управления
- •4.2 Среда редактора Visual Basic for Application
- •4.3 Основные конструкции vba
- •4.4 Линейные программы
- •4.5 Содержание заданий
- •5 Циклы в инженерных расчетах
- •5.1 Циклы For ... Next
- •5.2 Циклы Do...Loop
- •5.3 Содержание заданий
- •6 Программы с разветвлением. Условные операторы
- •6.1 Строчный и блочный условные операторы
- •6.2 Разветвляющиеся программы со сложными условиями
- •6.3 Содержание заданий
- •7 Вычисление сумм, произведений, экстремумов
- •7.1 Примеры вычисления сумм и произведений
- •7.2 Одномерные массивы. Вычисление экстремумов
- •7.3 Содержание заданий
- •8 Формы пользователя
- •8.1 Свойства и методы элементов управления. Списки
- •8.2 Пример работы с формой пользователя
- •8.3 Содержание заданий
- •9 Приложение mathcad
- •9.1 Ввод информации
- •9.2 Графики
- •9.3 Содержание заданий
- •10 Вычисление интегралов, решение уравнений и систем уравнений
- •10.1 Приближенное вычисление интегралов
- •10.2 Решение уравнений
- •2. Содержание задания
- •10.3 Решение систем линейных уравнений
- •10.4 Содержание заданий
- •11 Компьютерная графика
- •11.1 Виды графических изображений
- •10.2 Инструменты в графическом редакторе Adobe Photoshop
- •10.3 Слои и выделение графических изображений
- •10.4 Обработка изображений, ввод текста
- •10.5 Корректировка и использование фильтров
- •10.6 Примеры использования фильтров
- •10.7 Содержание заданий
- •12 Задания для контрольной работы
- •Задание № 1. Составление программ линейной структуры на языке vba
- •Задание № 2. Программирование алгоритмов циклической и разветвляющей структуры
- •Задание № 3. Вычисление сумм, произведений, нахождение минимумов и максимумов
- •Задание № 4. Вычисление интегралов и решение уравнений
- •Литература
- •Содержание
- •Информатика и компьютерная графика
- •220006. Минск, Свердлова. 13а.
- •220006. Минск, Свердлова. 13а.
4.5 Содержание заданий
1. Создать командную кнопку с заголовком «Пример расчета». Набрать для этой командной кнопки приведенный выше текст линейной программы и выполнить программу щелчком мыши по кнопке.
2. Создать командную кнопку c заголовком «Расчет по формулам» и записать для нее программу по условию, приведенному в табл. 4.2.
Выполнить программу и проанализировать результаты.
Таблица 4.2
№ |
Формула для вычислений |
Исходные данные |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
5 Циклы в инженерных расчетах
Если в программе необходимо повторить один оператор или последовательность операторов несколько раз, используются операторы циклов. Операторы циклов заключают такой оператор или группу операторов между ключевыми словами начала и конца цикла и определяют условия повтора выполнения. Параметром цикла называется переменная, которая используется при проверке условия цикла и принудительно изменяется на каждой итерации. Если параметр цикла целочисленный, он называется счетчиком цикла. Имеется большой выбор средств организации циклов, которые можно разделить на две группы: циклы For ... Next и циклы Do ... Loop
5.1 Циклы For ... Next
Циклы For…Next используются, когда заранее определено, сколько раз должны выполняться операторы цика.
For <счетчик> = <нач. значение> То <кон. значение> Step <приращение>
<операторы>
Next
В роли счетчика количества повторений в цикле может выступать любая переменная числового типа. Приращение может быть как положительным, так и отрицательным числом. Если приращение равно единице, то конструкция Step может быть опущена. Если приращение отрицательно, то начальное значение, естественно, должно быть больше конечного.
Например, в следующей программе счетчиком является переменная целого типа, увеличивающаяся на каждом шаге цикла на 1:
For i = 1 To 10
C=i^2
MsgBox C
Next
В результате выполнения программы будут выведены в окно сообщений квадраты целых чисел от 1 до 10.
В другом примере значения функции Sin(x) полученные на интервале от 0 до 1 с приращением аргумента 0,1, будут выведены в ячейки первого столбца рабочего листа Лист1 начиная с первой строки:
i=1 ‘ номер строки, в ячейки которой осуществляется вывод
For x = 0 To 1 Step 0.1
y=Sin(x)
Worksheets(“Лист1”).Cells(i, 1)=y
i=i+1 ‘номер строки увеличивается на 1
Next
5.2 Циклы Do...Loop
Циклы Do...Loop используются в тех случаях, когда заранее неизвестно, сколько раз должна выполняться расположенная в теле цикла группа операторов. Такой цикл продолжает работу до тех пор, пока не будет выполнено определенное условие. Существуют 4 типа операторов цикла Do...Loop:
1) Цикл с ключевым словом While продолжает свою работу, пока условие остается истинным, т.е. пока условие выполняется, и задается в двух вариантах, представленных ниже.
Do While <условие> <операторы > Loop |
Условие проверяется до того, как выполняется группа операторов, образующих тело цикла. |
Do <операторы> Loop While <условие> |
Условие проверяется после того, как операторы, составляющие тело цикла, будут выполнены хотя бы один раз. |
2) Цикл с ключевым словом Until продолжает свою работу, пока условие является ложным, т.е. условие не выполняется, и задается в двух вариантах, представленных ниже.
Do Until <условие> <операторы> Loop |
Условие проверяется до того, как выполняется группа операторов, образующих тело цикла. |
Do <операторы> Loop Until <условие> |
Условие проверяется после того, как операторы, составляющие тело цикла, будут выполнены хотя бы один раз. |
Если условие постоянно будет ложно, то программа зациклится. Чтобы этого не произошло, значения переменных, входящих в условие, должны изменяться в теле цикла. Если произошло зацикливание (зависание машины), надо прервать программу нажатием Ctrl + Break и исправить ошибку.
Пример 1. На складе ежедневно происходит обновление товара. Все данные о видах товара заносятся в таблицу рис. 5.1. Необходимо определить, какое количество видов товара находится на складе.
Для решения этой задачи необходимо подсчитать, количество записей в таблице. Для этого создадим командную кнопку и напишем для нее следующую процедуру:
Private Sub CommandButton1_Click()
i = 3 ‘строка с которой начинаются записи в таблице
Do Until Worksheets("Склад").Cells(i, 3) = "" ‘проверяется условие – не являеся ли строка пустой
i = i + 1 ‘подсчитывается количество заполненных строк
Loop
Worksheets("Склад").Cells(i + 4, 1) = "Общее количество видов"
Worksheets("Склад").Cells(i + 4, 3) = i
End Sub
Рис. 5.1 − Образец оформления рабочего листа для примера 1
Цикл будет работать до тех пор, пока не встретится пустая строка. В переменной i после окончания цикла будет записан номер строки, следующей за последней заполненной строкой таблицы. Результат выведется в первый и третий столбец на 4 строки ниже последней строки таблицы.
Пример
2.
Пусть необходимо вычислить значения
на интервалеx=3
(0,1) 4
(х
меняется от 3 до 4 с шагом 0,1).
Создадим командную кнопку и напишем для нее следующую процедуру:
Private Sub CommandButton1_Click()
x=3 : n=1
Do While x<=4
t=Sin(x)^2+Exp(3-x)
Worksheets(“Лист1”).Cells (1, n) =t
x=x+0.1 : n=n+1
Loop
End Sub
Перед началом цикла переменной x присваивается начальное значение 3. Затем в начале цикла проверяется условие x<=4, где 4 − конечное значение x. Если это условие верно, то выполняются все операторы, входящие в тело цикла и вычисляется значение x, увеличенное на величину шага. Как только условие x<=4 станет неверным, циклический процесс и выполнение программы завершается.
В этой программе в одной строке записано два оператора, разделенные двоеточием. Результаты вычислений размещаются в первой строке на рабочем листе Excel.
Пример
3. Пусть
нужно вычислить значение q
по формуле:
для z={1;
4; 7,5; 9; 15} и
a=3,
а также для значений z=0
(0,5) 5. Ввод
исходных данных должен осуществляться
из ячеек рабочего листа. Вывод результатов
надо организовать в ячейки на рабочем
листе Excel.
Составим две процедуры. Первую с использованием оператора цикла For ... Next и вторую с использованием оператора цикла Do...Loop. Для решения задачи оформим рабочий лист согласно образцу:
Рис. 5.2 − Образец оформления рабочего листа для примера 3
Для кнопки «Расчет For ... Next» составим следующую процедуру:
Private Sub CommandButton1_Click()
a = 3
j = 18 ' j − этономер строки, в которую введено первое значение z
For i = 1 To 5 ‘ счетчик количества значений переменной z
z = Worksheets("Лист4").Cells(j, 2)
q = Sqr(z ^ 2 + 8 * a) * Log(z + 0.5)
Worksheets("Лист4").Cells(j, 3) = q
j = j + 1
Next i
End Sub
Для кнопки «Расчет Do...Loop» процедура может иметь вид:
Private Sub CommandButton2_Click()
a = 3 : j = 18 : z = 1
Do While z <= 5
q = Sqr(z ^ 2 + 8 * a) * Log(z + 0.5)
Worksheets("Лист4").Cells(j, 8) = q
z = z + 0.5
j = j + 1
Loop
End Sub
Для проверки результатов вычислений с помощью формул Excel в ячейку D15 можно поместить формулу:
=КОРЕНЬ(B15^2+8*$J$7)*LN(B15+0,5).
Её надо скопировать в ячейки D16:D19 и в ячейки I15:I23. Результат расчета с помощью VBA и Excel должен совпасть.